一、引言
1.1 機器學習定義
提問:
1.2 監督學習
Eg1:
預測房價的例子:橫軸表示房子的面積,單位是平方英尺,縱軸表示房價,單位是千美元。那基於這組數據,假如你有一個朋友,他有一套750平方英尺房子,現在他希望把房子賣掉,他想知道這房子能賣多少錢。
從圖中可以看出直線擬合數據,預測這套房子可能賣$150, 000;二次函數來擬合數據,預測房子可能賣$200, 000。這是預測連續的數值,這是一個迴歸問題。
Eg2:
預測腫瘤惡性(malignant)還是良性(benign):集中,橫軸表示腫瘤的大小,縱軸上,我標出1和0 表示是或者不是惡性腫瘤。
圖中我們有5個良性腫瘤樣本跟5個惡性腫瘤樣本,現在假設一個人的腫瘤尺寸是橫軸上粉色箭頭位置那麼大,那麼機器學習要做的就是估算這個腫瘤是惡性還是良性的概率。這是預測離散的值,是一個分類問題。
有些機器學習問題,遇到的特徵不止一種。比如我們知道腫瘤的尺寸、患者的年齡這兩個特徵(通常採用的特徵有腫塊密度、尺寸一致性、形狀一致性等)
通過機器學習算法用圖中直線分類兩種腫瘤(良性的腫瘤改成用O表示,惡性的繼續用X表示)。圖中粉紅色的瘤位於良性區域,是良性腫瘤的概率大。
概括一下,監督學習的思想是:數據集中的每個樣本都有對應的標籤,再根據這些樣本集來預測未知樣本的結果。預測房子的價格這類預測連續的值屬於迴歸問題,預測腫瘤的結果這類預測離散的值屬於分類問題。
提問:
1.3 非監督學習
無監督學習是把不帶標籤的數據分成不同的聚類(聚類只是無監督學習中的一種)。谷歌新聞每天都在收集非常非常多的網絡新聞內容。它再將這些新聞分組,組成有關聯的新聞。所以谷歌新聞做的就是搜索非常多的新聞事件,自動地把它們聚類到一起。所以,這些新聞事件全是同一主題的,所以顯示到一起。
Eg:
雞尾酒宴問題,宴會上兩個人同時說話,麥克風會同時錄下兩個人的聲音,把每個人的聲音單獨的分離出來就屬於無監督學習
看上去這個算法會很複雜,實際上這個算法可以用一行代碼來完成
[W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');
使用Octave或Matlab,很多算法都可以用幾行代碼來實現,這也是本視頻採用Octave或Matlab編程的原因。
提問:
二、單變量線性迴歸
2.1 模型表示
訓練集
監督學習算法工作原理
只有一個變量x,所以是單變量線性迴歸
2.2 代價函數
有了訓練集,有了假設函數,我們要做的就是如何選擇和這兩個參數
我們的目標就是使得代價函數最小。
2.3 代價函數直觀理解 I
下圖中簡化,並且圖中的,可以計算得到代價函數,即
同樣的方法可以得到=0.5,0,1.5……時的值,得到的圖形如下,從圖中可以看出=1時,取最小值0.
2.4 代價函數直觀理解 II
當存在兩個參數、時,代價函數是一個三維函數,其曲面圖像碗狀一樣
接下來用等高線圖來分析,取不同的、時對應的和
從圖中可以看出,在最後一幅圖中,接近於取最小值了。
2.5 梯度下降
下邊倆圖表明:起始點(初始參數)不同,局部最優值不同
梯度下降算法(爲學習率,算法需要同時更新和):
梯度(gradient)就是J在該點的斜率,有正有負,如下圖所示
關於學習率,如果太小,每次挪動的步子太小,它會需要很多步才能到達全局最低點;如果太大,每次挪動的步子太大,梯度下降法可能會越過最低點,甚至可能無法收斂。
如果將初始化在局部最優值位置,那麼梯度(導數)就會爲0,代入公式後的值將會保持不變
梯度下降算法用時不需要改變學習率,因爲在接近局部最小值時梯度(導數值)會自動減小
2.6 Gradient descent for linear regression
求偏導:
將求得的偏導數代入到梯度下降算法中,得到: