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

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

流程回顧:
機器學習學習心得--Lecture 2_第1张图片
fig1
模型:
機器學習學習心得--Lecture 2_第2张图片
fig2

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

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

進一步簡化:
機器學習學習心得--Lecture 2_第3张图片
simplify
圖形化表示 h (綫性分類器) :
機器學習學習心得--Lecture 2_第4张图片
fig4
  • 圖片中所有點的位置表示 input 資料 x 。
  • 在位置資料上標記 X 和 O,表示得到的 output y。
  • 圖中的分割綫就是今天我們找到的 h 。不同的 h 會在這個範例中畫出不同的區塊。

問題1:


機器學習學習心得--Lecture 2_第5张图片
fig5

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

如何得到最好的 g 。

  • 我們希望得到最好的結果就是 g 無限接近 f 。

  • 那麽,我們通過 g 找到的 y 就應該盡可能的與已知資料的結果是接近,最好是相同的。

  • 遇到的困難是 H 是無限大的。

  • 思路:我們可以先得到一條綫,不斷的修復它。

PLA演算法:
機器學習學習心得--Lecture 2_第6张图片
PLA演算法

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

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

  • 如果今天我的結果是 + ,然後已知的結果是 - ,那麽説明我得到的結果跟已知結果的角度過大了,就需要把已知的結果加上現有的 h。

  • 如果今天我的結果是 +,然後已知的結果是 - ,那麽説明我得到的結果跟已知結果的角度過小了,就需要把已知的結果減去現有的 h。

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

如何來判斷是否還存在有錯誤:
機器學習學習心得--Lecture 2_第7张图片
Cyclic PLA

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

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

機器學習學習心得--Lecture 2_第8张图片
question1

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

機器學習學習心得--Lecture 2_第9张图片
linear separable example

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

機器學習學習心得--Lecture 2_第10张图片
論證 1

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

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

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

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

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

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

機器學習學習心得--Lecture 2_第11张图片
論證 2

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

練習:
機器學習學習心得--Lecture 2_第12张图片
question2

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

總結PLA:
機器學習學習心得--Lecture 2_第13张图片
fig7
Pocket Algorithm:
機器學習學習心得--Lecture 2_第14张图片
Pocket Algorithm

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

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

你可能感兴趣的:(機器學習學習心得--Lecture 2)