機器學習基石筆記(三)

2022-07-25 08:36:10 字數 2024 閱讀 8001

三、how can machines learn?

第三節首先介紹了linear regression,線性可分的線性規劃是有analytic solution的,林老師給我們推了一下,關鍵就是矩陣化的處理,簡化了很多的工作

上面三幅圖是整個推導的過程,需要注意的是,最後的x不一定是可逆的,因為我們的資料的數量n一般來說遠大於d+1。所以x不可逆的可能性太大的,一般這時候就用偽逆來解決。

後面是解釋為什麼可以學習,經過一系列的推導可以得到下圖:

這個是相當符合的我們的直觀感受的,因為我們是用訓練集去估計整個的假設空間,因為n越大,ein接越接近於eout。

然而在做classification的時候,我們還有更好的選擇,logistic regression,它的輸出可以理解為x屬於某個label的概率,因為他s型的曲線,在machine learning中,logistic regression出場率相當高,而在優化它的時候我們一般用交叉熵作為誤差函式,這個推導有兩種方法,我一般是用最大似然函式去理解的。

cross entropy的梯度推導跟deep learning中的bp演算法原理是一致的,他們都是基於鏈式法則來做的,然而有一次面試我還是沒推出來,總之,還是要多去自己動手!

有了梯度以後,在用gd或者sgd就能求出解了。

接下來介紹了multiclass prediction的問題,大致有這幾種:

1、ova,每次拿一類和其他的所有跑乙個二分類演算法,最後用得到的幾個分類器去做分類。但會有unbalanced data的問題。

2、ovo,每次挑選出兩類進行計算,相比於ova演算法,效率更高,但是需要更多的space並且**和訓練的時候都會慢一點。

3、直接用lr或者svm做多分類,這個應該是比較常見的,因為dl網路中最後的輸出通常就是softmax或者muliti svm的loss。

下面是關於non-linear的乙個關鍵概念,有時候有些資料我們只能用non-linear的函式才能把它們分隔開,這時候最好的理解,不是說在xy空間作出乙個圓,而是在x平方和y平方的空間裡做linear的classification。

因此大多數nonlinear的分類我們就可以分為兩個步驟:1、先做feature transform 2、然後在做linear的分類。

實際上當然沒這麼簡單...因為在做特徵轉換的時候你會發現,你不知道該怎麼做,這個後期的衍生就是曾經相當火的kernel method(說得不太準確,只能說核方法是其中的方法,特徵工程當然是乙個很大的問題,各種特徵篩選,轉換還是有很多東西的)。

下圖將特徵轉換和vc bound聯絡起來了,因為總共只有d+1個變數,所以肯定不能shatter d+2的input,所以dv<=d+1.

關於dvc和error的問題,下圖說常見的了,簡單的解釋:模型不是越複雜越好,因為會overfitting。

機器學習基石筆記01

是非題,如何用電腦來解?給定使用者,銀行判斷是否要給他信用卡。使用者有很多個維度,年齡,薪水,工作年限,債務等,把維度綜合起來給他乙個分數,超過門限就給信用卡,否則不給信用卡,x x1,x2,x3,xd w w1,w2,w3,wd h x sign wixi 門限 sign wixi 門限 1 si...

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

人類學習是從不斷的觀察獲得經驗的技能。機器學習是從資料出發,通過數 算等方式獲得經驗增強的技能。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來說...