一、AI與機器學習
在網絡上,AI、人工智能、機器學習、深度學習等等名詞充斥了諸多文章中,讓很多人摸不着頭腦,到底什么是什么。
下面,我們來簡單梳理一下:
- AI,是Artificial Intelligence的英文首字母縮寫,也就是人工智能,所示說AI = 人工智能;
- 機器學習,是人工智能的一種實現方法,利用算法或邏輯從數據中抽取模型;
- 深度學習,又是機器學習的一種技術,相對於淺層的傳統機器學習技術。
本套《Python AI極簡入門》講的是Python的機器學習,大部分會涉及到傳統機器學習,少部分或無部分涉及到深度學習。
二、基於機器學習方法的AI解決什么問題
機器學習能夠從數據中找到事物的規律,並通過結果展示出來。通常而言,機器學習用於解決下述三種問題:
- 分類問題:在有結果標記的情況下進行類型的預測;
- 回歸問題:在有結果標記的情況下進行數值的預測;
- 聚類問題:在沒有結果標的情況下進行種類的划分;
分類問題和回歸問題同屬於監督學習的范疇,利用一組已標記的數據,來對陌生數據進行預測;
而聚類問題則屬於非監督學習,從大量數據中發現其共性和特性,對數據進行區分。
看上去是不是很懵逼,嗯,在現實生活中可以將機器學習解決分類問題來實現對垃圾短信、垃圾郵件、圖片屬性等的區分;可以將機器學習解決回歸問題來實現對各種價格進行預測;可以將機器學習解決聚類問題來實現對客戶群體的划分等。
這樣是不是容易理解多了?
三、 機器學習工作流
通常來說,一個機器學習任務可以分解成下面四個方面:
- 數據處理(從原始數據進行各種處理)
- 生成訓練集(從預處理好的數據中)
- 算法的選擇、訓練和評估
- 部署和監控
從源數據開始,到完成一個機器學習系統,一個機器學習的解決方案通常遵循以下模式:
源數據
顯然,沒有機器學習系統可以建立在沒有數據的基礎上。數據收集應該是機器學習的第一個重點。
數據的收集,可以依賴於公開的數據集、或者是自己機構、組織、公司積累下來的數據,或者是自己寫爬蟲爬取下來的數據。(對爬蟲感興趣又不熟悉的同學可以看看我寫的Python爬蟲入門實戰)
數據預處理
收集到手的源數據如果沒有經過預處理,基本上是不符合我們進行機器學習預測的要求的,其或者有缺失值,或者數據類型不統一,或者數據形式不支持……
生成訓練集
從預處理好的數據集中按照一定的規則,將一份數據集分割為大小不一的兩份數據,其中數據量大的為訓練集,用於接下來的機器學習模型(算法)的訓練,其中數據量小的為測試集,用於測試評估經過訓練集訓練后的機器學習模型的效果,
算法選擇、訓練和評估
根據實際需要解決的問題,選擇合適的算法(大神可以自己設計算法),創建一個機器學習模型,將生成的訓練集傳入進行訓練,得到一個訓練好的機器學習模型。再使用測試集對模型效果通過一些評估算法進行效果評估。
開發和部署
如果模型效果很好,那么可以將模型保存到本地,方便其他端的調用(比如Web網站、GUI程序等)。
下一篇,我們將介紹Python AI預測——機器學習數據預處理。
文章版權所有:州的先生博客,轉載必須保留出處及原文鏈接