机器学习框架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
(由于資源文件較大,所以放在碼云平臺提供下載)
?
轉載于:https://www.cnblogs.com/owenzh/p/11208047.html
總結
以上是生活随笔為你收集整理的机器学习框架ML.NET学习笔记【1】基本概念与系列文章目录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HihoCoder - 1175 拓扑排
- 下一篇: 遥感大气反演