機器學習框架ML.NET學習筆記【1】基本概念與系列文章目錄


一、序言

       微軟的機器學習框架於2018年5月出了0.1版本,2019年5月發布1.0版本。期間各版本之間差異(包括命名空間、方法等)還是比較大的,隨着1.0版發布,應該是趨於穩定了。之前在園子里也看到不少相關介紹的文章,對我的學習提供了不少幫助。由於目前資料不是很豐富,所以學習過程中也走了不少彎路,本系列的文章主要記錄我學習過程中的一些心得體會,並對一些細節會做詳細的解釋,希望能為機器學習零基礎的同學提供一些幫助。(C#零基礎可不行)

 

二、基本概念

1、什么是機器學習?
定義:一個電腦程序要完成任務(T),如果電腦獲取的關於T的經驗(E)越多就表現(P)得越好,那么我們就可以說這個程序‘學習’了關於T的經驗。

簡單解釋什么叫“機器的學習”:如果輸入的經驗越多表現的越好,這就叫“學習”。舉個例子:傳統的程序邏輯是基於算法的,在算法不變的情況下,程序就是運行100年能力也不會有提升,但機器學習是基於數據(樣本)的,在算法不變的情況下,累計的有效數據越多,程序表現能力就越強。

 

2、通過機器學習解決問題和傳統算法解決問題的區別

需要解決的問題:會議室進來一位男生,請他站在攝像頭前面,通過一個程序評價一下這位男生身材是否很好。

(1)傳統解決方案

  首先我們分析要判斷一個人身材是否很好,主要的判斷特征包括:身高、體重、三圍等等,然后通過一個衡量算法(比如BMI)進行計算,流程如下:

 

(2)機器學習算法

   機器學習是依賴樣本數據的,所以解決這個問題的思路是這樣的:

①首先你得上街去收集數據,詢問你采訪對象的身高、體重、三圍數據,然后根據你的經驗給他一個評判,形成下表:

②對收集到的數據進行訓練,形成模型,然后通過模型對要判斷的對象進行評判。流程如下:

 

小結:通過這個問題的解決,感覺通過機器學習來解決問題比傳統方法麻煩多了,是的,對於身材判斷這樣的問題,人類可以很簡單找到一個邏輯分析的方法,所以通過邏輯算法解決就比較方便,但有時候很多事情我們人類是很容易處理的,但我們卻不知道其中的邏輯,比如:判斷一張圖片是否是18+圖片,判斷一片論文是否寫得很好,判斷一個人是否長得漂亮等等。這些問題人類很輕松就能處理,但無法總結出其中的規律並交給機器去執行,這時候機器學習算法就可以派上用場了。

 

 三、機器學習的流程

 機器學習的流程如下:

數據准備 -> 建模 -> 訓練 -> 評估 -> 應用
在實際應用時,由於訓練的過程可能時間比較長,所以我們會分兩個階段進行:
1、學習階段:數據准備 -> 建模 -> 訓練 -> 評估 -> 保存模型
2、消費階段:讀取模型 -> 應用

評估的過程就是對模型的檢驗,我們一般會把樣本數據隨機分成兩份,其中一部分用來學習,另一部分用來檢驗模型效果,判斷一下我們的模型能力。

 

以上是涉及到機器學習的有些最基礎的理論知識,下面幾篇文章會由淺入深介紹ML.NET的一些應用。

系列文章目錄:

機器學習框架ML.NET學習筆記【1】基本概念

機器學習框架ML.NET學習筆記【2】入門之二元分類

機器學習框架ML.NET學習筆記【3】文本特征分析

機器學習框架ML.NET學習筆記【4】手寫數字識別

機器學習框架ML.NET學習筆記【5】手寫數字識別(續)

機器學習框架ML.NET學習筆記【6】TensorFlow圖片分類

機器學習框架ML.NET學習筆記【7】人物圖片顏值判斷

機器學習框架ML.NET學習筆記【8】目標檢測

機器學習框架ML.NET學習筆記【9】自動學習

 

資源下載:

項目源碼:https://github.com/seabluescn/Study_ML.NET

資源文件:https://gitee.com/seabluescn/ML_Assets

(由於資源文件較大,所以放在碼雲平台提供下載)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM