Professional Documents
Culture Documents
Wykład 2
• Żeby mieć rozwiązanie potrzeba znaleźć wagi w i bias. Wyznaczamy je na podstawie zbioru
uczącego.
• w = [w1,w2, …,wp] bias: b
• # weight w has shape (p, 1)
• # bias b is a scalar
• # data x has shape (p, 1)
• y_hat = (x*w).sum() + b
Model
• Uogólniając wykorzystując przygotowane dane chcemy znaleźć funcję
liniową opisującą w zależności od wejść
Chcemy na podstawie zbioru uczącego znaleźć f(), która będzie poprawnie działała na zbiorze T
danych testowych
Miarą jakości (poprawności) działania jest oczekiwana wartość funkcji straty 𝑙(f, 𝑥,𝑦)]
Nasze działanie:
1. Zebrać zbiór danych
2. Podzielić zbiór na uczący i testowy
3. Wybrać funkcję straty
4. Znaleźć parametry modelu (w naszym przypadku
współczynniki w i bias b) minimalizując funkcję straty
(OPTYMALIZACJA)
Funkcja celu (straty, błąd)
Żeby wyuczyć parametry musimy mieć jakąś miarę y
jakości
Tutaj wykorzystamy błąd średniokwadratowy
(Mean Square Error MSE )
objaśniana
Zmienna
Jest to odległość danego punktu od wyznaczonej
prostej (odcinek na czerwono)
Nasz przybliżony wynik z równania prostej
Błąd MSE
Błąd średniokwadratowy (ang. Mean
Square Error MSE)
(𝑓𝑤)=
MSE
w2
𝑤𝑖𝑙𝑒𝑘𝑜ść
Przyjmując, że 𝑙(𝑤, , )=( )2
Wagi obliczane są po każdym wzorcu
=−𝜂𝑡𝛻𝑙(, , )=𝑤𝑡−2𝜂𝑡()
- współczynnik uczenia, waga
liczba wzorców,
Znajdujemy współczynniki prostej np:
Model regresji w zadaniu klasyfikacji
binarnej w postaci neuronu
Parametry modelu (𝜃 =wagi i bias) znajdowane są
iteracyjnie w procedurze uczenia.
w w1 Uczenie odbywa się metodą LMS – ang.Least Mean
x1
z =𝑤𝑇 𝑥
^𝑦
Square (minimalizacja błędu między yi a zi )
x2 w2 1.Zastosować wektor xt do wejść Adaline
ADALINE 2.Określić wartość błędu kwadratowego
(𝑤𝑡𝑇𝑥𝑡−𝑦t)2
• Wprowadzamy dodatkowe
wejście w0 nazywane biasem 3.Obliczyć gradient (przyrost wag)
• Sygnał na tym połączeniu jest
= -2 ()𝑥𝑡
zawsze równy 1.
• Na wyjściu jest funkcja skokowa 4.Uaktualnić wagi następująco:
• W odpowiedzi na wyjściu
otrzymujemy albo 0, albo 1
• Czy nie lepiej zastosować inną 5.Powtarzać kroki 1 do 4 dla następnego wektora
funkcję zamiast skokowej? wejściowego, dopóki błąd nie osiągnie wystarczająco małej
wartości.
Użycie liniowej regresji do
klasyfikacji
• Regresja: etykiety rzeczywistoliczbowe
• Klasyfikacja binarna (wartości binarne)
• Klasyfikacja wieloklasowa:
Kodowanie wyjścia w postaci wektora „1 z
n” (ang. one hot),
gdzie i-te wyjście jest pewnością
rozpoznania klasy.
Liniowa regresja w zadaniu
binarnej klasyfikacji
Mając dany zbiór trenujący {<>: 1≤𝑖≤𝑛} z rozkładu 𝐷
Należy znaleźć 𝑓𝑤(𝑥)=𝑥, która minimalizuje:
Redukujemy wyjście do 𝑦i∈{0,1},bo
(𝑓𝑤)= rozpatrujemy dwie klasy
Mamy do czynienia z 2 klasami, z których jedną kodujemy jako zero a drugą jako
jeden.
Wystarczy nam jedno wyjście, które może przyjmować 2 binarne wartości.
Regresja logistyczna – do klasyfikacji
Funkcja ograniczona, wartości
pomiędzy 0 a 1, y∈(0,1).
𝐿 ( 𝑤 ) =− ∑ log 𝜎 ( 𝑤 𝑥𝑡 ) −
^ ∑
𝑇
log ¿ ¿
𝑦 𝑖 =1 𝑦 𝑖= 0
=+𝑦𝑡
gdzie:
𝑎=
Wzór na wyznaczanie
parametrów
Klasyfikacja binarna – regresja
logistyczna
Przygotowujemy zbiór uczący:
Etykieta wyjściowa ma 0 lub 1.
Przykład: model został
wyuczony do określania czy
przyznać kredyt.
Dane wejściowe tak jak poprzednio Przychodzi klient opisywany
Na wyjściu nigdy nie dostaniemy dokładnie cechami :
0 lub dokładnie 1. wiek 50
W trakcie uczenia dążymy, aby odpowiedzi zarobki 10000
były jak najbliżej 0 lub jak najbliżej 1 dla
l. osób na 5
przeciwnej klasy Wyuczony model utrzymaniu
regresji logistycznej
𝑥1 płeć K
𝑥2 ^𝑦
𝑇 Chcemy wiedzieć czy takiej
𝑥3
𝑤 𝑥
osobie przyznać kredyt. Jeśli
odpowiedzieć będzie bliska 0
𝑥4
tzn. NIE jeśli bliska 1 to TAK.
Zbiór danych
Jeśli funkcjonowanie modelu jest zbyt dobre, bardzo prawdopodobny jest błąd
w kodzie.
Zbiór walidujący ma zduplikowane przykłady ze zbioru trenującego => to się
często zdarza przy połączeniu różnych zbiorów danych