機器學習實戰及Python實現——機器學習基礎

機器學習 編程語言 人工智能 科技 極數蝸牛 2017-04-18

以下內容是《機器學習實戰》讀書筆記,關於該書介紹請見《機器學習實戰及Python實現(推薦一本好書)》一文。本篇是對第1章《機器學習基礎》的相關學習筆記。

該章節主要講了7方面內容,包括機器學習應用場景、概念,主要任務,專業術語、算法選擇、實施步驟,以及Python簡單介紹(優缺點和NumPy庫)。

1.機器學習的應用場景有哪些?

機器學習應用十分廣泛,現已深深融入到我們日常生活中,像照相時的人臉識別、垃圾郵件過濾、購物時產品推薦、手寫數字識別、優惠卷的精準營銷,天氣預測,疾病檢測等。

機器學習實戰及Python實現——機器學習基礎

機器學習應用

2.機器學習是什麼?

機器學習是橫跨計算機科學、工程科學和統計學等多學科的交叉科學,能夠從海量的數據中發現數據規律和有用信息。該學科是人工智能的一個發展方向。

3.機器學習的關鍵術語?

為高效理解和學習該學科,需要掌握關於機器學習的專業術語。以構建鳥類分類系統為例(見下圖)。其中每行被稱為一個實例或樣本;而體重、翼展、腳蹼、後背顏色被稱為屬性或特徵,鳥種類被稱為目標變量。另外,數據類型有數值型、二值型和枚舉型。一般機器學習會分為訓練集和測試集,其中訓練集來訓練模型,而測試集來評估模型的性能。

機器學習實戰及Python實現——機器學習基礎

機器學習術語

4.機器學習的主要任務是什麼?

機器學習的主要任務有兩個,分別是分類和迴歸。分類主要是將數據集劃分到合適的類別中,而回歸是預測數值型數據,通過曲線擬合來預測數據。該兩類算法都被稱為監督算法,因為他們知道預測什麼,即有目標變量。與之對應的是無監督算法,包括聚類、密度估計和降維等。下圖是關於各類算法。

機器學習實戰及Python實現——機器學習基礎

機器學習算法一覽表

5.如何選擇合適機器學習算法?

在選擇合適算法之前,需要考慮兩個問題:一是算法任務目的是什麼,是預測概率還是分類;二是收集的數據是什麼,是圖片、文本、視頻等類型,是否有缺失值和異常值等。可以簡單參考一下圖表。

機器學習實戰及Python實現——機器學習基礎

機器學習算法選擇

6.機器學習是步驟有哪些?

機器學習步驟包括6步:

(1)收集數據:收集樣本數據。如網絡爬蟲、API、物聯網設備、網絡數據等。在學習的時候可以使用公開的數據集。可參考《極簡瞭解機器學習常用數據集》文章中介紹的數據集。

(2)輸入數據:將收集的數據進行清洗,保證數據格式符合算法或編程操作的樣式。如Python的list格式的。數據類型的格式化,字符型還是數字型。

(3)分析數據:分析數據是否有髒數據,如異常值,缺失值等情況,另外通過分析選擇相關的特徵屬性,減少計算量。

(4)訓練算法:選擇合適算法對模型進行訓練,該步驟是關鍵核心。

(5)測試算法:主要是對第4步訓練的模型,用測試集評估該算法的性能,如準確率。

(6)使用算法:將獲得的算法開發成程序,來執行實際任務,並來反饋是否能夠真正在現實生活中得到應用,並根據實際應用效果來優化算法。

7.Python簡單介紹?優點?缺點?

Python是一門高級面嚮對象語言,主要優點有:

(1)語法清晰,結構簡單,優雅。對於沒有編程經驗的初學者,也是很容易上手。被稱為“可執行偽代碼”。

(2)在各領域應用廣泛,代碼範例比較多,便於快速學習。另外,還有很豐富的數據庫和模塊,如SciPy和NumPy等。

(3)便於操作各種文本文件,如Excel,txt,CSV,圖片等。

但唯一缺點是性能問題,運算效率不如Java和C代碼高。但是可以通過Python調用C編譯的代碼,可以在一定程度上解決性能問題。

機器學習算法中的運算很多是根據矩陣來運算的,而Python中的NumPy函數庫就聚合了該功能。比如矩陣相乘,求矩陣逆,單位矩陣等都很easy。

附:機器學習基礎的思維導圖

機器學習實戰及Python實現——機器學習基礎

機器學習基礎思維導圖

相關推薦

推薦中...