圖片來源: 

微軟

由微軟研究院開發的機器學習框架ML.NET現釋出0.10版本,這個版本最主要的變動是分離處理表格資料的IDataView元件,以增加.NET生態系中框架的互通性,還在推薦功能訓練中支援多重特徵欄位(Feature Columns)。

ML.NET是一個為.NET開發人員發布的開源跨平臺機器學習框架,支援Windows、Linux和macOS作業系統。開發人員可以使用ML.NET解決常見的機器學習任務,透過創建自定義的機器學習模型,賦予應用程式人工智慧功能,進行情感分析或是圖像分類等工作。而ML.NET還整合了TensorFlow以及ONNX等第三方函式庫,與機器學習開源生態系高度互通。

微軟為了要讓IDataView作為.NET生態系統中各函式庫的共享類型,因此將IDataView從ML.NET分離出去。用來處理表格資料的IDataView元件,其具備善於處理高維資料以及大型資料集的能力,因此特別適合用於機器學習和進階分析應用程式,而且還能用於在單一節點處理大型分散式資料集。

而在ML.NET 0.10中,IDataView元件被分離成單個程序集以及NuGet套件,微軟提到,這是實現其他API與框架互通性的一步。微軟解釋,透過分離IDataView元件,讓IDataView成為一種交換資料的格式,不同的函式庫將能參照並以API使用IDataView,開發者可以方便的在兩個獨立的函式庫間傳遞大量資料。

第三方框架可以簡單的參照單一IDataView的NuGet套件,就能獲取原本只能在ML.NET中使用的IDataView副本,微軟舉例,這將能幫助開發者利用繪製圖表函式庫,不需要參照整個ML.NET框架,也不用進行複製或是轉換資料格式,只要將ML.NET產生的資料以IDataView格式傳遞給目標函式庫,就能直接使用。

另外,在過去的ML.NET版本中,當開發者使用場域分解機(Field-aware Factorization Machine,FFM)訓練演算法時,只能使用單一特徵欄位,而在ML.NET 0.10版本中,場域分解機演算法將支援訓練資料集中多個特徵欄位。

而在使用多重類別分類(Multi-class Classification)模型等預測功能時,過去都只能預測並取得單一標籤,但這對於許多應用情境遠遠不夠,像是電子商務應用中,開發者會希望系統能自動將商品分類到多個類別中,而不僅只有一個類別。但其實在預測時,ML.NET內部存在一個列表,紀錄了多個可能的預測,只是API只回傳一個結果,而現在ML.NET 0.10將允許開發者存取架構資料,以獲得預測標籤列表,其中將包含預測分類的分數或是機率。


Advertisement

更多 iThome相關內容