林軒田機器學習基石筆記 - 第九講、第十講
本文為一系列課程之筆記,建議從" 機器學習基石筆記-1 "開始閱讀 >
本文討論內容請參考: 機器學習基石第九講 : Linear Regression 機器學習基石第十講 : Logistic Regression
本篇所有圖片部分由筆者製作,其它均為機器學習基石課程內容講義
在開始接下來的課程前,我想先緩一緩腳步。
從前面的課程一路到現在,我們學到了這麼多的想法、概念、工具,究竟這些東西的關聯性是什麼 ? 它們跟機器學習的關係又是什麼 ?
當我們手中有一堆資料 (
想要得到這樣的模型,我們就得從許多可能性中 (
PS: 當我們決定了想要什麼樣子型態的模型 ( PLA , Pocket , Linear regression , Logistic regression...) ,那麼找出最小值的演算法也同時被確定下來。
當我們理清楚其中的關係後,很清楚地可以知道,所有演算法就是針對某一個error measure 尋找最小值的方法,也就是說,當我們要決定模型的型態,也要先決定出來我們要用什麼樣子的 error measure 。( 回想一下,當我們決定了 error measure 後,機器學習的可行性便也可以確定1)
Linear Regression
( 紅線部分我們稱為 剩餘residuals )
Linear regression : 找出 line / hyperplane 有最小的 residuals
Linear Regression Algorithm
在線性回歸中,最常用的 error measure 就是 square error
Step 1 : 先將資料整理成矩陣型態,找出以每一筆資料為列向量的
Step 3 : 最佳解
Linear Regression 的可行性
由上述我們可以找出有最小誤差的預測模型
我們可以把這個
我們可以利用這些特性推導出
這兩式指出,只要是從
所以我們可以得出下圖 :
當
Linear Regression for Binary Classification
Logistic Regression
在現實生活中,我們有時候會想知道的事情不是單純的、絕對的、硬性的是非問題 ( 病人是否活著? ),或許我們會希望能夠有比較 soft 的分類 ( 病人活著的機率? ),或許,我們可以把這樣的 soft binary classification 視為是帶有
上圖白話翻譯就是 : 對於每一個特徵,我們一樣可以給予不同的權重,計算出一個分數,再將這分數經由一個 連續(conti) , 可微(diff) , 單調(monotonic)
Logistic Regression Algorithm
這樣機率型態的 error measure 我們使用 cross-entropy ( 交叉熵 ) error
挑選一個初始值
Step 2 : 進行權重迭代更新
停止條件 : (1)
在這裡有兩種可能性 :
Case 1 :
Case 2 :
這邊我們可以發現想要找到類似 Linear Regression 的解析解會非常窒礙難行,所以我們要利用類似PLA的方式做迭代優化 :
Gradient Descent 梯度下降6
How to choose & ?
Assume
(
方向 :
最好的方向是
大小 :
若
綜合上述 :
註釋
可參閱 機器學習基石筆記-4↩︎
擬反矩陣pseudo-inverse 又稱廣義反矩陣
s.t. :
↩︎廣義反矩陣在數學上的應用之一便是用來求出最小平方法之解
↩︎此證明為簡易證明,雖不夠嚴謹,但仍可有不錯的解釋力
1. ↩︎Cross-Entropy
---(1) 我們希望我們的預測 可以有 的表現 --- (2) * 若 ,則上述(1)(2)兩式理應接近 且 (1)式應該會非常接近1 * 我們將(2)式定義成一個函數 稱為 ,則我們想要的 ↩︎有關於梯度下降法的更詳細討論可以參閱 Gradient descent 梯度下降 一文↩︎