機器學習學習基礎一章先介紹了機器學習的概念,講解了機器學習可以幹什麼,遇到實際問題時應該怎麼選擇合適的機器學習演算法,簡單介紹了機器學習應用程式的步驟,介紹了機器學習實戰過程中當前使用最多的語言python和機器學習中常用的函式庫numpy。
機器學習是當前it界非常火的技術之一,屬於人工智慧的一部分,在加速世界生產和生活快速走向智慧型化中扮演著重要的作用。機器學習、資料探勘、人工智慧、深度學習、自然語言處理之間都有一定的關聯性,在近幾年大資料和雲計算興起之後,人類迎來了第三次人工智慧熱潮,也帶來了機器學習熱。機器學習是乙個比較複雜的學科,其學科體系非常龐大,在機器學習實戰中,著重從實踐的角度講解機器學習演算法的原理和基於python的程式實踐過程,是入門機器學習和快速入門機器學習不可多得的教材。
專家學者對機器學習的解釋不盡相同,通俗講,機器學習是使計算機具有模擬人類行為的能力,使經過某種訓練的之後電腦程式可以像人腦一樣執行人類的行為動作。為了更形象的解釋什麼是機器學習以及機器學習中的概念,在機器學習實戰書中,採用機器學習方式識別啄木鳥的案例解釋了什麼是機器學習和機器學習中最常見的概念。乙隻鳥有體重、翼展、後背顏色、種屬等多個屬性,屬性也稱為特徵。在這些屬性中,按照監督學習(每乙個訓練樣本都給定最終的結果,這樣的學習方式稱為監督學習)的方式訓練的時候,需要對每乙個樣本的類別(結果或者目標變數)。要使機器具有人類的思維和執行能力,就需要對機器進行訓練,這也是機器學習的第乙個過程,經過訓練之後會得到乙個模型,這個過程通常叫做訓練,有時候也叫做建模,需要給定乙個訓練集。建模之後的模型並不一定可以立即用於識別鳥的類別,因為建立的模型並不一定適合解決這個問題,或者說這個模型原本就是有問題的。這就需要測試模型的正確性,這個過程稱為測試,需要乙個測試集。訓練集與測試集的不同之處在於,訓練集必須保證資料集的完整性,而測試集中不需要指定資料的類別。經過測試之後,如果建立的模型的精確度達到某個指標,我們認為這個模型是合理的,可以直接使用。
機器學習主要有兩個任務,一是回歸、一是分類。回歸主要用於**數值型資料,分類主要用於把例項資料劃分到合適的分類中。分類和回歸都屬於監督學習,之所以稱為監督學習,是因為這類演算法必須先知道要**什麼,即目標變數的分類資訊。與監督學習相對的是無監督學習,在無監督學習中,資料沒有類別資訊,也不會給定目標值。在無監督學習中,將資料集合分成由類似物件組成的多個類的過程稱為聚類;將尋找描述資料統計值的過程稱為密度估計。無監督學習可以減少資料特徵的維度,以便我們可以使用二維或者三維圖形,更加直觀的展示資料資訊。
那麼該怎麼確定選擇哪個機器學習演算法?這是乙個非常泛化的問題,首先需要明確使用機器學習演算法的目的是什麼,要解決的問題屬於哪一類,對應機器學習演算法分類的哪一類,這類機器學習演算法有哪些,這些機器學習演算法有哪些優點和缺點等。在綜合考慮了這些因素之後,一般就可以選擇乙個相對比較正確的機器學習演算法了。而有時候還需要考慮資料本身的問題,如:特徵值是離散型還是連續型變數,資料中是否存在缺失值,資料中是否存在異常值,某個特徵發生的頻率如何。在機器學習中,一般不存在最好的演算法或者給出最好結果的演算法,只能在一定程度縮小演算法的選擇的範圍。對於選擇的每種機器學習演算法都可以使用其他機器學習技術改進其效能。在處理資料之後,兩個演算法的執行效果也可能發生變化。
開發機器學習應用程式的一般步驟:
(1)收集資料:可以使用多種方法收集資料。如:製作網路爬蟲從網路上抽取資料、從rss反饋或者api中提取資訊、裝置發過來的實測資料;
(2)準備輸入資料:得到資料之後必須保證資料格式符合要求,在機器學習實戰中採用的格式是python語言的list。使用這種標準資料格式可以融合演算法和資料來源,方便匹配操作。在機器學習演算法中,還需要注意特徵值的格式,在一些演算法中,要求特徵值和目標變數是字串型別,而另一些演算法可能要求是整形;
(3)分析輸入資料:人工分析前兩步中得到的資料,檢視資料中是否有空值,是否有異常值等;
(4)訓練演算法:開始機器學習的訓練過程;
(5)測試演算法:測試演算法的工作效果,對於監督學習,必須已知用於評估演算法的目標變數值,對於無監督學習,也需要使用其他檢測手段評價演算法的成功率。如果演算法的正確率不能達到要求,需要返回重新訓練演算法;
(6)使用演算法:把前面幾步訓練得到的結果應用於實際任務
在機器學習第一章的最後講解了機器學習中常用的python語言和常用的庫(numpy、scipy、matplotpy等)。有關python常見操作和常用的庫的詳細知識,後面以專題的方式進行總結。
機器學習實戰 第一章
機器學習能讓我們從資料集得到啟發 搜素引擎,郵件過濾系統,推薦系統,資料探勘 啤酒和尿布 機器學習在我們生活中隨處可見。機器學習是必學的。即使想做其他方向的研究,ml也是基礎 1 機器學習專業術語 訓練集,測試集,目標變數 如 鳥的類別 知識表示 如 可以採用規則集的形式,也可以採用概率的形式 採用...
第一章 機器學習基礎
首先考慮使用機器學習演算法的目的。如果想要 目標變數的值,則可以選擇監督學習演算法,否則可以選擇無監督學習演算法。確定選擇監督學習演算法後,需要進一步確定目標變數型別,如果目標變數是離散值,如是 否,則可以選擇分類演算法 如果目標變數時連續性數值,如0.0 100.00,需要選擇回歸演算法 如果不想...
機器學習第一章
q 什麼是機器學習 機器學習不同於以往的計算機程式設計,致力於研究如何通過計算機手段,利用以往的經驗來改善系統自身的效能。一般的程式設計都是明確的告訴電腦該做什麼。機器學習希望提供資料給學習演算法,讓它自己學習,找到其種的規律。在面對新情況的時候就能應用已產生的模型,提供相應的判斷。機器學習的本質任...