iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 18
0

這幾天提到的概念:Feature Crosses、Feature不能太多等等,聽起來是一回事,但做起來又是另外一回事。本篇會稍微玩一下遊戲區,看看這些概念到底在說什麼。


我們使用類似先前範例的四個象限數據,來進行測試。
測試的範圍會是:線性函數的參數XY,以及X,Y,最後是Feature太多的話會有怎樣影響。

  • 使用線性函數的XY的Feature:
    https://ithelp.ithome.com.tw/upload/images/20191003/20103826Xj47PobCpP.png

可以看得出來,我們圖的線都是在右下角,但是卻無法把我們的兩種不懂的點點們適當的做區別,所以我們的loss高居不下,達到0.548,完全不能使用這個模型。

  • 兩個參數X1,Y2的Feature:
    https://ithelp.ithome.com.tw/upload/images/20191003/20103826cqr5jg1yic.png

僅使用X1,Y2的方式,可以看得出來很快(實際上不到一百就是現況),就可以把點點們適當分類,並且區分成四塊。而且total loss只有0.003,是個優質的模型。/images/emoticon/emoticon58.gif

  • 用很多Feature:
    https://ithelp.ithome.com.tw/upload/images/20191003/20103826YlvJoliABy.png
    上圖是初期圖片,看起來模型製作很不穩定,誤差值忽大忽小。而主要提供的是以XY的Feature。

https://ithelp.ithome.com.tw/upload/images/20191003/20103826FEoSXZN5e0.png
Total loss逐漸縮小,也比較穩定的前進

https://ithelp.ithome.com.tw/upload/images/20191003/20103826x06TxlkdkS.png
次數多了Total loss也下降了,最後呈現一個穩定值。如果移到最右邊的圖,會發現我們用這些Feature可以區分出,右下角一類,其他同類。但事實上,這個模式也無法完成分出兩個部分。

所以這樣的Feature並不是一個好feature,所以要更換Feature內容。

  • Feature Crosses:
    https://ithelp.ithome.com.tw/upload/images/20191003/20103826aKAUuq9mJX.png

使用兩個參數後,可以看到迅速達到目標,一下子就得到新模型,而且誤差值超低。是個好模型。細看裡面的Feature貢獻粗細,先前的範例都是XY,這次X1,Y2獨領風騷,所以這樣才是正解。

但有個更好的方法,更快算出模型:
https://ithelp.ithome.com.tw/upload/images/20191003/20103826ViAt6wVpUC.png
也就是一開始就使用X1,Y2,可以更快速的得到模型,而且提供與整理的資料較少,以比較快完成前置作業。


睫毛之聲:

跟著教學文件說明,再結合playground,讓這幾天抽象的作法與結果,更清楚的表達出來。而這幾天也逐漸看懂playground的各參數意義,更了解目前的作法可以幫助機器學習多少。
真的沒事可以去playground逛逛。


上一篇
【Day17】2rd:特徵十字(Feature Crosses)# 2 -One-Hot Vectors
下一篇
【Day19】3rd:Google機器學習環境
系列文
Machine Learning(by Google)30

尚未有邦友留言

立即登入留言