機器學習是什麽?深度學習DeepLeaning現實一些該怎麽學?
作為剛入門的小白,剛剛以實驗出真理的心態抱著大腿完成了一次圖像分類達到top1-96的寶貴經歷。
以下是對於前輩講座理解以及這次實踐後理解心得:
機器學習是什麽?
機器學習是一門人工智能的科學,該領域的主要研究對象是人工智能,特別是如何在經驗學習中改善具體算法的性能。
機器學習是對能通過經驗(訓練)自動改進的計算機算法的研究。
機器學習是用數據或以往的經驗,以此優化計算機程序的性能標準。
機器學習是機器能通過分析尋找有監督或者無監督數據(數據集)的特征與模式,對未知的數據進行預測,並達到一一定準確率!
深度學習是什麽?
是機器學習的一個分支,是一種試圖使用包含復雜結構或由多重非線性變換構成的多個處理層對數據進行高層抽象的算法。
深度學習能夠自動尋找特征,避免手工提取特征的麻煩。
深度學習模型結構復雜,計算時間長。
深度學習在有大量數據的背景下表現比常見機器學習算法好,但數據量小的時候不建議使用。
深度學習為黑盒,可解釋性很差。
首先,正常情況,先看一兩本機器學習的書籍。比如西瓜書,或者集體智慧編程之類的算法入門。
了解一些算法原理:
聚類算法(k-means, k-means++, 層次聚類, 譜聚類)
分類算法(感知機, logstic回歸 ,SVM)
回歸算法(線性回歸,神經網絡)
集成學習(隨機森林)
評估指標(準確率,召回率)
另外,必須有一定的數學基礎:
- 微積分(多元微分,梯度,拉格朗日)
- 線性代數(矩陣奇異值分解,特征矩陣)
- 概率論(貝葉斯,條件概率,聯合概率分布)
再者,還要有編程基礎:
熟練使用Python
最好對C++,C也熟練使用(經常用這倆為運行緩慢的C寫接口)
對大數據平臺(Spark, Hive, Hadoop)有興趣的需要學習Java
對Numpy, Pandas, Scikit-learn等包熟練使用(調包俠的基本素養)
最後,數據是王道,無數次調整參數,實踐出真知。
對於數據來說,大部分實驗室都得有自己的特色數據,企業不僅需要買數據,跟地方合作采數據,還有完整的標註團隊。所以數據是王道。
對於個人,通過無數次調參實驗,解決過程中實踐反饋的問題。當自己有想法,再去實踐,看能不能達到自己的預期。
機器學習是什麽?深度學習DeepLeaning現實一些該怎麽學?