機器學習實戰之準備(一)
- 機器學習簡單概述
- 機器學習的主要任務
- 學習機器學習的原因
- python語言優勢
機器學習關鍵術語:
分類;訓練集;樣本集;訓練樣本;目標樣本;知識表示訓練集是用於機器學習演算法的數據樣本集合1.3 機器學習的主要任務機器學習的主要如何解決分類問題,主要任務是將實例數據劃分到合適的分類中。機器學習的另一項任務就是回歸。(回歸的例子之一就是 數據擬合曲線)分類和回歸屬於監督學習。監督學習:因為這類演算法必須知道預測什麼,即目標變數的分類信息。無監督學習:此時數據沒有類別信息,也不會給定目標值。無監督學習可以減少數據特徵的維度,使我們用二維圖或三維圖更加直觀地展示數據信息。聚類:數據集合分成類似的對象組成多個類的過程。密度估計:尋找描述數據統計值的過程。
1.4 如何選擇合適的演算法先考慮兩個問題:- 使用機器學習演算法的目的,想要完成何種任務?
- 需要分析或收集的數據是什麼?(了解數據的以下特徵:特徵值是離散變數還是連續型變數,特徵量是否存在缺失的值)
- 收集數據。我們有很多辦法收集數據,如爬蟲,設備發送的信息。
- 準備輸入數據。確保數據的格式符合要求。本書採用python的List
- 分析輸入數據。手工打開文本編輯器,看數據是否為空。瀏覽數據,分析是否可以識別模式。確保數據集中沒有垃圾數據。
- 訓練演算法。將前兩步得到的格式化的數據輸入到演算法,從中抽取知識和信息。得到的知識需要存儲為計算機可以處理的格式。
- 測試演算法。將實際使用第4步得到的演算法。對於監督學習,必須已知用於評估演算法的目標變數值;對於無監督學習,也必須用到其他的評測手段來檢驗演算法的成功率。
- 使用演算法。將機器學習演算法轉換為應用程序,執行實際任務。
有以下幾個原因:(1)python的語法清晰;(2)易於操作的純文本文件;(3)使用廣泛,存在大量的開發文檔
1.7 NumPy函數基礎下面給出一個數組和矩陣的例子:In [1]: import numpy as npnnIn [2]: x=np.random.rand(4,4)nnIn [3]: xnOut[3]:narray([[ 0.52844327, 0.22339639, 0.1034135 , 0.463985 ],n[ 0.14394297, 0.04331558, 0.17968244, 0.55428581],n[ 0.29320121, 0.4110452 , 0.6663981 , 0.14709608],n[ 0.69421236, 0.77925693, 0.64956842, 0.13911624]])n
In [6]: np.mat(x)nOut[6]:nmatrix([[ 0.52844327, 0.22339639, 0.1034135 , 0.463985 ],n[ 0.14394297, 0.04331558, 0.17968244, 0.55428581],n[ 0.29320121, 0.4110452 , 0.6663981 , 0.14709608],n[ 0.69421236, 0.77925693, 0.64956842, 0.13911624]])nnIn [7]: randMat=np.mat(x)n
In [8]: randMat.InOut[8]:nmatrix([[ 5.20712532, -4.48860333, 3.32227592, -2.99571552],n[-5.6330336 , 4.87766411, -6.17839321, 5.88601676],n[ 1.49156708, -1.72882662, 4.23683893, -2.56636519],n[-1.3955605 , 3.14903216, -1.75339714, 1.14992431]])nnIn [9]: invRandMat=randMat.In
In [10]: randMat*invRandMatnOut[10]:nmatrix([[ 1.00000000e+00, -4.44089210e-16, 4.44089210e-16,n-2.22044605e-16],n[ 0.00000000e+00, 1.00000000e+00, 0.00000000e+00,n0.00000000e+00],n[ 0.00000000e+00, 0.00000000e+00, 1.00000000e+00,n0.00000000e+00],n[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,n1.00000000e+00]])nnIn [11]: myEye=randMat*invRandMatn
執行了矩陣乘法,得到矩陣與其逆矩陣相乘的結果。
In [13]: myEye-np.eye(4)nOut[13]:nmatrix([[ 0.00000000e+00, -4.44089210e-16, 4.44089210e-16,n-2.22044605e-16],n[ 0.00000000e+00, -1.11022302e-16, 0.00000000e+00,n0.00000000e+00],n[ 0.00000000e+00, 0.00000000e+00, -4.44089210e-16,n0.00000000e+00],n[ 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,n4.44089210e-16]])n
原作名: Machine Learning in Action,譯者: 曲亞東 / 李銳 / 王斌 / 李鵬
推薦閱讀:
※沒想到你是這樣的「兔子」---kNN
※斯坦福大學機器學習 CS229 課程講義翻譯-Markdown 版本-第三章
※矽谷之路23:機器學習真人面試
※」CNN是空間上的深度網路,RNN是時間上的深度網路「這句話怎麼理解?
TAG:机器学习 |