解密機器學習(part 1)

yuwei
Jacky’s blog
Published in
Dec 20, 2018
source

大家好,距離上次的發文已經是快要一個月以前了,在這段期間,我的部落格也慢慢受到了各位的注目,非常感謝你們的捧場,我會繼續將我所學習到的知識分享給你們,讓我們一起進步

在這次的內容裡,我將為各位解析到底什麼是機器學習,用數學理論來解釋機器學習演算法的內容,也向各位介紹在之前文章所提過的gradient descent,都將一併向各位說明,因為最近買了好用的Apple Pencil,所以也將使用筆記的功能,實際導出方程式給你們看,那事不宜遲,讓我們開始吧

我將盡我可能的解釋每個重要的觀念,如果想獲得更完整的知識,這次的撰文靈感來自於此本書,非常推薦各位去閱讀,

1. 機器學習是什麼

機器學習是透過資料來找出特徵或模式的一種方法,常見的我們使用機器學習來應用的例子就包括垃圾郵件的判定,和網路購物的推薦系統等等,而各位可以想想看,垃圾郵件的判定是怎麼運作的,結果是垃圾郵件或不是垃圾郵件,這就是經典的機器學習的其中一個類型,’分類’。

而如果你要預測2018年12/20台北市的氣溫,我給你去年(2017年)12/20台北市的氣溫,和當天的天氣,和濕度等等,這就是另一個機器學習的類型,’迴歸‘,另用好幾個自變數(在資料科學裡我們稱之為’特徵’),找出每個特徵代表的權重,並預測出2018年12/20台北市的溫度

2. 機器學習包括的類型

(1)迴歸(Regression)

(2)分類(Classification)

(3)分群(Clustering)

分群與分類類似,都是將預測資料所屬的類型,而差別主要是在分群所要預測的類別並沒有進行標記,而分類的類別有經過標記,使用’分群’的話,透過判斷分成幾個群組,來找出有意義的資料彙整方式

得知以上三個類型之後,我們可以將資料是否已經標記來分成兩種機器學習方法

(1)監督式學習:資料已經被標記(迴歸,分類)

(2)非監督式學習:資料沒被標記(分群)

接下來,我們要做的是進行迴歸,分類演算法的解釋

3. 迴歸

(1)問題設定

我們在碰到迴歸問題時,我們先考慮單變數的方程式,你在碰到資料時,舉例來說,我們要用一個人的體重來預測的身高, 通常體重越高,表示身高也越高(我知道這舉例有點奇怪,但還是將就一下囉哈哈),我們可以把剛剛的設定和資料畫成一張圖

我用Apple Pencil所畫的第一張圖

這就是一次函數,還記得小時候學的方程式嗎? y=ax+b, a是斜率,b是截距

如果改用參數來表達方程式的話,會變成這樣

在統計學的領域裡,我們習慣將未知數或估計值以theta方式表達,因為如果未知數很多的時候,a,b,c,d….一直延伸使用下去會使得方程式太過混亂

(2)最小平方法

你一定會好奇,我要怎麼求出最佳theta,才能最好的函式呢?

首先,我們必須將函式改成以下的格式

將原本的y改成f(x)目的是因為theta參數所求出的解並不是實際資料的y,

這就是最小平方法的目的

大家可以仔細看實際的點和函式的距離差(我以黃色表示),我們只要努力將這個誤差線的高度變小,就可以正確地用體重來預測身高了

對於每個學習資料的誤差個別求平方之後再全部加總,再乘以1/2,幫這E(theta)的值找出會讓它變成最小的theta就是我們的目標,這就叫做最佳化問題, 那為什麼我們要對誤差求平方呢?因為誤差有可能是正的或是負的,如果你單純將它們加總起來的話,會把誤差抵銷掉,所以透過平方能將誤差全部轉為正號,微分也比較簡單,

(4)最速下降法(Gradient Descent)

將E(theta)變小的方法是透過theta最佳化,而最佳化則是透過偏微分來達成

x是theta, g(x)是E(theta),設置學習率是指透過不斷的學習來達成參數的最佳化

分別對目標函數進行偏微分,

前面的都是在講一次回歸,而現在我將介紹

多項式迴歸

多元迴歸

隨機梯度下降法

大家可以注意到,之前的梯度下降法會使得E(theta)陷入局部解,所以有了隨機梯度下降法,就是以最速下降法為基底

結論

謝謝你堅持到這裡,學習’機器學習’一直都不是一件容易的事情,希望你能夠更了解機器學習的運作,學會這些東西,可以讓你對以後套套件的機器學習演算法更加敏感,不斷的調整,讓自己越來越強,像Lebron James一樣

很歡迎你跟我一起討論你所碰到的問題,請不要把問題塞在自己的心中,勇敢的向我寄信吧,我的email是jacky308082@gmail.com

--

--

yuwei
Jacky’s blog

Curious Data scientist. Strong Lebron James’s fan. #StriveForGreatness #JustAKidFromTaiwan https://www.linkedin.com/in/yu-wei-chung/