機器學習學習心得--Lecture 2

2017-04-18  本文已影响0人  陈定邦

什麽樣的機器學習演算法可以做是非題?

流程回顧:
fig1
模型:
fig2

上圖公式中 w 是這個維度的重要性。h 表示的是所有可能的公式。sign 指的是取正負號 。

把要思考的資料 x 想成一個多維度的向量,每一個維度都有一個評分,這個評分影響著我們最終輸出結果 y 。給所有的維度值一個綜合的分數,這個分數如果超過某一個標準,y 為正向,如果沒有超過標準,y 為負 。

進一步簡化:
simplify
圖形化表示 h (綫性分類器) :
fig4

問題1:


fig5

2 的單詞中會被當成是垃圾郵件的 weight 比較高。

如何得到最好的 g 。

PLA演算法:
PLA演算法

PLA 演算法的觀念是找到一個結果,讓這個結果跟已知的結果進行比較,之後不斷的修正,直到所有已知的結果都沒有錯誤爲止。

如圖片中所描述的,我們先得到 h 算出的結果,可能為 + 可能為 - 。

A fault confessed is half redressed.(知錯就改)

如何來判斷是否還存在有錯誤:
Cyclic PLA

Cyclic PLA : 從第一個點到最后一個點進行循環糾錯,如果全部都沒有問題,那就表示修正成功。

但是如果一直存在錯誤,這個演算法可能不會停下來

question1

儅我們需要知道PLA演算法會不會正常停下來的時候,其中必要條件就是有一個可以分割的資料,我們稱這些可以通過一條綫分割的資料爲綫性可分(linear separable)

linear separable example

假設今天我們的資料是 linear separable,那麽我們使用 PLA 能不能找到這一條綫呢?

論證 1

假定我們處理的資料是 linear separable ,分割綫為 Wt,我們定義一個 Wf ,認爲 Wf 就是我們找到的目標。

Wf 的特性一定是滿足我們的需求。它完美的分開了 data 。

既然有了 Wf ,那麽接下來需要考慮的就是我們定義的這個 Wf 跟真實的 Wt 會不會是接近的關係。

判斷兩個向量是否接近的方法,這裏使用的是看向量内積。

有上圖可知,兩個向量的内積會越來越大,但是并不能完全證明 Wf 跟 Wt 越來越接近(因爲兩個向量的内積的決定因素是角度以及兩個向量的長度)。

如果能確定 Wf 跟 Wt 内積增大的原因是因爲角度的話,就可以表明他們之間越來越接近。因此我們需要討論 Wf 每次修正后跟 Wt 長度之間的變化情況。

論證 2

論證 2 中的 T ,表示的是 PAL 執行的次數的上限。

練習:
question2

由之前的推論可以得到一個結果就是,Wf 跟 Wt 完全一致的時候,我們可以得到最大的 cosθ 的值為 1 。
所以也就有了上面那個答案的結論。

總結PLA:
fig7
Pocket Algorithm:
Pocket Algorithm

儅今天我們沒辦法預測說能不能準確的通過 PLA 演算法找到我們要的 Wt,因而我們可以選用一些改變的演算法,例如說 Pocket Algorithm 。它跟 PLA 類似,但是多一條規則,就是先存下來第一次找到的綫,之後的綫都跟存下來的綫進行比較,比較說哪一個更好,最終留下更好的。

學習視頻:機器學習基石(6~9)

上一篇 下一篇

猜你喜欢

热点阅读