最近在研究機器學習,隨手將學習的過程記錄下來,方面本身的學習與回顧html
機器學習(Machine Learning,ML)是專門研究計算機怎樣模擬或實現人類的學習行爲,以獲取新的知識或技能,從新組織已有的知識結構使之不斷改善自身的性能的一門科學技術。python
它使用計算機技術,應用微積分、機率論、統計學、信息論、逼近論、凸分析、算法等多種不一樣的理論與學科,針對分析目標創建有針對性的數據模型,經過對過往歷史數據的學習(分類、迴歸、聚類等),完成基本算法模型,並能經過後續持續的學習(數據輸入),在將雜亂的數據轉換(輸出)成有用信息的同時,還能不斷優化改造自身。git
對於學習,人的學習過程,是經過觀察(輸入),根據過往經驗對觀察到的內容進行思考(處理),最後得出結論(輸出)的過程。github
而機器學習是計算機利用已有的數據(通常是海量數據),得出了某種模型(算法模型),並利用此模型預測將來的一種方法。算法
機器學習主要解決的問題能夠概括爲:優化,預測,相關性。能夠說,只要是涉及到優化,預測,個性化相關的問題,機器學習和深度學習均可以處理。apache
好比說,咱們去買百香果吃,咱們沒有買百香果的經驗,不知道那些是甜的那些是酸的,而後咱們買了一大堆回來,有大的、小的、輕的、重的、紅的、紫的、白的、黃的、果皮光滑的、幹皺的...而後每個都嘗一便,最後發現,百香果原來有兩大類,紫紅和黃白兩類,紫紅類的,果皮越深(越紫越黑)的越甜,黃白類的越黃越甜,跟大小無關,跟果皮的光滑度無關,而一樣大小,越重的果汁越多。黃白類的比紫紅類的果子甜度更高一些。那麼下次去買的時候,天然就懂得如何挑選了。編程
而機器學習跟買水果的過程相似,經過建模(對水果甜度的判斷)、設計策略(針對百香果不一樣的形狀特性)和算法(品嚐百香果,得出酸甜結論),而後輸入大量數據(一大堆不一樣種類與特徵的百香果)進行訓練,最後學會判斷的過程(知道什麼類型的百香果比較甜)。模型建好後,就能夠針對更多的數據進行測試並輸出結果(下次去買水果直接挑選學習後的水果類型,能夠直接根據特徵判斷酸甜度),而這些結果也將不斷的修正模型(買回來後繼續品嚐,觀察酸甜度,繼續總結經驗,調整判斷方法),提高模型的準確率,更好的幫咱們預測數據。網絡
當前,機器學習普遍應用於搜索引擎、垃圾郵件處理、廣告推薦、數據挖掘、圖像識別、天然語言處理、生物特徵識別、醫學診斷、證券投資分析、DNA序列測序、語音和手寫識別、機器人運用等諸多領域,且應用的領域愈來愈普遍。機器學習
入門學習機器學習,只須要掌握下面這些能力:編程語言
對於入門來講,不必定要具有了全部的數學理論基礎才能開始,不具有這些知識並不表明不能靈活操做各個機器學習庫,只是有些算法的理解會更困難。這些基礎理論在後續須要慢慢補上,它們關係到你在AI領域天花板的高度。而直接從實踐入手,會更容易理解算法,對後續算法的深刻學習也有很大的幫助。
而想進階成爲專家,除了須要增強數學基礎理論(高數、線性代數、統計學、機率論、信息論等數學基礎)的學習外,還須要學習大數據相關的知識與技能(如:Hadoop、HBase、Spark、kafka、Flume、Sqoop、Storm等)。而後根據發展方向,有針對性的學習NLP、神經網絡等內容,往更多更專業的領域深刻學習。
學習機器學習,須要分階段按部就班學習,儘可能不要一會兒就深刻算法的推導中(除非你的數學理論很是紮實),不要試圖掌握全部的相關數學知識再開始學習,不然很容易從入門到崩潰,從崩潰到放棄。
對於初學者,建議從這幾方面來學習:
參考資料: