微軟更新了開源跨平臺機器學習框架ML.NET,釋出0.8版本,本次更新主要有四個部分,除了支援新的推薦情境,也以特徵重要性增加了模型的可解釋性,還讓開發者能預覽記憶體內資料集,提升整體可偵錯性,另外,ML.NET 0.8也強化了一系列API功能。

ML.NET允許開發者創建與使用常見使用情境的機器學習模型,進行情緒分析、問題分類、預測、推薦、詐欺偵測以及圖像分類等工作,微軟在這次更新更擴增了ML.NET 0.8可以應用的推薦情境。推薦系統可以為產品目錄、歌曲或是電影等產品產生推薦列表,在許多網路應用已經廣泛的使用這類技術,而ML.NET使用矩陣分解(Matrix Factorization)和場域分解機(Field Aware Factorization Machines)的推薦方法來實現推薦系統,通常場域分解機可以用在比矩陣分解更普遍的使用案例,也能傳遞額外的元資料。

而在ML.NET 0.8中,微軟為矩陣分解增加了額外的推薦情境,現在開發者可以藉由產品ID以及共同購買產品的ID推薦產品,也就是說,現在即便只有商店歷史訂購資料,依然可以使用ML.NET提供產品建議。微軟提到,這是一種常見的使用情境,因為多數時候推薦系統並沒有可用的評分,而在ML.NET 0.8中,利用歷史購買資料依然可以向使用者提供,透過經常購買產品所產生的建議列表。

此外,微軟在ML.NET 0.8加入了一個方便的偵錯功能,開發者透過預覽資料就能進行偵錯。在多數的情況下,開發者使用工作管線載入資料時,能查看載入到ML.NET DataView的資料,對偵錯很有幫助,確保資料經過各種轉換步驟後,其處理仍在掌握之中。開發者現在可以檢視DataView架構,只要將滑鼠停留在IDataView物件上,就能擴展並查看架構屬性。

在ML.NET 0.8版本中,微軟為ML.NET加入了內部使用來解釋模型的API,幫助機器學習開發人員,更好地理解模型的整體特徵重要性,並創建可被解釋的模型。在創建機器學習模型的時候,開發者通常無法簡單的預測和評估準確性,而總體特徵重要性可以幫助開發者了解,對於整體模型而言最重要的特徵是哪些,以便進行良好的預測,例如預測汽車價格時,里程和品牌可能比起顏色還要重要許多。

微軟透過置換特徵重要性(Permutation Feature Importance,PFI)技術,以實現整體特徵重要性評估,PFI會對整個使用案例,將特徵值設置爲隨機值,以評估該特徵對模型的影響。微軟表示,PFI方法的優點在於它與模型本身無關,可用於評估各種模型,且可以用於任何資料集,而不僅是訓練資料集。

ML.NET 0.8也改進了一系列API相關功能,現在開發者可以在DataView中使用過濾器,針對用於訓練模型的資料進行過濾,像是在發生資料異常的情況,刪除特定資料列中特定邊界之外的數值。開發者可以使用FilterByColumn()等過濾器API完成相關的功能。

另外,當估算器要多次迭代資料,開發者也可以選擇使用快取API,暫時儲存資料,減少從檔案中讀取資料的頻率,以加快整體訓練的執行速度。開發者也可以在IDataView(IDV)中,啟用二進位格式保存與載入資料,以加速資料處理效率,微軟舉例,開發者在將文字特徵轉為稀疏向量時,可以存為二進位格式,方便其他開發者重複進行實驗。


Advertisement

更多 iThome相關內容