iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 9
0

上禮拜有兩天跟大家介紹Curve Fitting(1 , 2),簡單的回憶一下,我們畫了一條線,並且沿著線點了幾點,再把線擦掉,然後要推估我們的線是什麼線。所以我們得到的資料會是一個x配上一個t,x是我們在x軸輸入的值,t是我們猜測的那條線對到的y軸,在訓練時就是我們的目標值,在測試時就是我們的預測值。

我們分別最小化兩個不同的error function,得到不一樣的結果。

那其實我們也可以利用機率的觀點來看這個問題,並且得到類似的式子,就讓我們來看一下怎麼做吧!

也就是我們要找一個 w ,是在我手上有這組資料 X 的情況下,機率最大的 w ,並且我們利用貝氏定理把他換成likelihood與prior!

我們要最大化這一個機率。接著因為大家不喜歡最大化,喜歡最小化,而且我們也不喜歡乘法,喜歡加法。所以這樣要怎麼做呢?只要做一個很簡單的動作,就可以把問題變成最大化跟乘法變成最小化跟加法!就是把整個式子放到 -log 裡面,由於log是單調函數,所以你現在比他大,你log也會比他的log大。所以我們可以把我們的式子寫成

而我們要找的 w 就是讓這個式子最小的 w !

那這邊的likelihood是什麼呢?首先我們要假設我們在沿著線畫點點的時候,我們點歪的情況呈現一個高斯分佈,也就是說,我們要畫的那一條線是高斯分佈中的平均,而我們點歪的情況則是用其中的變異數來表示。也就是說我們得到的t,不一定是那條線真正的t而是點歪的t!也就是下圖的情況,紅線是我們真正的曲線,而藍線則是我們點到的分佈情況,藍線越右邊的地方就是,點到那個位置機率越高的意思。

所以我們的likelihood取log的話就可以寫成

展開的話得到

因為我們在假設的時候,Beta是固定的,並不會因為我們w改變而變化,N是資料的數量當然也是不會便,所以我們只取後面那一項就可以了!

接著我們的prior,回憶昨天說的共軛先驗,我們likelihood是高斯,我們要讓prior跟posterior一樣的話,就一樣用高斯分佈。所以我們就假設先驗就假設

那取log之後就是下式,由於alpha也是我們固定的所以也可以不管他。

那我們這一個式子

就可以寫成

跟以前的那一個error function呼應的話:

若把,我們就會得到跟下面那個一模一樣的式子了!
而從這個角度來看我們就可以清楚的看出來,如果我們不考慮先驗只看likelihood的話,就會得到上面的式子,也就是prior這一項的功能,可以被當成一個regularization term!

以上大概就是從機率的角度來看curve fitting。


我自己第一次看的時候我一直在想為什麼可以假設他是高斯分佈,後來書上提到了entropy的概念,entropy就是某一個事情發生的時候我得到的資訊量,而事件越稀有,entropy就越高,例如你認為絕對不會發生的事情發生了,entropy就會很高很高,反之,你認為一定會發生的事情發生了,entropy就會很低。接著他去找會使**entropy最高的機率分佈,算出來就會得到高斯分佈!**這也是為什麼在假設的時候,就直接使用高斯分佈,因為他可以帶給我們最多的資訊量!


那麼機率的部份就簡單的在此告一個段落,明天就開始介紹線性模型!


上一篇
機率 - 共軛與常見分佈
下一篇
線性模型 - 梯度下降 與 循序學習
系列文
機器學習你也可以 - 文組帶你手把手實做機器學習聖經30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言