admin 發表於 2017-10-16 01:39:33

如何使用 Python 學習機器學習(Machine Learning)

什麼是機器學習(Machine Learning)?機器學習是一種資料科學的技術,協助電腦從現有的資料學習,以便預測未來的行為、結果和趨勢。根據學習的方式又可以分為需要解答的監督式學習(Supervised learning)、非監督式學習(Unsupervised learning)和增強學習(Reinforcement learning)(還有一種混合式的半監督式學習)等子類別。機器學習技術可以應用的範圍十分廣泛,總的來說機器學習可以解決以下幾種問題:
[*]分類問題:這是 A 類 或 B 類嗎?
[*]異常值判斷:這很奇怪嗎?
[*]預測性分析:有多少?
[*]分群問題:這是如何組織的?
[*]增強學習協助決策:我接下來該怎麼辦?
當我們蒐集到相關、精確、連貫、足夠資料就可以挑選合適的演算法進行模型的的建置。為什麼選擇 Python?在資料科學和機器學習領域最重要的兩大程式語言就是 Python 和 R,Python 簡潔易學、應用範圍廣(不限於數據分析)且學習曲線平緩,適合作為第一個入門的程式語言,透過 pandas、SciPy/NumPy、sckikit-learn、matplotlib 和 statsmodels 可以進行數據分析的工作,適合工程任務和需要和網路應用程式整合的專案。至於 R 由於是統計學家開發的程式語言,則是擅長於統計分析、圖表繪製,常用於學術研究領域,建議也要有一定程度的掌握。一般情況下 Python 和 R 並非互斥,而是互補,許多資料工程師、科學家往往是在 Python 和 R 兩個語言中轉換,小量模型驗證、統計分析和圖表繪製使用 R,當要撰寫演算法和資料庫、網路服務互動等情況時在移轉到 Python。為了降低學習成本,我們先使用 Python 進行介紹。若對於 Python 和 R 比較,這邊有兩篇文章可以參考 数据科学界华山论剑:R与Python巅峰对决、Which is better for data analysis: R or Python?。如何開始入門機器學習?事實上,資料科學是個跨領域學門,在學習如何使用 Python 進行機器學習過程中通常必須掌握以下知識:
[*]機器學習演算法
[*]Python 程式語言和資料分析函式庫
[*]線性代數/統計學等相關學門
[*]專業領域的領域知識(Domain Knowledge)
為了掌握以上三大領域知識(我們先把焦點放在機器學習核心技法,暫時忽略資料科學中對於領域知識的掌握),具體來說我們可以有以下步驟可以參考:
[*]掌握基礎 Python 程式語言知識線上學習資源:

[*]Codecademy
[*]DataCamp (也可以學 R)
[*]Learn X in Y Minutes (X = Python)
[*]Learn Python the Hard Way
[*]了解基礎數學/統計學和機器學習基礎知識

[*]可汗學院線性代數
[*]Intro to Descriptive Statistics
[*]Intro to Inferential Statistics
[*]Andrew Ng 機器學習課程
[*]Andrew Ng 機器學習筆記
[*]Carnegie Mellon University Machine Learning
[*]知道如何使用 Python 科學計算函式庫和套件推薦安裝 Anaconda,支援跨平台多種版本 Python,預設將數據分析、科學計算的套件裝好,自帶 spyder 編輯器、Jupyter Notebook(IPython Notebook),可以提供一個網頁版介面,讓使用者可以透過瀏覽器進行 Julia、Python 或 R 程式的開發與維護。

[*]numpy:科學分析,Scipy Lecture Notes 教學文件
[*]pandas:資料分析
[*]matplotlib:會製圖瞟
[*]scikit-learn:機器學習工具
[*]使用 scikit-learn 學習 Python 機器學習應用

[*]Machine Learning: Python 機器學習:使­用Pytho­n
[*]運用 Python 實作機器學習演算法

[*]感知器
[*]決策樹
[*]線性迴歸
[*]k-means 分群
[*]實作進階機器學習演算法

[*]SVM
[*]KNN
[*]Random Forests
[*]降低維度
[*]驗證模型
[*]了解深度學習(Deep Learning)在 Python 的實作和應用

[*]NTU Applied Deep Learning
[*]Stanford Deep Learning
[*]深度學習(Deep Learning)自學素材推薦
[*]深度學習 Deep Learning:中文學習資源整理
總結以上整理了一些機器學習網路學習資源,若你累積一些小小經驗後,不妨挑戰一下 Kaggle 測試一下自己的實力並累積更多數據分析的經驗。source from:http://blog.techbridge.cc/2017/04/08/how-to-mastering-machine-learning-with-python/
頁: [1]
查看完整版本: 如何使用 Python 學習機器學習(Machine Learning)