台大 林軒田老師 機器學習基石學習筆記2

2021-08-09 17:45:25 字數 2979 閱讀 7039

第一節課中,主要講解的是機器學習的基本思路和相關的應用,算是一種對機器學習的大致介紹和簡單的科普。到了第二講,林老師將重點放在了pla演算法上,通過這個演算法讓機器學習的演演算法大門正式開啟了。

對於機器學習,類似人的成長一般,一般是先學會判斷是和不是,所以這一講是介紹一種可以回答是非題的機器學習演演算法——pla。

引入乙個銀行信用卡的例子,對於銀行要對如下的使用者進行判斷要不要允許其辦理信用卡。

機器學習的思路是,通過分析這名使用者之前的所有使用者的案例,設定評判標準即可。那麼用數學的表示法應該是:把乙個(信用卡)使用者看成是乙個多維度的向量,包括了這個使用者乙個個的特徵(features),用來計算乙個值,這個將其稱為得分,當這個得分》門檻值(閥值)時,就是合格的。這個分數的計算方法,這裡使用的是賦權的方法,給每個緯度乙個權重,用於計算最後的分數。

每一組設定的權值和門檻值,成為乙個簡單的h(hypothesis),權值的不同或者是門檻的不同構成的h(hypothesis)歷史上是被稱為(類神經網路)感知器。在我看來,試想一下我們在評判乙個人的時候,對他的各方面的屬性是不是有一種側重,這種側重就體現在權值的大小中,這種類似人腦的思維方式就是人工智慧正如連線流派一般,組成神經網路的一種思維方式。

這個時候我們不妨讓我們的使用者屬性和權值構成兩個向量:

這個算式還不算好看,因為我們還需要單列乙個門檻值的變數進行單獨考慮,這個時候我們可以通過轉化門檻值的表達方式,得到乙個新的權值集合和屬性集合

那麼x是表示使用者的屬性的向量的,w是改變後的權值列表,對其作轉置的運算和x取內積就可以得到我們潛在的x->y的對映。【x,y的概念第一講的時候有敘述】

那麼,我們式子列出來,h到底長什麼樣呢,不同的w對應就是乙個h,假設x和w的緯度只有2,那麼就是乙個二維平面上的乙個線性分類器,所以我們剩下的任務就是找到乙個最好的線,來對使用者進行區分:

到了這裡就是乙個如何設計乙個演演算法的問題了。我們知道,data是從f(目標函式)產生的,如果g(best h)和f足夠像,就必須保證遍歷過的data必須都滿足g。對於上圖,就是讓o和x被一條線完全分開就好。

那麼,在此直接介紹這個分類器的演算過程: 1、

一開始選擇一條線。初始狀態w0【開始】 2、

若這個線不好,則一定可以找到乙個點,不在滿足範圍內。【找error】

3、糾正規則:w+yx【糾正】

4、更新到不再犯錯【遍歷】

這個演演算法就被稱為pla(perception learning algorithm)

正所謂【知錯能改善莫大焉】a fault confessed is half redressed

表述,很簡單,但是pla演算法糾結該如何實現呢?這邊給出乙個迴圈法:

之後林老師對於這個方法進行了現場操作。【略】這個寫法的核心是:每一次都遍歷全部點,並對第乙個錯誤的點進行矯正,之後再一次進行迴圈遍歷。

這個糾正的方式是:

【平面幾何的基本思路,往哪邊歪了就把他往反向方向糾正】

那麼,肯定有個這樣的問題,這個演算法會停下來嗎?這個演算法真的可以找出有效值嘛?

我們看一下這個演算,看看能不能得到這個式子:

【tips:二式,兩邊同乘yn,xn】。

這樣我們就知道了,這個演演算法是在去嘗試著實現做好某件事情。

那麼,pla一定可以找到有效值嗎,如果上面的式子的變化不斷增大呢?

當然,每個演算法都有自己的侷限性,pla演算法什麼時候會停下來呢。

1、資料是線性可分的。這個可以將其劃分的線,將會是我們的目標。

所以我們開始考察wf和wt+1,檢視是否接近,內積越來越大(證了一半)。

1、資料演算法的演化是

有錯才更新

向量長度也要考慮。為了這一點我們必須讓有錯才更新作為我們的假設基礎。

同樣經過類似的推理我們也可以判斷演算法的收斂性:

由於這個演算法的核心是【有錯才更新】所以始終是越來越接近目標函式的,因此可以到下面的推倒,利用

由於每個點都會與那個分隔線有一定距離,那麼,可以有上式。

即t次更新,兩個正規化的向量的乘積會比根號t乘以乙個常量。

這個證明他的確表示兩個向量的內積,這樣就是說,這個演算法會停下來!

1、wt

gets more aligned with

wf ,越來越接近目標函式(此處為目標向量)

2、wt

does not grow too fast ,具有演算法收斂性

補充:,其中t是,

一句話總結:演算法會停且增長不會太快。

現在開始總結pla演算法的優缺點:

優點:1、易實現、速度快、多少緯度都適用。

2、涉及假設,資料集是線性可分且演算法有錯才更新,後者不是壞事,前者很難保證,且不知道假設對不對,演算法複雜度也難以衡量。

那麼在接下來的課程中,會就資料不是線性可分、資料有噪音等方面進行講解【一兩節課後】

比如如果不是線性可分,那我們盡量保證最優

pocket algorithm演算法:隨機選取點,使用貪心原則,保持最佳h。

台大 林軒田老師 機器學習基石學習筆記13

上節講的是非線性分類模型,通過線性與非線性空間之間的變換,將非線性模型映轉換為線性模型,再進行分類,分析了非線性變換可能會使計算複雜度增加。強調了緯度和負責度之間的關係。這節中,這種模型複雜度增加帶來機器學習中乙個很常見的問題 過擬合。機器學習的終極目標就是為了 當然 前我們要對資料進行訓練。用原生...

力薦 台大林軒田《機器學習基石》資源彙總

原文 重磅 吳恩達新書 machine learning yearning 最新版分享 紅色石頭的個人 redstonewill.com 首先附上這門課的主頁 hsuan tien lin 機器學習基石 機器學習基石 林軒田 這門課主要涉及機器學習關鍵問題的四個方面 其中每個方面包含4節課,總共有1...

《機器學習基石》內容總覽(台大林軒田版)

第一部分課程 foundation oriented 主要講解機器學習的基礎知識 1.課程內容 該課程主要闡述關於機器學習 ml 的四個問題 1.1什麼時候用ml?明確用ml解決某一問題的可行性 看該問題是否能抽象成具體的ml常規問題 分類 回歸之類 1.2為什麼要用ml?機器學習作為解決問題的方法...