什麼是Neural Networks?
假設有以下的data,我們如果用某個function來fit這個dataset (例如linear regression),這個function可以說就是一個最簡單的neural network (事實上這個藍色的線代表的function叫做rectified linear unit, ReLu):我們把size資訊丟進去一個neuron,最後吐出一個price prediction:
所以neuron代表的就是一個function。
如果考慮更多input feature的話,一個較大型的neural network就會出現了:
Applications
Structured Data vs Unstructured Data
structured data就是某些數字量化的,跟要預測事務有相關性的data,例如年齡, 價錢, ...Unstructured data通常是某個整體性instance的呈現,例如一張圖的pixels,或是一段錄音檔的震幅,或是一篇文字,這樣的raw data還不知道如何抽出量化的資訊者 (patterns):
為何Neural networks近年來快速發展?
由於data變多了,以及有更好演算法能力train更大型的NN,兩者都是NN會比傳統ML例如svm / logistic regression好的原因:
由上圖可以看出,當x軸 (m = number of training data)增加時,傳統ML方法(紅線)並無法提升performance,而NN可以exploit big data,而且performance隨著NN的scale成長。但是在small data領域,則傳統ML不輸給NN,所以取決於feature engineering等技巧。
另一個推進NN的動力是硬體計算能力大幅提升,因為training NN是一個iterative action:
train的越快,越能改進NN。
沒有留言:
張貼留言