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)