iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 8
0
Data Technology

Microsoft R Solution系列 第 8

Day08 - Under fitting與 Overfitting Part3

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20171226/20103333CdKkmWkcOL.png
透過前兩篇, 我們了解了機器學習模型的兩個極端範例Under fitting與 Overfitting, 而Under fitting可以增加項次或是增加Feature即加入更多的資料來解決, 那麼Overfitting解決方式呢? 以林教授說法, 模型做得太好, 要對它懲罰跟踩煞車, 那這又是甚麼意思呢, 以底下四次方式子的來說

y=b0+b1X +b2X^2 + b3X^3 + b4X^4

懲罰就是要想辦法調整b1, b2, b3等係數, 踩煞車就是Regularization即在方程式後面加入一個函數, 以參數的方式做調整, 方程式概念如下

y=b0+b1X +b2X^2 + b3X^3 + b4X^4 + Regularization函數

關於Regularization, Andrew Ng與林軒田教授的課, 講解得非常清楚, 這邊就不贊述, 有興趣可以直接參考, 接下來看看實際的案例長甚麼樣子, 我們修改day06程式如下
https://ithelp.ithome.com.tw/upload/images/20171226/20103333my223OiT2J.png

這邊用的是e1071套件, 特別一提的是這個是由台大林智仁教授所開源出來的libsvm ( https://www.csie.ntu.edu.tw/~cjlin/libsvm/ ), 也有Python與Java的版本, 而R的e1071套件則是libsvm的wrapper,讓我們可以直接透過e1071讓libsvm的核心幫我們算出SVM的模型, 另外這邊有兩個參數type與kernel要注意一下, 可以透過F1查找svm的使用方式, type的說明如下,因為薪資的這個範例是regression的類型, 所以這邊採用的是eps-regreesion
https://ithelp.ithome.com.tw/upload/images/20171226/20103333fukiNsSY9A.png

Kernel的說明如下, 這邊選擇的是radial basis即Gaussian kernel, 至於這些Kernel的說明可以參照Andrew Ng與林軒田教授的課程
https://ithelp.ithome.com.tw/upload/images/20171226/20103333eCkPfPQREq.png

如同前兩篇一樣, 把視覺化結果叫出來看一下
https://ithelp.ithome.com.tw/upload/images/20171226/20103333upuTbGP5yb.png

而上圖可以發現, 幾乎所有的點, 都靠近這條曲線, 只有Level 10的點,離這條線非常遠, 這就是在機器學習中, 我們希望模型可以做得好, 又不要做得太好, 因為做得不好就是Under fitting, 做得太好就是Overfitting, 而SVM排除了Level 10這個資料的Outlier(異常值), 就是為了避免做得太好, SVM是個好用的演算法, 裡面還有參數來控制Regularization,對於機器學習來說, SVM絕對是必學的演算法, 此時耳邊又想起田神說的那個胖胖的邊界(Soft Margin)

回到HR主管的需求與核薪表, 預測面試人員所要求的薪資與職位是否合乎預期?
https://ithelp.ithome.com.tw/upload/images/20171226/201033333r1TX6urFx.png

假若今天有人想來應徵Senior Consultant的職位, 期望薪資為165,000, 用人單位主管與HR主管審核履歷與面談後, 覺得該面試人員應該有介於Region Manager與Partner, 假定Level =6.5, 此時我們用SVM做出來的模型來做預測,程式碼與結果如下
https://ithelp.ithome.com.tw/upload/images/20171226/201033333oLJBhH5lf.png

算出來為177,861, 結果就是錄取此人囉, 不過HR主管又提了個需求, 希望有個Web, 可以做為輸入介面與呈現預測結果, 在後面文章會有幾篇介紹R與Web的互動, 來完成這個需求


上一篇
Day07 - Under fitting與 Overfitting Part2
下一篇
Day09 - Multiple Linear Regression and Feature selection Part1
系列文
Microsoft R Solution30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言