Klasyfikatory liniowe

49
Klasyfikatory liniowe Linear classifiers JERZY STEFANOWSKI Institute of Computing Sciences, Poznań University of Technology UM – slajdy wykładu Wersja specjalna dla 2019

Transcript of Klasyfikatory liniowe

Page 1: Klasyfikatory liniowe

Klasyfikatory liniowe Linear classifiers

JERZY STEFANOWSKI Institute of Computing Sciences, Poznań University of Technology

UM – slajdy wykładu Wersja specjalna dla 2019

Page 2: Klasyfikatory liniowe

Plan

1.  Liniowe klasyfikatory 2.  Klasyczne liniowa analiza dyskryminacyjna

3.  Sformułowanie probabilistyczne

4.  Inne zagadnienia – uczenie perceptronu

5.  W stronę SVM

Page 3: Klasyfikatory liniowe

Przykład – dokumentacja R nt. discriminant analysis [za G.Martos]

•  Admission data for applicants to graduate schools in business. The objective is to use the GPA and GMAT scores to predict the likelihood of admission (admit, notadmit, and borderline).

•  'http://www.biz.uiowa.edu/faculty/jledolter/DataMining/admission.csv'

Page 4: Klasyfikatory liniowe

Formalizacja problemu klasyfikacji •  W przestrzeni danych (ang. measurement space) Ω znajdują

się wektory danych x stanowiące próbkę uczącą D, należące do dwóch lub więcej K klas

•  Klasyfikacja jest dokonywana na podstawie funkcji będącej liniową kombinacją p cech i parametrów

•  Dążymy do sytuacji

•  i/lub minimalizacji błędów klasyfikacji

( ){ }Nikip

iii CCcRxcD 11 },...{,|, =∈∈= x

),( wxfy =

iii cfy == ),( wx

ii cy ≠

Page 5: Klasyfikatory liniowe

Liniowa funkcja separująca (graniczna) •  Szukamy klasyfikatora

pozwalającego na podział całej przestrzeni na obszary odpowiadającej klasom (dwie lub więcej) oraz pozwalającego jak najlepiej klasyfikować nowe obiekty x do klas

•  Podejście opiera się na znalezieniu tzw. granicy decyzyjnej między klasami → f(x)=wT⋅x

x

y

⎩⎨⎧

∈<

∈>=

2

1

)()(

CTfCTf

yii

ii

xxxx

Page 6: Klasyfikatory liniowe

Różne podejścia do budowy klasyfikatorów liniowych

•  Podejścia generatywne (probabilistyczne) •  Analiza dyskryminacyjna (związ. z

rozkładem normalnym)

•  Wersja klasyfikacji Bayesowskiej (dwumianowy rozkład)

•  Podejścia wykorzystujące własności zbioru uczącego •  Perceptron liniowy Rosenblata (iteracyjne

poprawki wag)

•  Metoda wektorów nośnych (max. marginesu klasyfikatora)

•  Regresja logistyczna

Page 7: Klasyfikatory liniowe

Różne podejścia do budowy klasyfikatorów liniowych

•  Podejścia generatywne (probabilistyczne) •  Analiza dyskryminacyjna

•  Fisher-owska analiza i tzw. LDA

•  Wersja klasyfikacji Bayesowskiej (dwumianowy rozkład)

•  Podejścia wykorzystujące własności zbioru uczącego

•  Perceptron liniowy Rosenblata (iteracyjne poprawki wag)

•  Metoda wektorów nośnych (max. marginesu klasyfikatora)

•  Regresja logistyczna

Page 8: Klasyfikatory liniowe

Co jest celem analizy dyskryminacyjnej •  Podejście statystyczne do problemów

klasyfikowania obiektów (term. ang. Discriminant Analysis)

•  Oryginalnie wprowadzona przez R.A.Fishera (1936) dla funkcji liniowych (2 klasy),

•  Metody probabilistyczne – B.Welch .

•  Dostępna w wielu programach, np. SAS, SPSS, R lub Statistica,…

•  Liczne zastosowania

•  …

Page 9: Klasyfikatory liniowe

Liniowa analiza dyskryminacyjna •  Problem wprowadzony przez R.A.Fishera w 1936

dla wielowymiarowej przestrzeni atrybutów (zmiennych liczbowych) – dyskryminacja 2 klas

•  Fisher oryginalnie zaproponował poszukiwanie kierunku projekcji, na którym można dobrze rozdzielić zrzutowane obie klasy •  Średnie w klasach są dostatecznie oddalone od

siebie

•  Obszary rozrzutu (rozproszenia, zmienności) obu klas nie nakładają się zbyt mocno.

Page 10: Klasyfikatory liniowe

Rysunek i tekst Elements of Statistical Learning: Friedman, Hastie, Tibushirani

Intuicja projekcji w Fisher’s Linear Discriminant [EST}

„From training set we want to find out a direction where the separation between the class means is high and overlap between the classes is small”

Page 11: Klasyfikatory liniowe

Trochę uwag matem. o projekcji •  Dysponujemy przykładami uczącymi opisanymi p -cechami x=[x1,x2,

…,xp]T należącymi do dwóch klas C1 i C2 (odpowiednio n1 i n2)

•  Wektory p-wymiarowe x są zrzutowane na prostą (kierunek związany z parametrami w). Algebraicznie odpowiada to zastąpieniu ich skalarem z = wT⋅x . Celem jest taki dobór w aby na podstawie nowej zmiennej z przykłady z obu klas były jak najlepiej rozdzielone.

Page 12: Klasyfikatory liniowe

Założenia co do danych •  Fisher – dość ograniczone założenia: wektor p wartości

oczekiwanych E(x) oraz rozproszenie charakteryzowane przez macierz kowariancji Σ=Cov(x)=E[(x-E(x))⋅[(x-E(x))T]

•  Estymatory

•  Wariancja po rzutowaniu x na prosta o wektorze kierunkowym w

∑ == ni ixn

x 11

∑ = −⋅−−

= ni

Tii xxxx

n 1 )()(11S

wwxw Σ= TTVar )(

Page 13: Klasyfikatory liniowe

Sformułowanie problemu Fisher LDA

Cel •  Maksymalizuj odległość zrzutowanych średnich klas

•  Minimalizuj wariancje wewnątrz klasową

•  Odległość między rzutami średnich

•  Fisher założył, że obie klasy mają taką samą macierz kowariancji S=S1+S2. Dlatego wskaźnik zmienności wewnątrzgrupowej (wspólnej dla obu klas) zdefiniowany jest jako:

•  Pamiętaj, że po rzutowaniu mamy

221 )( xwxw TT −

kk kW Snn

S ∑ = −−

= 21 )1(

21

ww WTS

Page 14: Klasyfikatory liniowe

Co optymalizować?

•  Czy różnica między rzutami średnich wystarcza?

Page 15: Klasyfikatory liniowe

Sformułowanie problemu Fisherian LDA •  W celu maksymalizacji odległości rzutów średnich klas i

minimalizacji wariancji wewnątrzklasowej należy poszukiwać wektora w który maksymalizuje następujące wyrażenie:

•  Po znalezieniu kierunku maksymalizujące J(w) można stosować zasadę klasyfikacji na rzutowanej prostej. Przydziel x do klasy j dla której

•  Można wykazać, że ten wektor jest proporcjonalny

( )22)(wSwxwxww

W

1T

TTJ −

=

kTT

jTT xwxwxwxw ~~~~ −<−

)(~2

1 xxw 1 −∝ −WS

Page 16: Klasyfikatory liniowe

Uwagi o konstrukcji wskaźnika •  Zwiększanie J(w) ma gwarantować dobrą

separacje klas i ich rzutów

Page 17: Klasyfikatory liniowe

Hiperpłaszczyzna separująca •  Wyraz wolny to środek odcinka między rzutami średnich

•  Stąd liniowa funkcja dyskryminacyjna Fishera

•  Więcej informacji, np. •  J.Koronacki, J.Cwik: Statystyczne systemy uczące się

•  M.Krzyśko et al.: Systemy uczące się

)()(21)(

21

211

2121 xxxxxwxw +−=−= −W

TTT Sm

)](21[)( 21

121 xxxxx +−−= −

WT Sy

Page 18: Klasyfikatory liniowe

Przykład ilustracyjny [za A.Gołota i in.] Rozróżnienie rodzin, jako: potencjalnych posiadaczy i nie posiadaczy na podstawie x1=przychody i x2=powierzchnia działki. [analiza marketingowa / SAS ]

Page 19: Klasyfikatory liniowe

Przykład posiadaczy kosiarek

Wiecej w A.Gołota i in. wykład Pol. Gdan. pt. Klasyfikacja i dyskryminacja. Statystyka w SAS

Page 20: Klasyfikatory liniowe

Dla bardziej zainteresowanych detalami Więcej informacji o rozwiązaniu analitycznym oraz przykład obliczeniowy (krok po kroku) - Sh. Elhabian, A.Farag Tutorial Linear Discriminant Analysis (WWW, patrz załącznik)

Page 21: Klasyfikatory liniowe

Odnaleziony kierunek projekcji w*

Więcej w załączonych materiałach

Page 22: Klasyfikatory liniowe

Przypadek wielu klas (K > 2) •  Rozwiązanie Fishera uogólniono dla większej liczby K

klas (C.Rao 1948)

•  Średnia w próbie uczącej

•  Macierz zmienności wewnątrzklasowej

•  Macierz zmienności międzyklasowej

•  Poszukuj wektora w maksymalizującego

Tj

Kj jjB xxxxn

KS )()(

11

1 −−−

= ∑ =

Tji

Kj

jCijiW xxxx

KnS )()(1

1 −−−

= ∑ ∑=∈

jKjn∑ == 1

1 xx

wSwwSww

WT

BT

J =)(

Page 23: Klasyfikatory liniowe

Dane o przyjęciach do uczelni biznesowych

Page 24: Klasyfikatory liniowe

LDA w R (wine data – 3 klasy)

Page 25: Klasyfikatory liniowe

Iris – 3 klasy (rzutowanie projekcji LDA)

Przykład z scikit learn Python

Page 26: Klasyfikatory liniowe

Podejścia opisowe i probabilistyczne

•  Stochastyczne / probabilistyczne •  Zbiór obserwacji jest próbą losową pobraną z k podpopulacji π1,π2,…,πk; celem jest taki podział aby podpopulacje odpowiadały właściwym k klasom C1,C2,…,Ck

•  Opisowe •  Nie rozważa się losowości próby, zakłada się że posiadany

zbiór zawiera przykłady z k klas C1,C2,…,Ck ; zadanie polega na poprawnym podziale zbioru na klasy

Page 27: Klasyfikatory liniowe

Sformułowanie probabilistyczne z Tw. Bayesa

•  Obiekty x∈Rp i wielowymiarowy rozkład prawdopodobieństwa – funkcja gęstości f(x|Ci)

•  Każda klasa Ci opisana prawdopodobieństwa apriori pi

•  Bayesowska reguła klasyfikowania

•  Przydziel nowy obiekt x do tej klasy Ci dla której prawdopodobieństwo a posteriori jest największe:

∑ = ⋅⋅= Ki iijjj CxfpCxfpxCP 1 )|()|()|(

)()()|()|( xPCPCxPxCP =

Page 28: Klasyfikatory liniowe

Rozwiązanie probabilistycznej reguły klasyfikacji

•  Załóżmy, że rozkłady wektora x w poszczególnych klasach są p-wymiarowymi rozkładami normalnymi:

•  Wykorzystując logarytmiczne przekształcenie twierdzenia Bayesa, obiekt x jest przydzielany do tej klasy Cj dla której funkcja dyskryminująca osiąga maksimum:

•  Jest to kwadratowa funkcja dyskryminująca (QDA)

[ ])()(5,0exp)2()|( 15,05,0ii

Tii

pi xxCxf µµπ −Σ−−Σ= −−−

jjjjT

jj pxxx loglog5,0)()(5,0)( 1 +Σ−−Σ−−= − µµδ

Page 29: Klasyfikatory liniowe

Liniowa funkcja •  Założenie równości macierzy kowariancji Σ

•  Dla dwóch klas – przekształcenie log-ratio

•  Więcej w Krzyśko … lub Hastie et al. Elements of Statistical Learning

jjTjj

Tj pxx log5,0)( 11 +Σ−Σ= −− µµµδ

Page 30: Klasyfikatory liniowe

Implementacje funkcji w Statistica

Page 31: Klasyfikatory liniowe
Page 32: Klasyfikatory liniowe
Page 33: Klasyfikatory liniowe
Page 34: Klasyfikatory liniowe

Porównanie rozwiązań LDA i QDA •  Wybrany zbiór danych (za Hastie et al.

Elements of Statistical Learning)

Page 35: Klasyfikatory liniowe

Wymogi stosowania modeli AD •  Zmienne wyrażone na skalach liczbowych

•  Specjalne podejścia dla zmiennych jakościowych (binaryzacja, model lokacyjny,…)

•  Zmienne mają wielowymiarowy rozkład normalnych

•  Macierze kowariancji dla poszczególnych klas są równe → jeśli nie, to bardziej złożone funkcje kwadratowe dyskryminujące.

•  Problem doboru właściwych zmiennych.

Page 36: Klasyfikatory liniowe

Selekcja zmiennych •  W funkcji dyskryminującej uwzględniaj zmienne o

dobrych właściwościach dyskryminujących

•  Przykład kryterium jakości dyskryminacji:

gdzie macierz zmienności wewnątrzklasowej

a macierz zmienności międzyklasowej

BW

w

SSS+

Tji

kj

jCijiW xxxx

knS )()(1

1 −−−

= ∑ ∑=∈

Tj

kj jjB xxxxn

kS )()(

11

1 −−−

= ∑ =

Page 37: Klasyfikatory liniowe

Inne zagadnienia •  Pojęcie zmiennych kanonicznych – kierunki

które dobrze separują k klasy (także ich wizualizacja)

•  Dyskryminacja oparta na regresji liniowej i logistycznej

•  Uogólnienie modeli liniowych – elastyczna dyskryminacja (FDA)

•  Ad a metoda wektorów nośnych (SVM)

•  Powiązanie z metodą PCA

•  Odniesienia do Analizy Korespondencji

Page 38: Klasyfikatory liniowe

Typowe obszary zastosowań •  Analiza danych finansowych (zwłaszcza banki,

polityka kredytowa, predykcja bankructw)

•  Badania marketingowe

•  Także identyfikacja czynników różnicujących klasy klientów

•  Badania danych medycznych, biologicznych lub innych powiązanych nauk

•  Rozpoznawania twarzy na obrazach

Page 39: Klasyfikatory liniowe

Więcej Przeczytaj literaturę •  T.Hastie, R.Tibshirani, J.Friedman: The Elements of Statistical

Learning. Springer (zwłaszcza rozdz. 4) → poszukaj wersji elektronicznej pdf

•  J.Koronacki, J.Ćwik: Statystyczne systemy uczące się (rozdz. 1 oraz o FDA w rozdz. 6)

•  M.Krzyśko, W.Wołyński, T.Górecki,M.Skorzybut: Systemy uczące się. + wcześniejsze prace M.Krzyśko o analizie dyskryminacyjnej

•  Angielska Wikipedia „Linear discriminant analysis”

•  McLachlan, G. J. (2004). Discriminant Analysis and Statistical Pattern Recognition. Wiley.

•  Duda, R. O.; Hart, P. E.; Stork, D. H. (2000). Pattern Classification (2nd ed.). Wiley

Page 40: Klasyfikatory liniowe

Inne podejście do separowalności - ANN

Page 41: Klasyfikatory liniowe

Działanie pojedynczego neuronu (perceptron liniowy)

•  Regression: y=wx+w0

•  Classification: y=1 if (wx+w0>0)

w w0

y

x

x0=+1

w w0

y

x

s

w0

y

x

( ) [ ]xwToy

−+==

exp11sigmoid

Page 42: Klasyfikatory liniowe

Perceptron jako liniowy klasyfikator

•  Rosenblatt (1962) •  Separowalność

liniowa

•  Wejścia x - R

•  Wyjście :1 or -1

022110 =++ xwxww

+ + + +

+ +

+ +

+ + + +

+ + +

+

+ + +

+ +

+

+ +

+ + + + + +

+ + +

+

+

+

1+=y

1−=y

0w 1w 2w∑

1x 2x1

22110 xwxwwo ++=

)(ofy =

Page 43: Klasyfikatory liniowe

Ogólna idea procesu uczenia neuronów

Page 44: Klasyfikatory liniowe

Błąd

waga w1

waga w2 wideal. wn ws

Δw

minimum funkcji błędu

Istota uczenia polega na szukaniu miejsca, w którym błąd jest minimalny

Page 45: Klasyfikatory liniowe

Algorytm spadku gradientu •  Simple Gradient Descent Algorithm

•  Applicable to different type of learning (nie tylko ANN)

•  Algorithm Train-Perceptron (D ≡ {<x, o(x) ≡ d(x)>}) •  Initialize all weights wi to random values

•  WHILE not all examples correctly predicted DO FOR each training example x ∈ D

Compute current output o(x) FOR i = 1 to n

wi ← wi + r(t - o)xi //delta perceptron learning rule

•  Definition: Gradient

[ ] ⎥⎦

⎤⎢⎣

∂∂

∂∂

∂∂

≡∇n10 wE,,

wE,

wEwE …

!

Page 46: Klasyfikatory liniowe

Uwagi nt. uczenia pojedynczego neuronu

•  Błąd popełniony przez neuron przy prezentacji j-tego przykładu xj

•  Agregacja – błąd średniokwadratowy MSE

•  Korekta wag (Widrow,Hoff 1962):

•  Reguła delta – neurony nieliniowe

jjj yz −=δ

( ) ( )Q z y Q Qj j

j

Nj

j

Nj j= − = =

= =∑ ∑12

12

2

1 1

2, δ

ji

ji xw ⋅⋅=Δ δη

jjjji i

xyyw ⋅⋅−⋅⋅=Δ )1(δη

Page 47: Klasyfikatory liniowe

Perceptrony uczone są przyrostowo Krokowe znajdowanie odpowiednika płaszczyzny granicznej

początkowy układ wag: 0 ; 1; -0.5

Płaszczyzna po pirwszej epoce przyrostowego pokazania przykładów

Page 48: Klasyfikatory liniowe

Przyrostowy wpływ kolejnych przykładów

•  za Wikipedia

Page 49: Klasyfikatory liniowe

Koniec tej części wykładu

Przypomnij sobie wcześniejsze wykłady Czytaj samodzielnie dodatkowe materiały