3分鐘理解 ML.NET 訓練器

Trainers (訓練器) 是 ML.NET 框架裡的重要組成元件,沒有了 Trainers , ML.NET 便無法進行模型的訓練,本篇小品就帶你花個3分鐘理解什麼是 ML.NET 訓練器

在前一篇文章裡稍微介紹了一下給.NET開發人員用的機器學習框架ML.NET,相較於與使用雲端AI服務,ML.NET比較複雜且需要更多的撰寫程式能力,而它的應用情境是偏向落地端的應用,並且ML.NET無法讓我們用來建立CNN、RNN等神經網路的(過去你可以使用CNTK,而現在你需要選擇用pytorch、tensorflow等)。

ML.NET 的定位是屬於應用開發層面,它能提供給你的是自行選擇演算法搭配預先訓練的模型,訓練出適合你的應用專屬的模型,因此在 ML.NET 的程式碼裡有個很重要的組成元件,稱為 trainers (訓練器),trainers 是將把演算法套入不同應用類型,搭配組合好的一組函式庫,方便開發人員直接選用,當然也就包含了演算法參數的設置,例如我們想做一個二元分類的應用,在 ML.NET 裡以不同的演算法組合了以下 trainers 

又或者我們想做一個多分類的應用,則有以下的 trainers

那麼我們就來看一下程式碼的部份,首先決定想要做的應用類別(數值預測、二元分類、多分類...)

接著在 Trainers 命名空間下,可以找到採用不同的演算法的 trainers,這個例子是數值的預測,採用了 Regression,演算法採用的是Lbfgs Poisson

再舉個二元分類的例子,以Logistic Regression搭配 Sdca

總結來說,ML.NET 裡的 trainers (訓練器),可以簡單把它視為已經分類好的演算法清單,提供給開發人員依不同情境進行選用,開發上只要先決定你的應用情境分類,就能找到目前ML.NET框架裡各式演算法的函式庫。

更多關於ML.NET

 

若本文對您有所幫助,歡迎轉貼,但請在加註【轉貼】及來源出處,並在附上本篇的超連結,感恩您的配合囉。

By No.18