Supervised
給定一組 Data set
Classification 分類問題(連續)
Regression 遞歸問題(分類)
UnSupervised
所有數據都是一樣的,需要根據給定數據找出規則或分類
1 2 3 4 5 6 7 8 9 10 11
| 雞尾酒問題
假設宴會上有很多人,現在給 2 人 1 人 1 隻麥克風講話
此 2 個麥克風都會錄到 2 人的聲音
要如何分離 2 人聲音或背景音樂?
[W,s,v] = svd(( repmat(sum(x.*x,1),size(x,1),1).*x)*x');
SVD = singular value decomposition (奇異值分解)
|
Cocktail Party
學習 ML 使用 Octave (free) 或 Matlab 練習
先用 Octave 做出原型,在用其他語言實現
因為 Octave 以內建許多演算法函式
其他
3 element vector or a 3 dimensional vector
1 2 3
| element 1 A = [ element 2 ] element 3
|
練習
Model
Regression Problem = 根據之前的數據,預測出一個準確值
Training set = 之前蒐集的數據
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| 面積(x) 價錢(y) 2104 460 1416 232 1534 315 852 178 ... ...
m = 幾項樣本數目,假設有 47 樣本數就為 47 x = input = input features y = output = target variable
(x,y) = one training example (x^(i) , y^(i)) = 第 i 項樣本 (x^(i) , y^(i)) i=1,....m = training set
Ex: x^(2) = 1416 y^(3) = 315
|
流程: Training Set -> Learning Algo -> h(Hypothesis) 表示函數
面積(x) -> h -> 價錢(y)
h 可以寫成
1 2 3 4
| hθ(x) = θ0 + θ1X (線性函數) = 線性回歸(linear regression) model = 根據 x (變量) 來預測價格 = 單變量線性回歸
|
Cost Function
代價函數,或稱為 squared error function
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| Training Set: 面積(x) 價錢(y) 2104 460 1416 232 1534 315 852 178 ... ...
Hypothesis : hθ(x) = θ0 + θ1X 用來預測的函數
θi = Parameters = Parameters of model 問題在於如何決定 θ0 或 θ1
θ0 和 θ1 不同會造成線的斜率不同 所以我們要找的是,再給定的 Training Set 之下 θ0 和 θ1 要取多少才會經過最多的 Training Set
所以根據此想法,我們要訂一個規則:
1. minimize θ0,θ1 2. (hθ(x) - y)^2 要小 (表示越準確)
Hypothesis: h(x) = θ0 + θ1X
Parameters: θ0 , θ1
Cost Function: m J(θ0,θ1) = 1/2m ∑ ( h(x^(i) ) - y^(i) )^2 i=1 Goal: minimize J(θ0,θ1) θ0,θ1
Simplified: 將 θ0 = 0
m J(θ1) = 1/2m ∑ ( h(x^(i) ) - y^(i) )^2 i=1 Goal: minimize J(θ1) θ1
|
簡單的說,就是要找出 θ0 , θ1,並且使 J(θ0,θ1) 最小
使用梯度下降演算法 ( gradient descent )
此演算法會持續變化 θ0 , θ1 來找出 min J(θ0,θ1)