Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
1
Programowanie sieciowe Laboratorium 3
Zadania klasyfikacji
2
Plan 1. Dane mnist 2. Perceptron wielowarstwowy z jedną warstwą
ukrytą do zadania klasyfikacji 3. Serwis
3
Dane mnist
4
Klasyfikacja wieloklasowa
Kodowanie wyjścia hot-one n-ta klasa => [0 0 … 1 … 0] n-ta pozycja Model perceptronu wielowarstowego z jedną warstwą ukrytą do zadania klasyfikacji Funkcja softmax na wyjściu sieci dla klasyfikacji wieloklasowej
5
Cross-entropia logistyczna jako funkcja celu
function-in-neural-networks
6
Algorytmy uczenia punkt startowy optymalizacji
class sklearn.neural_network.MLPClassifier(hidden_layer_sizes=(100, ), activation=’relu’, solver=’adam’, alpha=0.0001, batch_size=’auto’, learning_rate=’constant’, learning_rate_init=0.001, power_t=0.5, max_iter=200, shuffle=True, random_state=None, tol=0.0001, verbose=False, warm_start=False, momentum=0.9, nesterovs_momentum=True, early_stopping=False, validation_fraction=0.1, beta_1=0.9, beta_2=0.999, epsilon=1e-08, n_iter_no_change=10) Konfiguracja algorytmów szukania minimum funkcji błędu Wielokrotne starty optymalizacji GridSearchCV learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV .html#sklearn.model_selection.GridSearchCV
7
Algorytmy uczenia perceptronu wielowarstwowego
'adam', 'lbfgs', 'sgd' solver : {‘lbfgs’, ‘sgd’, ‘adam’}, default ‘adam’ The solver for weight optimization. ‘lbfgs’ is an optimizer in the family of quasi-Newton methods. ‘sgd’ refers to stochastic gradient descent. ‘adam’ refers to a stochastic gradient-based optimizer proposed by Kingma, Diederik, and Jimmy Ba
8
Przegląd zupełny przestrzeni hiper-parametrów
Liczba neuronów Współczynnik uczenia Użyty algorytm do treningu
9
Sposób budowy klasyfikatora
1. Robimy skanowanie skanowanie przestrzenie parametrów takich jak algorytm, liczba neuronów 10:10:300, oraz parametr uczenie 0.1,0.01,0.001, Skanowanie może zostać wykonane za pomocą polecenia GridSearchCV albo zaimplementowane w 3 zagnieżdżonych pętlach. 1.1 Dla każdego zestawu parametrów trenujemy sieć za pomocą MLPClassfier i sprawdzamy jego dzialanie na zbiorze walidacyjnym (tzn danych, które nie były użyte do treningu ani do wyliczania funkcji celu). 2. Pętla, w której dzielimy zbiór danych treningowych na część treningową i testową w stosunku 70% dane treningowe, 30% dane testowe za pomocą polecenia learn.org/stable/modules/generated/sklearn.model_selection.train_test_split.html Pętla ma wykonać 100 iteracji – ma więc wygenerować 100 różnych podziałów zbioru treningowego. 2. Dla każdego podziału i dla aktualnego modelu zbieramy wartość funkcji celu oraz błąd na zbiorze walidacyjnym. 3. Rozwiązaniem jest ten klasyfikator, który ma najmniejszy średni błąd na zbiorze walidacyjnym.
10
Drugie zadanie Kaggle.com - klasyfikacja
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.