微软发布机器学习函数库ML.NET新版本,加入特征贡献计算
微软的.NET机器学习框架ML.NET发布0.9版本,这次更新的重点加入了特征贡献计算(Feature Contribution Calculation,FCC)以加强模型的可解释性,还为ONNX模型增加GPU支持,另外也对一些API进行改善。
ML.NET可让用户创建常用的机器学习模型,执行如分类、回归、排名、推荐和异常检测等应用,并且还整合热门的深度学习框架TensorFlow,以及强化与ONNX的互操作性,广泛支持机器学习的开源生态系。ML.NET常见的使用案例包括情感分析、建议、图像分类、销售预测等。
ML.NET加入了FCC,帮助用户计算数据样本中,每个特征对模型得分的贡献量,以找出应用特定和单一数据样本的模型预测,其影响最大的特征。微软提到,FCC对于包含许多特征和属性的历史数据特别有用,因为在模型中同时使用太多特征,反而会降低性能与准确性。用户可以利用FCC,从初始属性集中,找出最具正面或是负面影响力的属性。
特征贡献计算可以被用在ML.NET工作流程中,当作其中的一个步骤,能够补充ML.NET 模型可解释工具替换特征重要性(Permutation Feature Importance,PFI)的不足,替换特征重要性是ML.NET 0.8中加入的技术,可以对整体特征进行重要性评估。而这次微软也对PFI做出更新,PFI现在可以支持大多数的学习任务,包括回归、二元分类、多类分类和排名,PFI也支持用户计算特征重要性分数的信赖区间,方便评估分数平均值。
在API改进方面,ML.NET 0.9简化加载文字数据的方式,当使用TextLoader时,除了像之前一样直接指定文档属性,现在也能以数据模型类别指定字段属性。而当用户评估模型质量时,除了分数字段,现在还可以多取得可信度。ML.NET 0.9加入新的键值映射评估器,而这个新功能将取代原来的TermLookupTransform,为指定两个值间的映像关系提供新方法。
ML.NET 0.9现支持CUDA 10.0的GPU,以提高ONNX模型执行的能力,但以GPU执行ONNX模型,目前只能在64位Windows上运行,Linux和Mac版本的支持将在之后加入。另外,微软也为Visual Studio加入ML.NET项目模板,其使用情境包括ML.NET控制面板应用程序以及ML.NET模型函数库,用户可以透过范例了解,如何在应用程序中使用机器学习模型,还有创建新的机器学习模型函数库,并在应用程序中使用的方法。