今天開始學習Lab: Tensorflow platground.
Tensorflow platground 是一個可以幫助學習深度學習的工具之一,你可以利用它來輕鬆做出一個神經模型開始訓練,使用的過程非常視覺化,包括你的loss,weights都用視覺圖來顯示,你可以非常直覺的看出訓練結果與篩選你想要的weights.他是一個非常強大的學習工具.
首先我們嘗試做一個分類問題:將兩群資料點分散開來,你可以選擇data是分散的,這樣比較好訓練,接著選擇你想要features(這個步驟實際上訓練不一定知道喔!),最後重要的就是看看你的learning rate是多少?也就是今天的重點! 最佳化的問題,看看在gradient descent中learning rate的影響.
learning rate: weights: loss:
0.001 0.65 緩降
0.1 1.0 中間
10 12.0 急降
藉由調整learning rate,我們可以發現由小到大,我們loss下降的越來越快.
並且在調大learning rate時, weight magnitude會變大,也就是說gradient descent走了步伐較大.
接著我們進行 advanced TensorFlow playground
在這一part我們調整data的型態,從linear -> non-linear data.我們可以從視覺圖上輕易看出這點.然而我們發現用原本的feature並不能成功分類data. 原因出在non-linear data, 要解決這點我們增加更多featrues, 例如原本是用x,y. 現在用x,y,x^2,y^2等等......這些非線性的features.使用之後我們會發現結果成功了. 因此我們可以知道
接著我們進行更複雜的model又會發現現有的features又不可行了.而我們也找不到新的features(人力有限),因此我們需要的是更複雜的NN Model!