機器學習基石筆記01

2021-09-09 05:44:47 字數 2695 閱讀 7072

是非題,如何用電腦來解?

給定使用者,銀行判斷是否要給他信用卡。

使用者有很多個維度,年齡,薪水,工作年限,債務等,把維度綜合起來給他乙個分數,超過門限就給信用卡,否則不給信用卡,

x=(x1,x2,x3,...,xd)

w=(w1,w2,w3,...,wd)

h(x)=sign(wixi-門限)=sign(wixi+(-門限)*(+1))=sign(wixi+w0*x0),(令x0為1,門檻值作為乙個特殊的w)

總之h(x)=sing((w^t)x)

具體來說,h長什麼樣子?

二維距離: 

標籤用圈圈叉叉表示,sign裡面的東西其實就是一條線,每個h對應到一條線,線的一邊是正的一邊是負的。

所以所謂感知器,回答是非,就是分兩類,更高維也是具有類似意義。

現在知道了,假設集h就是平面裡所有的線。

現在的問題:如何設計乙個演演算法,選一條最好的線?(理想上的那個f)

唯一知道的是資料是從f產生的,那可以要求g在手頭的資料上跟f最接近,(最好是一模一樣?)(過擬合?)

出發點對不對?再談。在已經看過的資料裡面找一條線,滿足資料。不是很容易:有無限多條線,用笨方法會搜尋無限多條線。

一種方法:一條線在手上,不斷去修正它。從一條線g0出發,用w0替代一開始的線(簡化符號)(一組w跟假設g是一一對應的關係)

假設wt(第t個版本),w^t*x做內積**,得到的符號y跟想要的不一樣,那就去修正:

我要+,給我-,代表w跟x角度太大,w=w+yx(y=+1,w與x角度太大,通過這個操作減小角度)(要正的就轉近一點)

否則(我要-,給我+),w跟x角度太小,w=w+yx(y=-1,w與x角度太小,通過這個操作增大角度)(要負的就轉遠離一點)

更新到不再犯錯的時候。(所有點遍歷完都正確)

perceptron learning algorithm(pla)感知器學習演算法

cyclic pla 繞一圈看看有沒有人犯錯

演演算法圖示:

從原點出發(w0開始為0),那看見誰都是錯的,都要w(t+1)=w(t)+yx,紅線藍圈為+1,則w(t+1)為紅線,紅線就是

h的法向量;

想象:w是「向著」+1的點的,總是想讓w更偏向+1,讓w更偏離-1;

繼續分析一幀,如上圖,當前紅色w(t)下為法線的h中,把x14這個-1劃分到+1了,說明w對他的加成太多,角度太小,那就w(t+1)=w(t)+yx,y=-1,相當於減x,下乙個w(t+1)就在紫色,削減了對x14的加成作用。如此迴圈往復直到沒有人偏離。 

第3證明:左右分別乘以yn、xn即可。最右是正數,得證;

意義:更新後的w(t+1)與w(t)相比,它乘以x後與yn的距離靠得更近了!

這個演演算法一定會停下來嗎?停下來後g跟f一樣嗎?資料以外的區域?

資料滿足線性可分,pla演算法才可能停下來。

假設這個線就是wf,那麼有:

第一式的藍色大於紅色說明:如果wf就是夢想中的那個線,那麼對任何點,wf^t*(xn)再乘以yn都是大於零的;

紫色部分說明:對於現在手上的這個錯誤點,也滿足代入wf後表示式大於0;

有這個基礎後,看wfwt接不接近。可以看到,數值上好像會越來越大,某種角度代表兩個向量越來越接近。

但,內積越來越大,也可能是長度問題。

pla:有錯誤才更新。

第二行藍色部分是負數(有錯誤才更新);第四行代表增益的話,最多也就增加最遠的點這麼遠的長度以內(灰色代表±1可以忽略)

最多更新多少次會停止。

所以,如果data線性可分,那麼可以肯定wt和wf會越來越接近,且wt長度緩慢增長。

優缺點:

不知道多久停。因為wf是不知道的。

假設找不到完美的線,那就找一條犯錯誤最小的線;

計算機無法解決

貪心的演算法:不斷尋找覺得最好的線,看誰錯誤少

如果真的是線性可分,而用了pocket,會有什麼壞處?

首先要放進口袋裡最好的演算法;

其次每次要檢查到底誰好,要看所有的資料,pla只要找出乙個錯誤就去更正就行了

機器學習基石筆記(三)

三 how can machines learn?第三節首先介紹了linear regression,線性可分的線性規劃是有analytic solution的,林老師給我們推了一下,關鍵就是矩陣化的處理,簡化了很多的工作 上面三幅圖是整個推導的過程,需要注意的是,最後的x不一定是可逆的,因為我們的...

《機器學習基石》筆記一 機器學習簡介

人類學習是從不斷的觀察獲得經驗的技能。機器學習是從資料出發,通過數 算等方式獲得經驗增強的技能。1 存在一些內部的規則 2 程式設計無法把這個規則定義出來 3 有充足的資料 輸入樣本空間 x x x x x x輸出樣本空間 y y y y y y目標函式 要學習出的模式 f x yf x longr...

《機器學習基石》筆記 第二講

第二講主要是通過pla perceptron learning algorithm 講解二分類問題 binary classification 關於pla演算法的基礎內容,在這篇博文已經深入 了,該博文主要記錄一些擴充套件的知識。1假設空間 hypothesis set 對於perceptron來說...