Algorytm k-means jest zaimplementowany w module scipy.cluster.vq (vq: vector quantization) ([dokumentacja]). Mamy tam funkcję
|
|
- Liliana Skrzypczak
- 7 lat temu
- Przeglądów:
Transkrypt
1 Spis treści 1 Algorytm k-means 1.1 Przykładowy kod. 2 Segmentacja obrazu algorytmem k-means 3 Algorytm EM: implementacja 3.1 Funkcje pomocnicze 3.2 Szkielet algorytmu 3.3 Program Algorytm k-means Algorytm k-means jest zaimplementowany w module scipy.cluster.vq (vq: vector quantization) ([dokumentacja]). Mamy tam funkcję kmeans(obs, k_or_guess, iter=20, thresh=1e-05) optymalizującą położenia centroidów, oraz pomocniczą funkcję vq przypisującą poszczególne obserwacje do skupisk reprezentowanych przez centroidy. Przed zapuszczeniem algorytmu k-means na danych dobrze jest przeskalować każdą z cech w macierzy wejściowej, tak aby miała jednostkową wariancję. Można to zrobić za pomoca funkcji whiten. Przykładowy kod. Kod ten pokazuje jak: wygenerować symulowane dane przeskalować je, tak aby miały jednostkową wariancję w każdej z cech. podzielić je na dwa skupiska zilustrować wynik from pylab import plot,show from numpy import vstack,array from numpy.random import rand from scipy.cluster.vq import kmeans,vq,whiten # generujemy dane: # dwuwymiarowych punktów z rozkładu jednorodnego ze średnią (1,1) # dwuwymiarowych punktów z rozkładu jednorodnego ze średnią (0.5,0.5)
2 data = vstack((rand(150,2) + array([.5,.5]),rand(150,2))) data = whiten(data) # policz K-Means dla K = 2 (2 skupiska) centroids,_ = kmeans(data,2) # przypisz wektory wejściowe do skupisk idx,_ = vq(data,centroids) # narysuj wyniki plot(data[idx==,],data[idx==,1],'ob', data[idx==1,],data[idx==1,1],'or') plot(centroids[:,],centroids[:,1],'sg',markersize=8) show() Segmentacja obrazu algorytmem k-means W tym ćwiczeniu zapoznamy się z zastosowaniem algorytmu analizy skupień do segmetacji obrazu. Segmentacja tegotypu może stanowic etap wstępnego przetwarzania na potrzeby np. detekcji obiektów lub klasyfikacji. W zadaniu tym zapoznamy sie także z metodą dobierania atumatycznie ilości skupisk. Obrazek na którym będziemy pracować, proszę go zapisać w bieżącym katalogu: Najpierw importujemy i oglądamy obrazek: from pylab import plot,show,figure,imshow,cm, imread, axis import numpy as np from scipy.cluster.vq import kmeans,vq
3 im = imread('skan.png') # Oryginalny obrazek miał przestrzeń barwną RGB. # Spłaszczamy przestrzeń barwną obrazka im = im.mean(axis=2) #oglądamy obrazek imshow(im, cmap=cm.gray) axis('off') show() imshow(im, cmap=cm.gray) axis('off') show() Teraz zamieniamy rysunek (dwuwymiarowa tablica 256x256) na wektor (o długości 256*256 ) data = im[:] data.shape = 256*256,1 Teraz będziemy próbować podzielić ten wektor na skupiska (w liczbie od 2 do 9). Dla każdej konkretnej ilości skupisk obliczamy dwie wielkości: - to jest miara odległości wewwnątrz centrów: równanie na J : to najmniejsza odległości między centrami K_max = 9 J_inter = np.ones(k_max)*1e16 J_intra = np.zeros(k_max) centroids =[] for K in range(2,k_max): trial = while (len(centroids)<k)&(trial<20): centroids,j_intra[k] = kmeans(data,k) trial+=1 print 'K: ',K, len(centroids) for ki in range(len(centroids)): for kj in range(ki): print ki, kj print centroids[ki] print centroids[kj] ################ ## dopisz kod obliczający odległość między centrami i oznacz ją d ################ # jeśli uzyskana odległość jest mniejsza niż dotychczas zapamiętana to ją zapamiętujemy:
4 if J_inter[K]>d: J_inter[K]=d print K, J_intra[K],J_inter[K] Wykreślamy stosunek i znajdujemy K dla którego jest najmniejszy: figure(1) plot(range(2,k_max),j_intra[2:]/j_inter[2:]) K_opt = np.argmin(j_intra[2:]/j_inter[2:])+2 print K_opt Dla tej optymalnej ilości skupisk znajdujemy położenia centrów i przypisujemy klasę dla każdego punktu danych: centroids,j_intra[k] = kmeans(data,k_opt) # przypisujemy klasę idx,_ = vq(data,centroids) Formatujemy wektor w obrazek i podziwiamy efekt: idx.shape = 256,256 figure(2) imshow(idx, cmap=cm.gray) show() Dla porównania proszę wykreślić histogram odcieni szarości dla wekotra data. Algorytm EM: implementacja W celu zapoznania się z algorytmem EM zaimplementujemy go. Program, który powstanie po uzupełnieniu kodu powinien ilustrować dopasowywanie modelu EM do danych będzących sumą dwóch rozkładów gaussowskich:
5 Funkcje pomocnicze Najpierw standardowe importy i kilka funkcji pomocniczych: # -*- coding: utf-8 -*- import matplotlib matplotlib.use('tkagg') import pylab as py import random, copy import numpy as np import sys def pnorm(x, m, s): """ Oblicza gęstość wielowymiarowego rozkładu normalnego dla punktów w wektorze x
6 Parametry rozkładu : m - średnia s- macierz kowariancji dla zwiększenia czytelności kodu stosujemy typ matrix """ xm = np.matrix(x-m) xmt = np.matrix(x-m).transpose() for i in xrange(len(s)): # zabezpieczenie dla większej stabliności numerycznej if s[i,i] <= sys.float_info[3]: # min float s[i,i] = sys.float_info[3] sinv = np.linalg.inv(s) return (2.0*np.pi)**(-len(x)/2.0)*(1.0/np.sqrt(np.linalg.det(s)))\ *np.exp(-0.5*(xm*sinv*xmt)) def draw_params(t,nbclusters): '''funkcja do losowania parametrów początkowych t - zbiór treningowy ''' nbobs,nbfeatures = t.shape # inicjuje średnie przez losowanie punktu ze zbioru danych tmpmu = np.array([t[random.uniform(,nbobs),:]],np.float64) # kowariancje inicjowane są jako macierze diagonalne, wariancja dla każdej cechy inicjowana jest jako wariancja tej cechy dla całego zbioru sigma = np.zeros((nbfeatures,nbfeatures)) for f in range(nbfeatures): sigma[f,f] = np.var(t[:,f]) #phi inicjujemy tak, że każda składowa mieszanki ma takie samee prawdopodobieństwo phi = 1.0/nbclusters print 'INIT:',tmpmu,sigma,phi return {'mu': tmpmu,\ 'sigma': sigma,\ 'phi': phi} def plot_gauss(mu,sigma): ''' Funkcja rysująca kontury funkcji gęstości prawdopodobieństwa dwuwymiarowego rozkładu Gaussa''' x = np.arange(-6.0, , 0.1) y = np.arange(-6.0, , 0.1) X,Y = np.meshgrid(x, y) X.shape = 1,len(x)*len(y) Y.shape = 1,len(x)*len(y) P = np.vstack((x,y))
7 invs = np.linalg.inv(sigma) R = P.T-mu z = np.zeros(len(r)) for i in range(len(r)): z[i] = np.exp(-0.5*np.dot( R[i,:].T,np.dot(invS,R[i,:]))) z.shape = len(x),len(y) py.contourf(x,y,z,alpha = 0.5) py.plot(mu[],mu[1],'o') Szkielet algorytmu Poniższy kod to szkielet właściwej funkcji wykonującej optymalizację. Trzeba go uzupełnić implementując równania z wykładu. Proszę uważnie czytać komentarze. def expectation_maximization(t, nbclusters=2, nbiter=3, normalize=false,\ epsilon=0.001, monotony=false, datasetinit=true): """ t - zbiór treningowy, Każdy wiersz t jest przykładem (obserwacją), każda kolumna to cecha 'nbclusters' ilość klastrów, z których budujemy model mieszany 'nbiter' ilość iteracji 'epsilon' kryterium zbieżności Powtórz kroki E i M aż do spełnienia warunku E_t - E_{t-1} < ε Funkcja zwraca parametry modelu (centra i macerze kowariancji Gaussów i ich wagi \phi) oraz etykiety punktów zbioru treningowego oznaczające do którego z Gaussów w modelowanej mieszance należą. """ nbobs,nbfeatures = t.shape ### Opcjonalna normalizacja if normalize: for f in xrange(nbfeatures): t[:,f] /= np.std(t[:,f]) result = {} random.seed()
8 # szykujemy tablice na prawdopodobieństwa warunowe Pz = np.zeros((nbobs,nbclusters)) # P(z x): opisywane równaniami (2) i (3) z wykładu Px = np.zeros((nbobs,nbclusters)) # P(x z): opisywane równaniem (4) # inicjujemy parametry dla każdego składnika mieszankni # params będzie listą taką, że params[i] to słownik # zawierający parametry i-tego składnika mieszanki params = [] for i in xrange(nbclusters): params.append( draw_params(t,nbclusters) ) old_log_estimate = sys.maxint log_estimate = sys.maxint/2 + epsilon estimation_round = # init # init # powtarzaj aż zbiegniesz while (abs(log_estimate - old_log_estimate) > epsilon\ and (not monotony or log_estimate < old_log_estimate)): restart = False old_log_estimate = log_estimate ######################################################## # krok E: oblicz Pz dla każdego przykładu (czyli w oznaczeniach z wykładu w_i^j) ######################################################## # obliczamy prawdopodobieństwa Px[j,i] = P(x_j z_j=i) for j in xrange(nbobs): # iterujemy po przykładach for i in xrange(nbclusters): # iterujemy po składnikach Px[j,i] = pnorm(t[j,:], params[i]['mu'], params[i]['sigma']) # (równanie 4) # obliczamy prawdopodobieństwa Pz[j,i] = P(z_j=i x_j) # najpierw licznik równania (3) for j in xrange(nbobs): for i in xrange(nbclusters): Pz[j,i] =...*params[i]['phi'] # mianownik równania (3) for j in xrange(nbobs): tmpsum = 0.0 for i in xrange(nbclusters): tmpsum +=... # składamy w całość Pz[j,i] = P(z_j=i x_j) Pz[j,:] /= tmpsum ########################################################### # krok M: uaktualnij paramertry (sets {mu, sigma, phi}) #
9 ########################################################### #print "iter:", iteration, " estimation#:", estimation_round,\ # " params:", params for i in xrange(nbclusters): print " " # parametr phi: równanie (6) Sum_w = np.sum(pz[:,i]) params[i]['phi'] = Sum_w/nbobs if params[i]['phi'] <= 1.0/nbobs: # restartujemy jeśli zanika nam któraś składowa mieszanki restart = True print "Restarting, p:",params[i]['phi'] break print 'i: ',i,' phi: ', params[i]['phi'] # średnia: równanie (7) m = np.zeros(nbfeatures) for j in xrange(nbobs): m +=... params[i]['mu'] = m/sum_w print 'i: ',i,' mu: ', params[i]['mu'] # macierz kowariancji: równanie (8) s = np.matrix(np.zeros((nbfeatures,nbfeatures))) for j in xrange(nbobs): roznica = np.matrix(t[j,:]-params[i]['mu']) s += Pz[j,i]*(roznica.T*roznica) params[i]['sigma'] = s/sum_w print params[i]['sigma'] ### Testujemy czy składniki się nie sklejają i w razie potrzeby restartujemy if not restart: restart = True for i in xrange(1,nbclusters): if not np.allclose(params[i]['mu'], params[i-1]['mu'])\ or not np.allclose(params[i]['sigma'], params[i-1]['sigma']): restart = False break if restart: old_log_estimate = sys.maxint # init log_estimate = sys.maxint/2 + epsilon # init params = [draw_params(t,nbclusters) for i in xrange(nbclusters)] # losujemy nowe parametry startowe print 'RESTART'
10 continue #################################### # liczymy estymatę log wiarygodności: równaie (1) # #################################### log_estimate = np.sum([np.log(np.sum(\ [Px[j,i]*params[i]['phi'] for i in xrange(nbclusters)]))\ for j in xrange(nbobs)]) print "(EM) poprzednia i aktualna estymata log wiarygodności: ",\ old_log_estimate, log_estimate estimation_round += 1 ########################## # rysujemy aktualny stan modelu ########################## py.ioff() py.clf() py.ion() for i in xrange(nbclusters): plot_gauss(np.array(params[i]['mu']),np.array(params[i]['sigma'])) py.plot(x[:,],x[:,1],'g.') py.axis('equal') py.draw() # Pakujemy wyniki result['quality'] = -log_estimate result['params'] = copy.deepcopy(params) result['clusters'] = [[o for o in xrange(nbobs)\ if Px[o,c] == max(px[o,:])]\ for c in xrange(nbclusters)] return result Program Przykładowy program korzystający z powyższych funkcji: ########################################## # PROGRAM ######################################### # robimy mieszankę dwóch gaussów: #parametry rozkładu
11 # wektor średnich: mu1 = [-2,-3] # macierz kowariancji: Sigma1 = np.array([[1, 0.5], [0.5, 1]]) # generujemy dane: x1 = np.random.multivariate_normal(mu1, Sigma1, 150) # mu2 = [-0.5,2] # macierz kowariancji: Sigma2 = np.array([[3, 0.5], [0.5, 1]]) # generujemy dane: x2 = np.random.multivariate_normal(mu2, Sigma2, 150) # # łączymy x1 i x2 aby otrzymac jeden zbiór x = np.vstack((x1,x2)) py.plot(x[:,],x[:,1],'g.') py.axis('equal') py.show() py.figure() res = expectation_maximization(x, nbclusters=2, nbiter=3, normalize=false,\ epsilon=0.001, monotony=false, datasetinit=true) py.ioff() py.show() # wypisz parametry print 'Dopasowany model: ' print res['params'] Aby obliczyć gęstość prawdopodobieństwa rozkładu mieszanego dla pewnego nowego punktu "x" możemy zastosować poniższą funkcję: def prob_mix(params, x): '''params - parametry dopasowanego gaussowskiego modelu mieszanego x - punkt wejścowy, funkcja zwraca gestość prawdopodobieństwa, dla x w rozkładzie mieszanym ''' prob = for i in range(len(params)): prob+= pnorm(x, params[i]['mu'], params[i]['sigma']) * params[i]['phi'] return prob # przykładowe użycie: x=(6,-4)
12 print 'P(x=(',str(x),')):', prob_mix(res['params'], x)
Celem tych ćwiczeń jest zapoznanie się z klasyfikacją za pomocą sieci neuronowych.
Spis treści 1 Wstęp 1.1 Importy 2 Zbiór uczący 3 Klasyfikacja 3.1 Rysunki dodatkowe 4 Polecenia dodatkowe Wstęp Celem tych ćwiczeń jest zapoznanie się z klasyfikacją za pomocą sieci neuronowych. Importy
Algorytmy, które estymują wprost rozkłady czy też mapowania z nazywamy algorytmami dyskryminacyjnymi.
Spis treści 1 Wstęp: generatywne algorytmy uczące 2 Gaussowska analiza dyskryminacyjna 2.1 Gaussowska analiza dyskryminacyjna a regresja logistyczna 3 Naiwny Klasyfikator Bayesa 3.1 Wygładzanie Laplace'a
Zadania z rysowania i dopasowania funkcji
Spis treści 1 Zadania z rysowania i dopasowania funkcji 1.1 Znajdowanie miejsca zerowego funkcji 1.2 Wczytywanie danych i wykres 1.3 Dopasowywanie krzywej do danych i wykres 1.3.1 Wskazówki Zadania z rysowania
Ćwiczenia z przetwarzania tablic 2D
Ćwiczenia z przetwarzania tablic 2D Wyświetlanie tablic 2D Jako wstęp do przetwarzania obrazów w pythonie przećwiczmy podstawowe operacje na dwuwymiarowych tablicach numpy w postaci których będziemy takie
Algorytm grupowania danych typu kwantyzacji wektorów
Algorytm grupowania danych typu kwantyzacji wektorów Wstęp Definicja problemu: Typowe, problemem często spotykanym w zagadnieniach eksploracji danych (ang. data mining) jest zagadnienie grupowania danych
Metody systemowe i decyzyjne w informatyce
Metody systemowe i decyzyjne w informatyce Laboratorium MATLAB Zadanie nr 2 Detekcja twarzy autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się algorytmem gradientu prostego
Algorytm grupowania danych typu kwantyzacji wektorów
Algorytm grupowania danych typu kwantyzacji wektorów Wstęp Definicja problemu: Typowe, rozważane dotychczas problemy koncentrowały się na nauczeniu na podstawie zbioru treningowego i zbioru etykiet klasyfikacji
Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa
Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa M. Czoków, J. Piersa 2012-01-10 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego 3 1 Łańcucha Markowa 2 Istnienie Szukanie stanu stacjonarnego
Elementy statystyki wielowymiarowej
Wnioskowanie_Statystyczne_-_wykład Spis treści 1 Elementy statystyki wielowymiarowej 1.1 Kowariancja i współczynnik korelacji 1.2 Macierz kowariancji 1.3 Dwumianowy rozkład normalny 1.4 Analiza składowych
Wykresy i interfejsy użytkownika
Wrocław, 07.11.2017 Wstęp do informatyki i programowania: Wykresy i interfejsy użytkownika Wydział Matematyki Politechniki Wrocławskiej Andrzej Giniewicz Dzisiaj na zajęciach... Instrukcje sterujące Biblioteka
Spis treści. Optymalizacja jednowymiarowa
Spis treści 1 Optymalizacja jednowymiarowa 2 Optymalizacja wielowymiarowa 2.1 Zadanie - rozkład Cauchy'ego 2.2 Rozwiązanie 2.3 Zadanie - Data Container 2.4 Rozwiązanie Optymalizacja jednowymiarowa Omawianie
Podstawy biblioteki Matplotlib
Podstawy biblioteki Matplotlib Krzysztof Gdawiec Instytut Informatyki Uniwersytet Śląski Matplotlib jest biblioteką Pythona służącą do tworzenia różnego rodzaju wykresów. Biblioteka ta od samego początku
Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova
Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21 1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3 Łańcuch Markova Definicja Własności Losowanie z rozkładu
CMAES. Zapis algorytmu. Generacja populacji oraz selekcja Populacja q i (t) w kroku t generowana jest w następujący sposób:
CMAES Covariance Matrix Adaptation Evolution Strategy Opracowanie: Lidia Wojciechowska W algorytmie CMAES, podobnie jak w algorytmie EDA, adaptowany jest rozkład prawdopodobieństwa generacji punktów, opisany
Zadanie: Filtr adaptywny
Spis treści 1 Zadanie: Filtr adaptywny 1.1 Przygotuj sygnały: 1.2 Symulacja sieci 1.3 Wykresy 1.4 Szkielet rozwiązania: 1.5 Pytania Zadanie: Filtr adaptywny W tym zadaniu symulujemy działanie filtra, który
Metody systemowe i decyzyjne w informatyce
Metody systemowe i decyzyjne w informatyce Laboratorium JAVA Zadanie nr 2 Rozpoznawanie liter autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się z problemem klasyfikacji
Dokumentacja. Kalibracja parametrów modelu Hestona za rozszerzonego filtra Kalmana. Mikołaj Bińkowski Wiktor Gromniak
Dokumentacja Kalibracja parametrów modelu Hestona za pomoca rozszerzonego filtra Kalmana Mikołaj Bińkowski Wiktor Gromniak Spis treści 1 Wstęp 2 2 Struktura katalogów 2 3 Zależności 2 4 Funkcje 3 4.1 heston_calibr_kalman..........................
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki
Akademia Górniczo-Hutnicza Wydział Elektrotechniki, Automatyki, Informatyki i Elektroniki Przetwarzanie Sygnałów Studia Podyplomowe, Automatyka i Robotyka. Wstęp teoretyczny Zmienne losowe Zmienne losowe
Klasyfikator liniowy Wstęp Klasyfikator liniowy jest najprostszym możliwym klasyfikatorem. Zakłada on liniową separację liniowy podział dwóch klas między sobą. Przedstawia to poniższy rysunek: 5 4 3 2
Spis treści. Widmo mocy. Obliczanie mocy sygnału. Analiza_sygnałów_-_ćwiczenia/Fourier_4
Analiza_sygnałów_-_ćwiczenia/Fourier_4 Spis treści 1 Widmo mocy 1.1 Obliczanie mocy sygnału 1.1.1 Zadanie 1: Moc i energia sygnału w dziedzinie czasu 1.1.2 Zadanie 2: Moc i energia sygnału w dziedzinie
Wrocław, Wstęp do informatyki i programowania: liczby pierwsze. Wydział Matematyki Politechniki Wrocławskiej.
Wrocław, 28.11.2017 Wstęp do informatyki i programowania: liczby pierwsze Wydział Matematyki Politechniki Wrocławskiej Andrzej Giniewicz Dzisiaj na zajęciach... Zajmiemy się liczbami pierwszymi... liczby
Optymalizacja systemów
Optymalizacja systemów Laboratorium - problem detekcji twarzy autorzy: A. Gonczarek, J.M. Tomczak, S. Zaręba, P. Klukowski Cel zadania Celem zadania jest zapoznanie się z gradientowymi algorytmami optymalizacji
KADD Metoda najmniejszych kwadratów funkcje nieliniowe
Metoda najmn. kwadr. - funkcje nieliniowe Metoda najmniejszych kwadratów Funkcje nieliniowe Procedura z redukcją kroku iteracji Przykłady zastosowań Dopasowanie funkcji wykładniczej Dopasowanie funkcji
Metody systemowe i decyzyjne w informatyce
Metody systemowe i decyzyjne w informatyce Laboratorium MATLAB Zadanie nr 3 Detekcja twarzy autorzy: A. Gonczarek, J.M. Tomczak, S. Zaręba, M. Zięba Cel zadania Celem zadania jest zaimplementowanie algorytmów
Równania różniczkowe zwyczajne
Równania różniczkowe zwyczajne Zajmiemy się teraz problemem numerycznego rozwiązywania równań różniczkowych zwyczajnych o postaci: z warunkeim początkowym. Zauważmy że przykładowe równanie różniczkowe
Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek
Strategie ewolucyjne Gnypowicz Damian Staniszczak Łukasz Woźniak Marek Strategie ewolucyjne, a algorytmy genetyczne Podobieństwa: Oba działają na populacjach rozwiązań Korzystają z zasad selecji i przetwarzania
Rozpoznawanie obrazów
Rozpoznawanie obrazów Laboratorium Python Zadanie nr 1 Regresja liniowa autorzy: A. Gonczarek, J.M. Tomczak, S. Zaręba, M. Zięba, J. Kaczmar Cel zadania Celem zadania jest implementacja liniowego zadania
Podstawy OpenCL część 2
Podstawy OpenCL część 2 1. Napisz program dokonujący mnożenia dwóch macierzy w wersji sekwencyjnej oraz OpenCL. Porównaj czasy działania obu wersji dla różnych wielkości macierzy, np. 16 16, 128 128, 1024
Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów
Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa Diagnostyka i niezawodność robotów Laboratorium nr 3 Generacja realizacji zmiennych losowych Prowadzący: mgr inż. Marcel Luzar Cele ćwiczenia: Generowanie
Algorytmy estymacji stanu (filtry)
Algorytmy estymacji stanu (filtry) Na podstawie: AIMA ch15, Udacity (S. Thrun) Wojciech Jaśkowski Instytut Informatyki, Politechnika Poznańska 21 kwietnia 2014 Problem lokalizacji Obserwowalność? Determinizm?
Rozpoznawanie obrazów
Rozpoznawanie obrazów Laboratorium Python Zadanie nr 3 Regresja logistyczna autorzy: A. Gonczarek, J.M. Tomczak, S. Zaręba, M. Zięba, J. Kaczmar Cel zadania Celem zadania jest zaimplementowanie modelu
Co to jest grupowanie
Grupowanie danych Co to jest grupowanie 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 Szukanie grup, obszarów stanowiących lokalne gromady punktów Co to jest grupowanie
Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu
Data Mining Wykład 9 Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster Plan wykładu Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne Sformułowanie problemu
Instrukcje. Spis treści. Hipoteza. Parametry
Spis treści 1 Instrukcje 1.1 Hipoteza 1.2 Parametry 1.3 Wyniki 2 Kod 3 Walidacja 3.1 Zastosowanie w naszym przykładzie 3.1.1 Krzywa ROC Instrukcje W tym ćwiczeniu zbudujemy klasyfikator bazujący na regresji
Metody Rozmyte i Algorytmy Ewolucyjne
mgr inż. Wydział Matematyczno-Przyrodniczy Szkoła Nauk Ścisłych Uniwersytet Kardynała Stefana Wyszyńskiego Podstawowe operatory genetyczne Plan wykładu Przypomnienie 1 Przypomnienie Metody generacji liczb
BIBLIOTEKA NUMPY, CZĘŚĆ 2
BIBLIOTEKA NUMPY, CZĘŚĆ 2 1. Podstawowe operatory Operacje arytmetyczne wykonywane są na każdym elemencie tablicy 1.1. Operacje arytmetyczne Przykład 1: #inicjujemy dane a = np.array( [20,30,40,50] ) b
Metody systemowe i decyzyjne w informatyce
Metody systemowe i decyzyjne w informatyce Laboratorium MATLAB Zadanie nr 1 Regresja liniowa autorzy: A. Gonczarek, J.M. Tomczak Cel zadania Celem zadania jest zapoznanie się z liniowym zadaniem najmniejszych
Wprowadzenie do Python
Wprowadzenie do Python Marcin Orchel 1 Środowisko Python Zalecane korzystanie z dystrybucji Anaconda. W systemie linux może być już dostępny Python. Sprawdzenie wersji Pythona, python -V. Uruchomienie
SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska.
SYSTEMY UCZĄCE SIĘ WYKŁAD 10. PRZEKSZTAŁCANIE ATRYBUTÓW Częstochowa 2014 Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska INFORMACJE WSTĘPNE Hipotezy do uczenia się lub tworzenia
Niezawodność diagnostyka systemów laboratorium. Ćwiczenie 2
dr inż. Jacek Jarnicki doc. PWr Niezawodność diagnostyka systemów laboratorium Ćwiczenie 2 1. Treść ćwiczenia Generowanie realizacji zmiennych losowych i prezentacja graficzna wyników losowania. Symulacja
SPOTKANIE 6: Klasteryzacja: K-Means, Expectation Maximization
Wrocław University of Technology SPOTKANIE 6: Klasteryzacja: K-Means, Expectation Maximization Jakub M. Tomczak Studenckie Koło Naukowe Estymator jakub.tomczak@pwr.wroc.pl 4.1.213 Klasteryzacja Zmienne
Spis treści. Wstęp. Regresja
Spis treści 1 Wstęp 2 Regresja 2.1 Regresja liniowa 2.1.1 Przykład: Dopasowanie prostej do punktów (zakładamy jednakową wariancję Y dla każdego X) 2.1.2 Ocena jakości dopasownia 2.1.2.1 Współczynnik 2.1.2.2
Metody systemowe i decyzyjne w informatyce
Metody systemowe i decyzyjne w informatyce Laboratorium Zadanie nr 3 Osada autor: A Gonczarek Celem poniższego zadania jest zrealizowanie fragmentu komputerowego przeciwnika w grze strategiczno-ekonomicznej
WHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
WHILE (wyrażenie) instrukcja;
INSTRUKCJE ITERACYJNE WHILE, DO WHILE, FOR Instrukcje iteracyjne pozwalają powtarzać daną instrukcję programu określoną liczbę razy lub do momentu osiągnięcia określonego skutku. Pętla iteracyjna while
Modele i wnioskowanie statystyczne (MWS), sprawozdanie z laboratorium 1
Modele i wnioskowanie statystyczne (MWS), sprawozdanie z laboratorium 1 Konrad Miziński, nr albumu 233703 1 maja 2015 Zadanie 1 Parametr λ wyestymowano jako średnia z próby: λ = X n = 3.73 Otrzymany w
Matematyka stosowana i metody numeryczne
Ewa Pabisek Adam Wosatko Piotr Pluciński Matematyka stosowana i metody numeryczne Konspekt z wykładów Błędy obliczeń Błędy można podzielić na: modelu, metody, wejściowe (początkowe), obcięcia, zaokrągleń..
Fuzja sygnałów i filtry bayesowskie
Fuzja sygnałów i filtry bayesowskie Roboty Manipulacyjne i Mobilne dr inż. Janusz Jakubiak Katedra Cybernetyki i Robotyki Wydział Elektroniki, Politechnika Wrocławska Wrocław, 10.03.2015 Dlaczego potrzebna
Metody Metody, parametry, zwracanie wartości
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Metody Metody, parametry, zwracanie wartości Metody - co to jest i po co? Metoda to wydzielona część klasy, mająca
Wstęp do metod numerycznych Zadania numeryczne 2016/17 1
Wstęp do metod numerycznych Zadania numeryczne /7 Warunkiem koniecznym (nie wystarczającym) uzyskania zaliczenia jest rozwiązanie co najmniej 3 z poniższych zadań, przy czym zadania oznaczone literą O
Przedmiotowy Konkurs Informatyczny LOGIA powołany przez Mazowieckiego Kuratora Oświaty
Zadanie Zawijasy LOGIA 18 (2017/18), etap 2 Treść zadania Tablica Polibiusza jest kwadratową tabelą zawierającą litery alfabetu łacińskiego. Kolumny numerujemy od 0 do 4, a wiersze od 1 do 5. Kodujemy
UKŁADY ALGEBRAICZNYCH RÓWNAŃ LINIOWYCH
Transport, studia I stopnia rok akademicki 2011/2012 Instytut L-5, Wydział Inżynierii Lądowej, Politechnika Krakowska Ewa Pabisek Adam Wosatko Uwagi wstępne Układ liniowych równań algebraicznych można
Podstawowe operacje na macierzach
Podstawowe operacje na macierzach w pakiecie GNU octave. (wspomaganie obliczeń inżynierskich) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z tworzeniem macierzy i wektorów w programie GNU octave.
Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 8. Filtracja uśredniająca i statystyczna.
Politechnika Świętokrzyska Laboratorium Cyfrowe przetwarzanie sygnałów Ćwiczenie 8 Filtracja uśredniająca i statystyczna. Cel ćwiczenia Celem ćwiczenia jest zdobycie umiejętności tworzenia i wykorzystywania
Obliczenia Naukowe. Wykład 12: Zagadnienia na egzamin. Bartek Wilczyński
Obliczenia Naukowe Wykład 12: Zagadnienia na egzamin Bartek Wilczyński 6.6.2016 Tematy do powtórki Arytmetyka komputerów Jak wygląda reprezentacja liczb w arytmetyce komputerowej w zapisie cecha+mantysa
Robert Susmaga. Instytut Informatyki ul. Piotrowo 2 Poznań
... Robert Susmaga Instytut Informatyki ul. Piotrowo 2 Poznań kontakt mail owy Robert.Susmaga@CS.PUT.Poznan.PL kontakt osobisty Centrum Wykładowe, blok informatyki, pok. 7 Wyłączenie odpowiedzialności
i proste algorytmy numeryczne LABORKA Piotr Ciskowski
Macierze i proste algorytmy numeryczne LABORKA Piotr Ciskowski przykład 1. zabawy z macierzami wygeneruj macierze Pascala różnych rozmiarów, wydedukuj z nich zasadę tworzenia» pascal ( 5 ) przykład 1.
Maciej Piotr Jankowski
Reduced Adder Graph Implementacja algorytmu RAG Maciej Piotr Jankowski 2005.12.22 Maciej Piotr Jankowski 1 Plan prezentacji 1. Wstęp 2. Implementacja 3. Usprawnienia optymalizacyjne 3.1. Tablica ekspansji
Ćwiczenia z mainuplacji obrazem rozpocznijmy od wczytania pliku, który będziemy przetwarzać. Dla fizyków medycznych naturalnie będzie to plik DICOM.
Spis treści 1 Manipulacja obrazem 1.1 Jasność 1.2 Gamma 1.3 Próg 1.4 Schodek 1.5 Rozmycie i wyostrzenie Manipulacja obrazem Ćwiczenia z mainuplacji obrazem rozpocznijmy od wczytania pliku, który będziemy
Rozdział 7 ZARZĄDZANIE PROJEKTAMI
Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 7 ZARZĄDZANIE PROJEKTAMI 7.2. Ćwiczenia komputerowe Ćwiczenie 7.1 Wykorzystując
Wstęp do sieci neuronowych, wykład 03 Warstwy RBF, jednostka Adaline.
Wstęp do sieci neuronowych, wykład 3 Warstwy, jednostka Adaline. Maja Czoków, Jarosław Piersa Wydział Matematyki i Informatyki, Uniwersytet Mikołaja Kopernika 211-1-18 1 Pomysł Przykłady Zastosowanie 2
Statystyka. Wykład 5. Magdalena Alama-Bućko. 20 marca Magdalena Alama-Bućko Statystyka 20 marca / 26
Statystyka Wykład 5 Magdalena Alama-Bućko 20 marca 2017 Magdalena Alama-Bućko Statystyka 20 marca 2017 1 / 26 Koncentracja Analiza struktury zbiorowości miary położenia ( miary średnie) miary zmienności
Laboratorium nr 1. i 2.
Laboratorium nr 1. i 2. Celem laboratorium jest zapoznanie się ze zintegrowanym środowiskiem programistycznym, na przykładzie podstawowych aplikacji z obsługą standardowego wejścia wyjścia, podstawowych
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność
Zaawansowane metody numeryczne
Wykład 11 Ogólna postać metody iteracyjnej Definicja 11.1. (metoda iteracyjna rozwiązywania układów równań) Metodą iteracyjną rozwiązywania { układów równań liniowych nazywamy ciąg wektorów zdefiniowany
Odczytywanie i zapisywanie obrazów rastrowych do plików, operacje punktowe na tablicach obrazów
Laboratorium 1 Odczytywanie i zapisywanie obrazów rastrowych do plików, operacje punktowe na tablicach obrazów Konfiguracja systemu WinPython 3.6/ 3.7 Otworzyć konsolę Python a WinPython Command Prompt
Program MC. Obliczyć radialną funkcję korelacji. Zrobić jej wykres. Odczytać z wykresu wartość radialnej funkcji korelacji w punkcie r=
Program MC Napisać program symulujący twarde kule w zespole kanonicznym. Dla N > 100 twardych kul. Gęstość liczbowa 0.1 < N/V < 0.4. Zrobić obliczenia dla 2,3 różnych wartości gęstości. Obliczyć radialną
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych
Algorytmy decyzyjne będące alternatywą dla sieci neuronowych Piotr Dalka Przykładowe algorytmy decyzyjne Sztuczne sieci neuronowe Algorytm k najbliższych sąsiadów Kaskada klasyfikatorów AdaBoost Naiwny
Programowanie dynamiczne
Programowanie dynamiczne Ciąg Fibonacciego fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2), gdzie n 2 Elementy tego ciągu stanowią liczby naturalne tworzące ciąg o takiej własności, że kolejny wyraz (z wyjątkiem
Wstęp do programowania
Wstęp do programowania Wykład 5 Podstawowe techniki programownia w przykładach Janusz Szwabiński Plan wykładu: Metoda babilońska wyliczania pierwiastka Liczby pierwsze i sito Eratostenesa Metoda bisekcji
Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych
Rozwiązywanie układów równań liniowych metody dokładne Materiały pomocnicze do ćwiczeń z metod numerycznych Piotr Modliński Wydział Geodezji i Kartografii PW 13 stycznia 2012 P. Modliński, GiK PW Rozw.
Programowanie Współbieżne. Algorytmy
Programowanie Współbieżne Algorytmy Sortowanie przez scalanie (mergesort) Algorytm :. JEŚLI jesteś rootem TO: pobierz/wczytaj tablice do posortowania JEŚLI_NIE to pobierz tablicę do posortowania od rodzica
Podstawowe modele probabilistyczne
Wrocław University of Technology Podstawowe modele probabilistyczne Maciej Zięba maciej.zieba@pwr.edu.pl Rozpoznawanie Obrazów, Lato 2018/2019 Pojęcie prawdopodobieństwa Prawdopodobieństwo reprezentuje
x y
Przykłady pytań na egzamin końcowy: (Uwaga! Skreślone pytania nie obowiązują w tym roku.). Oblicz wartość interpolacji funkcjami sklejanymi (przypadek (case) a), dla danych i =[- 4 5], y i =[0 4 -]. Jaka
Parametryzacja obrazu na potrzeby algorytmów decyzyjnych
Parametryzacja obrazu na potrzeby algorytmów decyzyjnych Piotr Dalka Wprowadzenie Z reguły nie stosuje się podawania na wejście algorytmów decyzyjnych bezpośrednio wartości pikseli obrazu Obraz jest przekształcany
Estymacja parametrów, przedziały ufności etc
Estymacja parametrów, przedziały ufności etc Liniowa MNK przypomnienie Wariancja parametrów Postulat Bayesa: rozkłady p-stwa dla parametrów Przypadek nieliniowy Przedziały ufności Rozkłady chi-kwadrat,
Rozwiązywanie układów równań liniowych
Rozwiązywanie układów równań liniowych Marcin Orchel 1 Wstęp Jeśli znamy macierz odwrotną A 1, to możęmy znaleźć rozwiązanie układu Ax = b w wyniku mnożenia x = A 1 b (1) 1.1 Metoda eliminacji Gaussa Pierwszy
Naszym zadaniem jest rozpatrzenie związków między wierszami macierzy reprezentującej poziomy ekspresji poszczególnych genów.
ANALIZA SKUPIEŃ Metoda k-means I. Cel zadania Zadaniem jest analiza zbioru danych, gdzie zmiennymi są poziomy ekspresji genów. Podczas badań pobrano próbki DNA od 36 różnych pacjentów z chorobą nowotworową.
Matlab, zajęcia 3. Jeszcze jeden przykład metoda eliminacji Gaussa dla macierzy 3 na 3
Matlab, zajęcia 3. Pętle c.d. Przypomnijmy sobie jak działa pętla for Możemy podać normalnie w Matlabie t=cputime; for i=1:20 v(i)=i; e=cputime-t UWAGA: Taka operacja jest bardzo czasochłonna i nieoptymalna
Podstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Sposoby opisu i modelowania zakłóceń kanałowych
INSTYTUT TELEKOMUNIKACJI ZAKŁAD RADIOKOMUNIKACJI Instrukcja laboratoryjna z przedmiotu Podstawy Telekomunikacji Sposoby opisu i modelowania zakłóceń kanałowych Warszawa 2010r. 1. Cel ćwiczeń: Celem ćwiczeń
PDF created with FinePrint pdffactory Pro trial version http://www.fineprint.com
Analiza korelacji i regresji KORELACJA zależność liniowa Obserwujemy parę cech ilościowych (X,Y). Doświadczenie jest tak pomyślane, aby obserwowane pary cech X i Y (tzn i ta para x i i y i dla różnych
Rozpoznawanie obrazów
Rozpoznawanie obrazów Ćwiczenia lista zadań nr 7 autorzy: A. Gonczarek, J.M. Tomczak Przykładowe problemy Klasyfikacja binarna Dla obrazu x zaproponowano dwie cechy φ(x) = (φ 1 (x) φ 2 (x)) T. Na obrazie
Lista 6. Kamil Matuszewski 13 kwietnia D n =
Lista 6 Kamil Matuszewski 3 kwietnia 6 3 4 5 6 7 8 9 Zadanie Mamy Pokaż, że det(d n ) = n.... D n =.... Dowód. Okej. Dla n =, n = trywialne. Załóżmy, że dla n jest ok, sprawdzę dla n. Aby to zrobić skorzystam
Pakiety Matematyczne - R Zestaw 1.
Pakiety Matematyczne - R Zestaw 1. Zadania z kasynem pochodzą ze strony datacamp.com Instalacja pakietu R Strona główna projektu: http://www.r-project.org/ Instalacja: http://r.meteo.uni.wroc.pl/ (jedno
Matematyka stosowana i metody numeryczne
Ewa Pabisek Adam Wosatko Piotr Pluciński Matematyka stosowana i metody numeryczne Konspekt z wykładu 6 Rozwiązywanie równań nieliniowych Rozwiązaniem lub pierwiastkiem równania f(x) = 0 lub g(x) = h(x)
Rozdział 8. Regresja. Definiowanie modelu
Rozdział 8 Regresja Definiowanie modelu Analizę korelacji można traktować jako wstęp do analizy regresji. Jeżeli wykresy rozrzutu oraz wartości współczynników korelacji wskazują na istniejąca współzmienność
Wykład z Technologii Informacyjnych. Piotr Mika
Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły
Rozglądanie się w przestrzeni Iris czyli kręcenie (głową/płaszczyzną) w czterech wymiarach
Rozglądanie się w przestrzeni Iris czyli kręcenie (głową/płaszczyzną) w czterech wymiarach maja, 7 Rozglądanie się w D Plan Klasyka z brodą: zbiór danych Iris analiza składowych głównych (PCA), czyli redukcja
Modelowanie rynków finansowych z wykorzystaniem pakietu R
Modelowanie rynków finansowych z wykorzystaniem pakietu R Metody numeryczne i symulacje stochastyczne Mateusz Topolewski woland@mat.umk.pl Wydział Matematyki i Informatyki UMK Plan działania 1 Całkowanie
Interpolacja krzywymi sklejanymi stopnia drugiego (SPLINE-2)
Jacek Złydach (JW) Wstęp Interpolacja krzywymi sklejanymi stopnia drugiego (SPLINE-) Implementacja praktyczna Poniższa praktyczna implementacja stanowi uzupełnienie teoretycznych rozważań na temat interpolacji
Ćwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Testowanie hipotez statystycznych.
Bioinformatyka Wykład 9 Wrocław, 5 grudnia 2011 Temat. Test zgodności χ 2 Pearsona. Statystyka χ 2 Pearsona Rozpatrzmy ciąg niezależnych zmiennych losowych X 1,..., X n o jednakowym dyskretnym rozkładzie
Kwantyle. Kwantyl rzędu p rozkładu prawdopodobieństwa to taka liczba x p. , że. Możemy go obliczyć z dystrybuanty: P(X x p.
Kwantyle Kwantyl rzędu p rozkładu prawdopodobieństwa to taka liczba x p, że P(X x p ) p P(X x p ) 1 p Możemy go obliczyć z dystrybuanty: Jeżeli F(x p ) = p, to x p jest kwantylem rzędu p Jeżeli F(x p )
LABORATORIUM PODSTAW TELEKOMUNIKACJI
WOJSKOWA AKADEMIA TECHNICZNA im. Jarosława Dąbrowskiego w Warszawie Wydział Elektroniki LABORATORIUM PODSTAW TELEKOMUNIKACJI Grupa Podgrupa Data wykonania ćwiczenia Ćwiczenie prowadził... Skład podgrupy:
Ekonometryczne modele nieliniowe
Ekonometryczne modele nieliniowe Wykład 10 Modele przełącznikowe Markowa Literatura P.H.Franses, D. van Dijk (2000) Non-linear time series models in empirical finance, Cambridge University Press. R. Breuning,
AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT. Instrukcja do zajęc laboratoryjnych nr 6 AUTOMATYKA
AKADEMIA MORSKA W SZCZECINIE WI-ET / IIT / ZTT Instrukcja do zajęc laboratoryjnych nr 6 AUTOMATYKA II rok Kierunek Transport Temat: Transmitancja operatorowa. Badanie odpowiedzi układów automatyki. Opracował
Metody klasyfikacji danych - część 1 p.1/24
Metody klasyfikacji danych - część 1 Inteligentne Usługi Informacyjne Jerzy Dembski Metody klasyfikacji danych - część 1 p.1/24 Plan wykładu - Zadanie klasyfikacji danych - Przeglad problemów klasyfikacji
Egzamin z Metod Numerycznych ZSI, Egzamin, Gr. A
Egzamin z Metod Numerycznych ZSI, 06.2007. Egzamin, Gr. A Imię i nazwisko: Nr indeksu: Section 1. Test wyboru, max 33 pkt Zaznacz prawidziwe odpowiedzi literą T, a fałszywe N. Każda prawidłowa odpowiedź
Programowanie dynamiczne cz. 2
Programowanie dynamiczne cz. 2 Wykład 7 16 kwietnia 2019 (Wykład 7) Programowanie dynamiczne cz. 2 16 kwietnia 2019 1 / 19 Outline 1 Mnożenie ciągu macierzy Konstruowanie optymalnego rozwiązania 2 Podstawy