1、序言html
微軟的機器學習框架於2018年5月出了0.1版本,2019年5月發佈1.0版本。期間各版本之間差別(包括命名空間、方法等)仍是比較大的,隨着1.0版發佈,應該是趨於穩定了。以前在園子裏也看到很多相關介紹的文章,對個人學習提供了很多幫助。因爲目前資料不是很豐富,因此學習過程當中也走了很多彎路,本系列的文章主要記錄我學習過程當中的一些心得體會,並對一些細節會作詳細的解釋,但願能爲機器學習零基礎的同窗提供一些幫助。(C#零基礎可不行)git
2、基本概念github
一、什麼是機器學習?
定義:一個電腦程序要完成任務(T),若是電腦獲取的關於T的經驗(E)越多就表現(P)得越好,那麼咱們就能夠說這個程序‘學習’了關於T的經驗。算法
簡單解釋什麼叫「機器的學習」:若是輸入的經驗越多表現的越好,這就叫「學習」。舉個例子:傳統的程序邏輯是基於算法的,在算法不變的狀況下,程序就是運行100年能力也不會有提高,但機器學習是基於數據(樣本)的,在算法不變的狀況下,累計的有效數據越多,程序表現能力就越強。框架
二、經過機器學習解決問題和傳統算法解決問題的區別機器學習
須要解決的問題:會議室進來一位男生,請他站在攝像頭前面,經過一個程序評價一下這位男生身材是否很好。學習
(1)傳統解決方案spa
首先咱們分析要判斷一我的身材是否很好,主要的判斷特徵包括:身高、體重、三圍等等,而後經過一個衡量算法(好比BMI)進行計算,流程以下:htm
(2)機器學習算法對象
機器學習是依賴樣本數據的,因此解決這個問題的思路是這樣的:
①首先你得上街去收集數據,詢問你採訪對象的身高、體重、三圍數據,而後根據你的經驗給他一個評判,造成下表:
②對收集到的數據進行訓練,造成模型,而後經過模型對要判斷的對象進行評判。流程以下:
小結:經過這個問題的解決,感受經過機器學習來解決問題比傳統方法麻煩多了,是的,對於身材判斷這樣的問題,人類能夠很簡單找到一個邏輯分析的方法,因此經過邏輯算法解決就比較方便,但有時候不少事情咱們人類是很容易處理的,但咱們殊不知道其中的邏輯,好比:判斷一張圖片是不是18+圖片,判斷一片論文是否寫得很好,判斷一我的是否長得漂亮等等。這些問題人類很輕鬆就能處理,但沒法總結出其中的規律並交給機器去執行,這時候機器學習算法就能夠派上用場了。
3、機器學習的流程
機器學習的流程以下:
數據準備 -> 建模 -> 訓練 -> 評估 -> 應用
在實際應用時,因爲訓練的過程可能時間比較長,因此咱們會分兩個階段進行:
一、學習階段:數據準備 -> 建模 -> 訓練 -> 評估 -> 保存模型
二、消費階段:讀取模型 -> 應用
評估的過程就是對模型的檢驗,咱們通常會把樣本數據隨機分紅兩份,其中一部分用來學習,另外一部分用來檢驗模型效果,判斷一下咱們的模型能力。
以上是涉及到機器學習的有些最基礎的理論知識,下面幾篇文章會由淺入深介紹ML.NET的一些應用。
系列文章目錄:
機器學習框架ML.NET學習筆記【1】基本概念
機器學習框架ML.NET學習筆記【6】TensorFlow圖片分類
資源下載:
項目源碼:https://github.com/seabluescn/Study_ML.NET
資源文件:https://gitee.com/seabluescn/ML_Assets
(因爲資源文件較大,因此放在碼雲平臺提供下載)