天天看點

機器學習中生成模型和判别模型

監督學習的任務是學習一個模型,應用這一模型,對給定的輸入預測相應的輸出。這個模型的一般形式為決策函數:

Y = f ( X ) Y=f(X) Y=f(X)或者條件機率分布: P ( Y ∣ X ) P(Y|X) P(Y∣X)監督學習方法又可以分為生成方法和判别方法。所學到的模型分别稱為生成模型和判别模型;

生成方法由資料學習聯合機率分布 P ( X , Y ) P(X,Y) P(X,Y),然後求出條件機率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)作為預測的模型,即生成模型: P ( Y ∣ X ) = P ( X , Y ) P ( X ) P(Y|X)=\frac {P(X,Y)}{P(X)} P(Y∣X)=P(X)P(X,Y)​這樣的方法之是以稱為生成方法,是因為模型表示了給定輸入X産生輸出Y的生成關系。典型的生成模型有樸素貝葉斯法和隐馬爾可夫模型。

判别方法由資料直接學習決策函數 f ( X ) f(X) f(X)或者條件機率分布 P ( X ∣ Y ) P(X|Y) P(X∣Y)作為預測的模型,即判别模型。判别方法關心的是對給定的輸入X,應該預測什麼樣的輸出Y。典型的判别模型包括:k近鄰法、感覺法、決策樹、邏輯回歸模型、最大熵模型、支援向量機、提升方法和條件随機場等。

在監督學習中,生成方法和判别方法各有優缺點,适合于不同條件下的學習問題。

生成方法的特點:生成方法可以還原出聯合機率分布 P ( X , Y ) P(X,Y) P(X,Y),而判别方法則不能;生成方法的學習收斂速度更快,即當樣本容量增加的時候,學到的模型可以更快地收斂于真實模型;當存在隐變量時,仍可以用生成方法學習,此時判别方法就不能用;

判别方法的特點:判别方法直接學習的是條件機率 P ( Y ∣ X ) P(Y|X) P(Y∣X)或決策函數 f ( X ) f(X) f(X),直接面對預測,往往學習的準确率更高;由于直接學習 P ( Y ∣ X ) P(Y|X) P(Y∣X)或 f ( X ) f(X) f(X),可以對資料進行各種程度上的抽象、定義特征并使用特征,是以可以簡化學習問題。

繼續閱讀