微软ML.NET 0.8版以PFI技术增强模型诠释

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lowpeys5166/article/details/85249541

微软更新了开源跨平台机器学习框架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)中,启用二进制格式保存与加载数据,以加速数据处理效率,微软举例,开发者在将文字特征转为稀疏向量时,可以存为二进制格式,方便其他开发者重复进行实验。原文来源至:http://partner.henkel.com.cn/local/index.php

猜你喜欢

转载自blog.csdn.net/lowpeys5166/article/details/85249541