寶可夢有很多特性能夠數值化,例如:整體的強度、生命值、攻擊力、防禦力、特殊攻擊力、特殊攻擊力以及防禦力等等,而我們就能將這些數值組成一個vector來表示寶可夢。
假設我們只要輸出 屬於 class 1 或 class 2 ,那用Regression就可以將 class 1 當作 1,class 2 當作 -1 去訓練,訓練完模型在測試的時候,如果輸出的數值比較接近 1 就把它分類為 class 1,比較接近 -1 就把它分類為 class 2,即以 0 為分類標準。
然而這樣會有一個問題,就是當你有一些訓練資料讓模型輸出遠大於 1 的時候就會讓原本的模型產生很大的誤差,而導致模型會把模型進行調整,讓誤差不要這麼大,反而對classification來說不是一個好的function。
在function 裡面增加一個function ,如果輸出大於零就分類為 class 1,其他就分類為 class 2。Loss則可以定義成function 在訓練資料上預測錯誤的次數。透過Perceptron, SVM等方法才找到最好的function,這些方法以後有機會會再介紹。
假設有兩個類別,裡面都有籃球跟綠球,從中拿出一顆球 出來但不知道是從哪個類別拿出來的,因此我們就必須去計算那顆球從兩個類別拿出來的機率分別是多少。
我們需要知道 class 1 和 class 2 抽一個 出來的機率 ,以及 class 1 和 class 2 抽出我們現在考慮的這個 的機率 。有了這些數值我們就可以計算這個 屬於 class 1 的機率 ,就可以知道說 從哪個class拿出來的機率最大,機率最大的就是正確答案,而我們會希望從訓練資料裡把我們需要的四個機率的值估測出來。
生成模型(Generative Model) 可以生成一個 ,因為可以計算某一個 出現的機率,如果可以計算出每一個 出現的機率,你就可以知道 的分佈,則可以用這個分佈來產生 。
假設 class 1 是水系的寶可夢,class 2 是一般系的寶可夢,ID < 400 的當作訓練資料,其餘當作測試資料,可以發現訓練資料裡有79隻是水系,61隻是一般系,因此即可算出 。
假設海龜不在你的訓練資料裡面,就必須拿前面提到的表示寶可夢的vector,也就是寶可夢的特徵值,去估測從水系寶可夢裡挑一隻出來,它是海龜的機率是多少,而訓練資料的79隻寶可夢可以想像成是從一個高斯分佈(Gaussian Distribution)取樣出來的。