淺談機器學習原理-Nonlinear Transform
Nonlinear Transform
*通用能力 gerneralization : 就是將訓練好的模型,放到正式環境可以正常的運作,通常Linear Model的gerneralization會比較好,因為線性模型解決的問題比較單純。缺點是應用侷限比較大。
參考Chih-Chung Chang老師的範例:縣性與非線性分類範例 https://www.csie.ntu.edu.tw/~cjlin/libsvm/
非線性問題
當如果今天假設要圈出裡面小圈圈的資料,我們就無法使用線性的模型,我們可以用非線性解像圈圈的方程式 來解決,在演算法我們利用reduce來將不會的問題透過已知的問題來解決,所以在這個問題 我們將圈圈的方程式(非線性模型)reduce成線性模型來解決。
Reduce 方法論
-
我們調整圓形的方程式改為,,來轉換線性方程式, => 在這空間資料中只要能找線,就可將不同的分類區分,圖中可以線性可以線去做分類。 -
透過向量方式來轉換成線性方程式 我們找到一個方式將非線性資料X透過向量轉換為Z後,希望透過線性方程式方式來學習,得到正解。
當我們Nonlinear transform轉換成線性方程式,當有新的資料進來我們無法使用invertiable(逆向工程)的方式去轉回非線性的方程式,而是使用mapping的方式將新的資料也一樣透過Nonlinear transform來驗證是否正確。這過程中我們需要考慮兩個因素:
- Feature Transform : 考慮資料複雜程度、關聯性等等
- Linear model :考慮適合的Linear model,重點:任何情況可以優先考慮Linear Models來解。
Mail Spam
範例: 電子郵件垃圾分類問題
資料特徵:郵件主題、文件名稱、電子郵件內容
模型比較: Linear model, Poly-2 model
深度學習
deep learning概念:先學習重要features後再組合結果,適用在複雜的任務,透過資料本身raw features來學習,但是也不是所有的案例都需要使用深度學習的模型。
問題複雜度與Transforming
當我們使用transform項次越高,雖然可以讓performance更好但是所需要的更高運算與儲存成本,資料量如何沒有很多情況下但用transform項次高去進行學習,有可能造成overfitting狀況發生。所以不是dimension越高就越好,因為會造成需要運算成本越高且會有overfitting狀況發生。
Overfitting
就是模型將<考題,答案>整個背下來,當你測試或是上線正式機就發現整個準確度下降,所以和都可以有好準確度
所以我們可以利用靶來說明,f為理想的方程式,g是我們假設的hypothesis也可以稱為模型,當找到的g越接近f表示我們離事實越接近,會影響f、g之間的距離為Bias和Variance,所以重點是要用對模型且特徵資料需要預先處理/找到對關鍵的資料集才有可能找到理想解(最接近實務的解)。
用途 | Low Variance | High Variance |
---|---|---|
Low Bias | 理想解(最接近實務的解) | 表示找的解有接近靶心,但是因模型複雜度較高,所以g之間的變異數也較大 |
High Bias | 模型找出來的解離理想解偏差太多 | 模型的解偏差太多且加上資料之間變異數大 |
我們希望訓練出來的模型,放到測試機執行,至少error小於或等於測試機訓練時的誤差值,
- Underfitting : 當我們找到的模型太過簡單,例如線性方程式,造成訓練資料集時誤差bias很大,
- Overfitting : 使用複雜的模型解,造成g之間的變異數很大,在訓練資料集可以符合但使用測試資料時出現巨大誤差
Model selection is important bnt not trivial
參考資料
台大資訊 人工智慧導論影片
https://www.youtube.com/watch?v=8sPQJkSpe0c
https://www.youtube.com/watch?v=MSQykQAsdoQ
https://www.csie.ntu.edu.tw/~cjlin/libsvm/
留言
張貼留言