2012年9月10日 星期一

[ LFD Note ] Lecture 01 - The Learning Problem

Source from here 
Outline of the Course : 
課程有三大類 theory (mathematical), technical (practical) and analysis (conceptual). 章節如下 : 
1. The Learning Problem (link)
2. Is Learning Feasible? (link)
3. The Linear Model 一 (link)
4. Error and Noise (link)
5. Training versus Testing (link)
6. Theory of Generalization (link)
7. The VC Dimension (link)
8. Bias-Variance Tradeoff (link)
9. The Linear Model 二 (link)
10. Neural Networks (link)
11. Overfitting (link)
12. Regularization (link)
13. Validation (link)
14. Support Vector Machines (link)
15. Kernel Methods (link)
16. Radial Basic Functions (link)
17. Three Learning Principles (link)
18. Epilogue (link)

The essence of machine learning : 
要進行 machine learning 必須滿足的幾個要件 : 
* A pattern exist : 你不會期望從亂數產生的資料去學到什麼東西吧, 預期在 data 應該存在某個 pattern 可以被 learning.
* We cannot pin it down mathematically : 如果可以, 那還需要 machine learning 嗎?
* We have data on it : 巧婦難為無米之炊 ><"

Components of learning : 
Machine learning 可以拆解成以下幾個元件的組合 (Formalization) : 
* Input: X (Customer application) 以課程的例子就是那些信用卡用戶身上抽出來的 features. (age, salary etc)
* Output: Y (good/bad customer?) 希望 ML 可以告訴我們的結果.
* Target function: f: X->Y 也就是 ML 學出來的模型, 透過輸入 X; 我們可以推論 Y.
* Data: (x1,y1),(x2,y2),...(xn, yn) 一個 Supervised learning 的一筆紀錄包括 features 與對應該 features 的結果.
* Hypothesis: g: X->Y 這個跟你選用的 ML Algorithm 有關, 每個 ML Algorithm 有自己的 Hypothesis 來告訴我們如何推論結果.

示意圖如下 : 
 
A simple hypothesis set - The 'perceptron' : 
這邊教授舉了一個最簡單的 ML Algorithm 'perceptron' 來講解 Hypothesis set. 而他的定義相當簡潔 : 
 
(截自 wiki

簡單來說, 他為每個 feature 定義一個 weighting, 而形成一個 weighting vector, 將 feature vector 與 該 weighting vector 相乘後得到的值如果大於零就是 class1, 反之為 class0. 而在使用這個演算法前有個重要的前提, 就是 data 必須要能夠 linearly separable

簡單來說就是希望找出下列公式中粉紅色的 weighting vector, 將平面中的 '+' 與 '-' 能夠分隔開來進而達到分類的用意, 但遺憾的是現實世界的 data 多半不是 linearly separable : 
 

Basic premise of learning : 
"using a set of observations to uncover an underlying process"

如果 mapping 到 ML, observations -> data ; underlying process -> hypothesis (or the learned model). 另外這邊也將 ML 進行簡單分類 : 
Supervised Learning : 分類器, 根據給定 features 來對 input 進行分類.
Unsupervised learning : 分群器, 將 features 相近的 input 進行 grouping.
Reinforcement learning : concerned with how an agent ought to take actions in an environment so as to maximize some notion of cumulative reward. 常用在 gambling 的應用.

Q & A : 
在課程最後, 教授還有 Q&A. 有幾個問題還蠻有深度的. 千萬別錯過 ^^. 如 "Data set" 的 size 要多少才能夠讓 ML 訓練出來較正確的 Model? 越多越好? 多半實務上 "Data set" 的 size 不是我們可以決定的 ^^". 

Supplement : 
Machine Learning course - recorded at a live broadcast from Caltech

沒有留言:

張貼留言

[Git 常見問題] error: The following untracked working tree files would be overwritten by merge

  Source From  Here 方案1: // x -----删除忽略文件已经对 git 来说不识别的文件 // d -----删除未被添加到 git 的路径中的文件 // f -----强制运行 #   git clean -d -fx 方案2: 今天在服务器上  gi...