Machine learning 成神之路 (1)
Coursera Standford Machine Learning 學習筆記
Andrew 教授貌似很牛的樣子,machine learning 的需求很大喲,這是他說的。
什麼是supervise learning 監督學習?
據說這是一種很常見的 machine learning 種類。居於現有的data set資料集來預測房價是一個很好的supervisor learning的例子。我們可以用一條straight line直線或者quartic function來預測。原始資料集 就是一組 right answer given 給定的正確答案。
supervisor learning 有兩個種類:
術語1: regression problem 迴歸
迴歸問題 regression problem: predict a continuous valued output 預測一個連續的數值輸出。
learning algorithm will predict the possibility of output
術語2: classification -- discrete output value 0 and 1. 分級 輸出是 離散的不連續的, 不一定是兩個, 可以是多個。
例如;腫瘤的大小與腫瘤良性與惡性的關係問題。
現實情況下,machine learning 問題通常不止兩個考慮點。比如腫瘤問題裡 還以有 腫瘤厚度,細胞尺寸和形狀的一致性等等。
什麼是unsupervised learning?
聚類演算法 -- cluster algorithm。
例如 Google News 把千萬不同的新聞分為不同的種類。或者organize computing cluster。
unsupervised learning 與 supervised learning的區別是 unsupervised learning 沒有基礎的正確資料集。就像是一個很大的資料集,我們不知道里面的型別是什麼,但是你想讓learning演算法告訴你 裡面的型別是什麼或者怎麼cluster這些data。
在監督學習中 基礎的資料集 叫做training set 訓練集。
在課程中被使用的一些表示方法。
m: 訓練集的大小
x's 輸入屬性或者變數
y's 輸出
h 代表的一個假設方程用於計算預測房價用。
但是怎樣表達 這個假設方程 h 呢?
可以表達為一個線性方程 h(x)= theta1x + theb 這個叫做一個或者單變數的線性迴歸 one variable or univariate linear regression。
theta 模型引數
什麼是 cost function?
idea:choose theta0 and theta1 to fit cloesly to the training set。選取 一對模型引數去儘可能的fit訓練集。
這裡的 J就是一個cost function 代表的 1/2m 的平方誤差。這個函式也叫叫 平方誤差代價函式。平方誤差函式是一個比較常見的代價函式。我們演算法的目的就是儘可能的縮小這個代價函式。
Contour plot 或者 Contour figure
什麼是 Gradient descent 梯度下降法?Parameter Learning To minimize function J。
說白了就是找一條最好的下山路線。
:= 代表賦值 =則代表真值斷言。
alpha 是learning rate 代表下山的步長。每次計算 theta0 和 theta1的時候,需同時更新。不同時更新也能算,但是不是普遍梯度下降法所引用的。
很常用的machine learning 演算法。不停的計算尋找好的路徑下到最底。
梯度下降法
learning rate alpha, if it's too small, the process will slow, if it's too big, it may fail to converge due to overshoot.
通常這種不停的梯度下降的方法叫做batch gradient descent。