c,d - Wojciech Marian Czarnecki
Transkrypt
c,d - Wojciech Marian Czarnecki
Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Wstęp do przetwarzania języka naturalnego Wykład 7 Modele generatywne vs. dyskryminatywne Wojciech Czarnecki 27 listopada 2013 Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Section 1 Przypomnienie Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Naive Bayes P(c), P(d|c) 1 Pozwala klasyfikować dokumenty 2 Buduje unigramowy model języka 3 Można z niego “wyciągnąć” zdanie z danej klasy, nie występujące w zbiorze uczącym Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! HMM P(HMM), P(d|HMM) 1 Pozwala klasyfikować sekwencje 2 Buduje n-gramowy model języka 3 Można z niego “wyciągnąć” zdania (rozsądniejsze niż z NB) z danej klasy (modelu), nie wystepujące w zbiorze uczącym Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Section 2 Generative vs. Discriminative Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Model generatywny P(c, d ) Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Model dyskryminatywny P(c|d ) Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Ok, ale... po co? Przecież P(c|d) = Wojciech Czarnecki P(c)P(d|c) P(d) WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! WSD Model P(c, d) P(c|d) Accuracy 86.6% 98.5% Tabela : Zbiór uczący Model P(c, d) P(c|d) Accuracy 73.6% 76.1% Tabela : Zbiór testujący Na podstawie Klein and Manning 2002 Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Porównanie Klasyfikacja Generowanie Złożoność Skuteczność Uczenie Przykłady Generatywne P(c, d) tak tak wysoka wysoka proste NB, HMM, N-gram, RBM Wojciech Czarnecki Dyskryminatywne P(c|d) tak nie niska wyższa trudne MaxEnt, SVM, CRF, NN, Drzewa decyzyjne WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Section 3 To the batmo... MaxEnt model! Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! MaxEnt model a regresja logistyczna MaxEnt model W uczeniu maszynowym (statystyce) model ten nazywany jest po prostu regresją logistyczną. Istnieją jednak subtelne różnice w wyprowadzeniu/zapisie, ktore czynią go bardziej dostosowanym do zagadnień NLP Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Features Feature [MaxEnt] W MaxEnt model, cecha (ang. feature) to najczęściej odwzorowanie (lub jego wartość) f : C × D → R. Feature [ML] W ML, cecha (ang. feature) to najczęściej odwzorowanie (lub jego wartość) f : X → R. Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Features - przykład (za Manning & Jurafsky) MaxEnt f1 (LOC , d) = [w−1 = ’in’ ∧ isCapitalized(w )] f2 (LOC , d) = [hasAccent(w )] f3 (DRUG , d) = [endsWith(w , ’c’)] Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Features - przykład (za Manning & Jurafsky) MaxEnt f1 (LOC , d) = [w−1 = ’in’ ∧ isCapitalized(w )] f2 (LOC , d) = [hasAccent(w )] f3 (DRUG , d) = [endsWith(w , ’c’)] ML f10 (d) = [w−1 = ’in’ ∧ isCapitalized(w )] f20 (d) = [hasAccent(w )] f30 (d) = [endsWith(w , ’c’)] Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Features - przykład f1 (LOC , d) = [w−1 = ’in’ ∧ isCapitalized(w )] f2 (LOC , d) = [hasAccent(w )] f3 (DRUG , d) = [endsWith(w , ’c’)] features true class in Cracow f1 LOC in Québec f1 , f2 , f3 LOC Wojciech Czarnecki taking Zantac f3 DRUG WPJN - Wykład 7 like John PERSON Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Features fi (c, d) = [φ(d) ∧ c = cj ] [false] = 0, [true] = 1 w szczególności fi (d) = X ⇐⇒ ∀c : fi (c, d) = X Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Model liniowy liniowa funkcja ze zbioru cech {fi } w klasy {c} każda cecha ma wagę αi ∈ R rozważamy wszystkie klasy c klasa c dla dokumentu d dostaje “głos”: voted (c) = X αi fi (c, d) i wybieramy klasę, taką, że c ∗ = arg maxc voted (c) Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Features - przykład f1 (LOC , d) = [w−1 = ’in’ ∧ isCapitalized(w )] f2 (LOC , d) = [hasAccent(w )] f3 (DRUG , d) = [endsWith(w , ’c’)] in Cracow in Québec taking Zantac features f1 f1 , f2 , f3 f3 class LOC LOC DRUG voted (c) = X αi fi (c, d) i α = [1, −0.1, 0.7] d = ’in Québec’ voted (LOC ) = 1 − 0.1 = 0.9 voted (DRUG ) = 0.7 voted (PERSON) = 0 Wojciech Czarnecki WPJN - Wykład 7 like John PERSON Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Uczenie jak dobrać wagi α? Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Przykład - klasyfikacja dokumentów (Reuters) Na podstawie Zhang and Oles, 2001 Naive Bayes: 77% Regresja liniowa: 86% MaxEnt: 86.4% SVM: 86.5% Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Uczenie Wartości kombinacji liniowej są nieograniczone Łatwiejsze w analizie i uczeniu są prawdopodobieństwa Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Uczenie Załóżmy, że dla zadanych c, d, α potrafimy wyznaczyć P(c|d, α) Możemy wybrać α∗ = arg maxα Wojciech Czarnecki Q i P(ci |di , α) WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! MaxEnt - uczenie Zdefiniujmy prawdopodobieństwo wg. modelu linowego P αi fi (c, d) P exp( αi fi (c, d)) P αi fi (c 0 , d)) c 0 exp( P(c|d, α) = P Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! MaxEnt - uczenie Zdefiniujmy prawdopodobieństwo wg. modelu linowego P αi fi (c, d) P exp( αi fi (c, d)) P αi fi (c 0 , d)) c 0 exp( P(c|d, α) = P P(LOC |’in Québec’) = e 1.0−0.1 /(e 1−0.1 +e 0.7 +e 0 ) = 0.45... P(DRUG |’in Québec’) = e 0.7 /(e 0.9 + e 0.7 + e 0 ) = 0.37... P(PERSON|’in Québec’) = e 0 /(e 0.9 + e 0.7 + e 0 ) = 0.18... Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Ten trick nigdy się nam nie znudzi :-) α∗ = arg max α Wojciech Czarnecki Y P(ci |di , α) = i WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Ten trick nigdy się nam nie znudzi :-) α∗ = arg max Y α arg max log( P(ci |di , α) = i Y α Wojciech Czarnecki P(ci |di , α)) = i WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Ten trick nigdy się nam nie znudzi :-) α∗ = arg max Y α arg max log( i Y α arg max α P(ci |di , α) = P(ci |di , α)) = i X log(P(ci |di , α)) = i Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Ten trick nigdy się nam nie znudzi :-) α∗ = arg max Y α arg max log( i Y α arg max α arg max α P(ci |di , α) = P(ci |di , α)) = i X log(P(ci |di , α)) = i X log(P(c|d, α)) (d,c)∈T Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Ten trick nigdy się nam nie znudzi :-) α∗ = arg max α X log(P(c|d, α)) = (d,c)∈T Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Ten trick nigdy się nam nie znudzi :-) α∗ = arg max α arg max α X X log(P(c|d, α)) = (d,c)∈T P log exp( i αi fi (c, d)) P 0 c 0 exp( i αi fi (c , d)) P (d,c)∈T Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! P exp( i αi fi (c, d)) P logP(CT |DT , α) := log P 0 c 0 exp( i αi fi (c , d)) (d,c)∈T X Wojciech Czarnecki WPJN - Wykład 7 = Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! P exp( i αi fi (c, d)) P logP(CT |DT , α) := log P 0 c 0 exp( i αi fi (c , d)) (d,c)∈T X ! X (d,c)∈T X log exp( X log X (d,c)∈T Wojciech Czarnecki = ! αi fi (c, d)) − i WPJN - Wykład 7 c0 X exp( i αi fi (c 0 , d)) = Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! P exp( i αi fi (c, d)) P logP(CT |DT , α) := log P 0 c 0 exp( i αi fi (c , d)) (d,c)∈T X ! X (d,c)∈T X log exp( X log X (d,c)∈T WPJN - Wykład 7 X exp( c0 logP(CT |DT , α) = NT (α) − MT (α) Wojciech Czarnecki = ! αi fi (c, d)) − i i αi fi (c 0 , d)) = Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Ufff, czas to zmaksymalizować logP(CT |DT , α) = NT (α) − MT (α) Przypomnienie: w punktach, gdzie funkcja (różniczkowalna) osiąga ekstremum, zeruje się jej pochodna Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP ∂logP(CT |DT , α) = ∂αi Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP ∂logP(CT |DT , α) = ∂αi ∂NT (α) − MT (α) = ∂αi Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP ∂logP(CT |DT , α) = ∂αi ∂NT (α) − MT (α) = ∂αi ∂NT (α) ∂MT (α) − ∂αi ∂αi Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP ∂ ∂NT (α) = ∂αi P (d,c)∈T Wojciech Czarnecki P log (exp( ∂αi i αi fi (c, d))) WPJN - Wykład 7 = Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP ∂ ∂NT (α) = ∂αi ∂ P P log (exp( ∂αi (d,c)∈T P (d,c)∈T P ∂αi Wojciech Czarnecki i i αi fi (c, d))) αi fi (c, d) = WPJN - Wykład 7 = Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP ∂ ∂NT (α) = ∂αi ∂ P P log (exp( ∂αi (d,c)∈T P (d,c)∈T P i ∂αi X ∂ P (d,c)∈T Wojciech Czarnecki i i αi fi (c, d))) αi fi (c, d) = αi fi (c, d) = ∂αi WPJN - Wykład 7 = Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP ∂ ∂NT (α) = ∂αi ∂ P P log (exp( ∂αi (d,c)∈T P (d,c)∈T P i ∂ P i (d,c)∈T X αi fi (c, d))) αi fi (c, d) ∂αi X i = αi fi (c, d) = ∂αi fi (c, d) (d,c)∈T Wojciech Czarnecki WPJN - Wykład 7 = Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP ∂ ∂MT (α) = ∂αi P (d,c)∈T P log ( Wojciech Czarnecki exp( ∂αi c0 P i αi fi (c 0 , d))) WPJN - Wykład 7 = Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP ∂ ∂MT (α) = ∂αi P (d,c)∈T 1 X P (d,c)∈T P log ( c 00 P exp( i exp( ∂αi c0 ∂ αi fi (c 00 , d)) Wojciech Czarnecki P c0 αi fi (c 0 , d))) P i P exp( i ∂αi WPJN - Wykład 7 = αi fi (c 0 , d)) = Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP P ∂ ∂MT (α) = ∂αi (d,c)∈T 1 X P (d,c)∈T c 00 P exp( i P c 00 P exp( i exp( ∂αi c0 ∂ P X αi fi (c 00 , d)) Wojciech Czarnecki c0 αi fi (c 0 , d))) P i = αi fi (c 0 , d)) P exp( c0 αi fi (c 00 , d)) 1 X (d,c)∈T P log ( i ∂αi X exp( 0 αi fi (c , d)) i WPJN - Wykład 7 ∂ P i = αi fi (c 0 , d) = ∂αi Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP P ∂ ∂MT (α) = ∂αi 1 X P (d,c)∈T c 00 P exp( i P c 00 X P exp( i exp( ∂αi c0 ∂ P X αi fi (c 00 , d)) c 00 exp( i i i X exp( c0 0 αi fi (c , d)) i ∂ P i αi fi (c , d)) Wojciech Czarnecki αi fi (c 0 , d)) P exp( c0 = ∂αi P X exp( i αi fi (c 0 , d)) P P 00 (d,c)∈T c 0 αi fi (c 0 , d))) P αi fi (c 00 , d)) 1 X (d,c)∈T P log ( (d,c)∈T WPJN - Wykład 7 ∂ P i = αi fi (c 0 , d) = ∂αi αi fi (c 0 , d) = ∂αi Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP P ∂ ∂MT (α) = ∂αi 1 X P (d,c)∈T c 00 P exp( i P c 00 X P exp( i exp( ∂αi c0 ∂ P X αi fi (c 00 , d)) c 00 exp( X i X i i X exp( c0 0 αi fi (c , d)) i ∂ P i αi fi (c , d)) (d,c)∈T c 0 WPJN - Wykład 7 ∂ P i = αi fi (c 0 , d) = ∂αi αi fi (c 0 , d) = ∂αi P(c 0 |d, α)fi (c 0 , d) Wojciech Czarnecki αi fi (c 0 , d)) P exp( c0 = ∂αi P X exp( i αi fi (c 0 , d)) P P 00 (d,c)∈T c 0 αi fi (c 0 , d))) P αi fi (c 00 , d)) 1 X (d,c)∈T P log ( (d,c)∈T Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP ∂logP(CT |DT , α) = ∂αi Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP ∂logP(CT |DT , α) = ∂αi X (d,c)∈T fi (c, d) − X X (d,c)∈T c0 Wojciech Czarnecki P(c 0 |d, α)fi (c 0 , d) = WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Pochodna logP ∂logP(CT |DT , α) = ∂αi X (d,c)∈T fi (c, d) − X X (d,c)∈T c0 P(c 0 |d, α)fi (c 0 , d) = empirical count − predicted count Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Maksymalizacja Nasz model osiąga optimum, gdy jego przewidywania pokrywają się z wynikami empirycznymi Okazuje się, że jest to również punkt o największej entropii (stąd nazwa) Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Maksymalizacja X arg max α log(P(c|d, α)) (d,c)∈T Gradient descent Generalized iterative scaling Conjugate gradient Quasi-Newton methods Szerzej na przedmiotach: Metody Numeryczne dr Tomasz Kapela (II) ; dr Zenon Jabłoński (IM) ; dr Edward Szczypka (ZKiZM) Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Gradient descent Minimalizacja funkcji f Ustal (losowo) α Powtarzaj α = α − λ∇f (α) Dla f (α) = −logP(CT |DT , α) ∇f (α) = − ∂logP(CT |DT , α) ∂logP(CT |DT , α) , ..., − ∂α1 ∂αk Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Przykład O Krakowie: d1 =Na Nowej Hucie grasują nożownicy d2 =Studenci imprezują na Zakrzówku O medycynie: d3 =Wiadomo dlaczego HIV-1 jest bardziej odporny d4 =XANAX jednak szkodzi f1 (CRACOW , d) = [∃w :!noSmallCaps(d, w ) ∧ isCapitalized(w )] f2 (MEDICINE , d) = [∃w : kw k > 1 ∧ noSmallCaps(w )] Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Przykład O Krakowie: d1 =Na Nowej Hucie grasują nożownicy d2 =Studenci imprezują na Zakrzówku O medycynie: d3 =Wiadomo dlaczego HIV-1 jest bardziej odporny d4 =XANAX jednak szkodzi j =1 j =2 f1 (CRACOW |dj ) 1 1 f2 (MEDICINE |dj ) 0 0 Wojciech Czarnecki j =3 1 1 j =4 0 1 WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Przykład j =1 1 0 f1 (CRACOW |dj ) f2 (MEDICINE |dj ) j =2 1 0 j =3 1 1 j =4 0 1 P exp( i αi fi (c, d)) P logP(CT |DT , α) := log P 0 c 0 exp( i αi fi (c , d)) (d,c)∈T X logP(CT |DT , α) = log e α1 e 0 + e α1 + log e α1 e α2 e α2 + log + log = e 0 + e α1 e α1 + e α2 e 0 + e α2 Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Przyklad Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Przyklad arg max(logP(CT |DT , α)) ∼ (18, 31) Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Przykład P(CRACOW |d) = e 18f1 (CRACOW ,d) e 18f1 (CRACOW |d) + e 31f2 (MEDICINE ,d) P(MEDICINE |d) = e 31f2 (MEDICINE ,d) e 18f1 (CRACOW |d) + e 31f2 (MEDICINE ,d) CRACOW MEDICINE d1 99.999999% 0.000001% d2 99.999999% 0.000001% Wojciech Czarnecki d3 0.00002% 99.99998% WPJN - Wykład 7 d4 0.000001% 99.999999% Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Przykład MaxEnt CRACOW MEDICINE d1 99.999999% 0.000001% NaiveBayes (α = 0) d1 CRACOW 67% MEDICINE 23% d2 67% 23% d2 99.999999% 0.000001% d3 0% 100 % Wojciech Czarnecki d3 0.00002% 99.99998% d4 0% 100 % WPJN - Wykład 7 d4 0.000001% 99.999999% Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Przyklad α = [18, 31] Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Ciekawostka MaxEnt a sieci neuronowe Regresja logistyczna jest równoważna jednowarstwowej sieci neuronowej z sigmoidalną funkcją aktywacji. W szczególności również model maksymalnej entropii (MaxEnt) jest jej równoważny. Uczenie metodą steepest descent jest natomiast równoważne wstecznej propagacji błędów w takiej sieci. Szerzej na przedmiocie: Sieci neuronowe dr Igor Podolak Wojciech Czarnecki WPJN - Wykład 7 Przypomnienie Generative vs. Discriminative To the batmo... MaxEnt model! Kolejny wykład NER Czym w zasadzie jest ta entropia? MEMM (Maximum Entropy Markov Model) Wojciech Czarnecki WPJN - Wykład 7