⼀个开源的,跨平台的机器学习框架ML
微软在Build 2018⼤会上推出的⼀款⾯向开发⼈员的开源,跨平台机器学习框架ML。 ML将允许开发⼈员开发他们⾃⼰的模型,并将⾃定义ML集成到他们的应⽤程序中,⽽⽆需事先掌握开发或调整机器学习模型的专业知识。在采⽤通⽤机器学习语⾔(如R和Python)开发的模型,并将它们集成到⽤C#等语⾔编写的企业应⽤程序中需要付出相当⼤的努⼒。ML填平了机器学习专家和软件开发者之间的差距,从⽽使得机器学习的平民化,即使没有机器学习背景的⼈们能够建⽴和运⾏模型。通过为创建⾼质量的机器学习框架,微软已经使得将机器学习转化为企业(或通过Xamarin移动应⽤程序)变得更容易。这是⼀种使机器学习更加可⽤的形式。
使⽤ML可以解决哪些类型的问题?
基于微软内部Windows,Bing和Azure等主要微软产品使⽤多年的机器学习构建的库⽬前处于预览阶段,最新版本是0.2 。该框架⽬前⽀持的学习模型包括
K-Means聚类
逻辑回归
⽀持向量机
方便面炒鸡蛋
朴素贝叶斯
随机森林
增强树⽊
其他技术,如推荐引擎和异常检测,正在开发的路线图上。ML将最终将接⼝暴露给其他流⾏的机器学习库,如TensorFlow,CNTK和Accord。最后,还会有⼀些⼯具和语⾔增强功能,包括Azure和GUI / Visual Studio功能中的扩展功能。
如何在应⽤程序中使⽤ML?
ML以形式提供,可以轻松安装到新的或现有的应⽤程序中。
该框架采⽤了⽤于其他机器学习库(如和的“管道(LearningPipeline)”⽅法。数据通过多个阶段“传送”以产⽣有⽤的结果(例如预测)。典型的管道可能涉及
1. 加载数据
2. 转换数据
3. 特征提取/⼯程
4. 配置学习模型
5. 培训模型
6. 使⽤训练好的模型(例如获得预测)
ML机器学习管道的核⼼组件:
ML数据结构(例如IDataView,LearningPipeline)
TextLoader(将数据从分隔⽂本⽂件加载到LearningPipeline)和 CollectionDataSource 从⼀组对象中加载数据集
转换(以获得正确格式的数据进⾏训练):
处理/特征化⽂本: TextFeaturizer
架构modifcation:,ColumnConcatenator,ColumnSelector和ColumnDropper
使⽤分类特征:CategoricalOneHotVectorizer和CategoricalHashOneHotVectorizer
处理丢失的数据: MissingValueHandler
过滤器:RowTakeFilter,RowSkipFilter,RowRangeFilter
特性选择:FeatureSelectorByCount和FeatureSelectorByMutualInformation
学习算法(⽤于训练机器学习模型)⽤于各种任务:
⼆元分
类:FastTreeBinaryClassifier,StochasticDualCoordinateAscentBinaryClassifier,AveragedPerceptronBinaryClassifier,BinaryLogisticRegressor,FastForestBinaryClassifier,LinearSvmBinaryClassifier,和GeneralizedAdditiveModelBinaryClassifier
多类分类:StochasticDualCoordinateAscentClassifier,LogisticRegressor,和NaiveBayesClassifier
回归:FastTreeRegressor,FastTreeTweedieRegressor,StochasticDualCoordinateAscentRegressor,OrdinaryLeastSquaresRegressor,OnlineGradientDescentRegressor,PoissonRegressor,
和GeneralizedAdditiveModelRegressor
聚类 KMeansPlusPlusClusterer
选择恐惧症评估器(检查模型的⼯作情况):
对于⼆元分类: BinaryClassificationEvaluator
对于多类分类: ClassificationEvaluator
米饭怎么画作文网初中对于回归: RegressionEvaluator
⼆元分类
⼆元分类属于,⽤于预测数据的⼀个实例属于哪些两个类(类别)任务。分类算法的输⼊是⼀组标记⽰例,其中每个标记都是0或1的整数。⼆进制分类算法的输出是⼀个分类器,您可以使⽤该分类器来预测新的未标记实例的类。⼆元分类场景的例⼦包括:
为“积极”或“消极”。
诊断患者是否患有某种疾病。
决定将电⼦邮件标记为“垃圾邮件”。
如果交易⽇是上涨⽇或下跌⽇
⼿写数字识别
语⾳识别
图像识别
有关更多信息,请参阅Wikipedia上的⽂章。
多类分类
钢筋表
多元分类属于,⽤于预测的数据的实例的类(类别)的任务。分类算法的输⼊是⼀组标记⽰例。每个标签都是0到k-1之间的整数,其中k是类的数量。分类算法的输出是⼀个分类器,您可以使⽤它来预测新的未标记实例的类。多类分类⽅案的例⼦包括:
确定⼀只狗的品种为“西伯利亚雪橇⽝”,“⾦⽑猎⽝”,“贵宾⽝”等。
将电影评论理解为“正⾯”,“中性”或“负⾯”。
将酒店评论归类为“位置”,“价格”,“清洁度”等。
有关更多信息,请参阅Wikipedia上的⽂章。
分类步骤设置:与鸟有关的成语
1. ⾸先定义问题
2. 然后,您将以名为Features的数字属性的形式表⽰您的数据。这对于已经分类的训练数据和将来需要分类的测试数据都是这样做的
3. 您将获取训练数据并将其输⼊分类算法以训练模型
4. 将需要分类的新实例或采取测试数据并将其传递给分类器进⾏分类
聚类商品经济
聚类属于,⽤于数据的⼀组实例为包含类似特征的簇的任务。聚类还可⽤于识别数据集中的关系,这些关系可能不是通过浏览或简单观察⽽在逻辑上得出的。聚类算法的输⼊和输出取决于所选择的⽅法。
您可以采⽤分布、质⼼、连通性或基于密度的⽅法。ML⽬前⽀持使⽤K-Means聚类的基于质⼼的⽅法。聚类场景的例⼦包括:
根据酒店选择的习惯和特点了解酒店客⼈群体。
识别客户群和⼈⼝统计信息,以帮助构建有针对性的⼴告活动。
根据制造指标对库存进⾏分类。
根据房屋类型,价值和地理位置确定⼀组房屋
地震震中确定危险区域
使⽤集群将电话塔放在⼀个新城市中,以便所有⽤户都能获得最佳单⼀强度
聚类设置步骤:
1. 你会从问题陈述开始,问题陈述是需要聚集的数据集
2. 然后,您将使⽤功能在该数据集中表⽰点。阿奎纳
3. 这⾥没有训练这⼀步,不需要学习
4. 您直接将数据提供给聚类算法以查找最终的聚类,⽽⽆需任何训练步骤
回归
回归是,⽤于从⼀组相关的功能预测标签的值。标签可以具有任何实际价值,并且不像分类任务那样来⾃有限的⼀组值。回归算法对标签对其相关特征的依赖性进⾏建模,以确定标签随着特征值的变化⽽如何变化。回归算法的输⼊是⼀组具有已知值标签的⽰例。回归算法的输出是⼀个函数,您可以使⽤该函数来预测任何新的输⼊要素集的标注值。回归情景的例⼦包括:
根据房屋属性(如卧室数量,位置或⼤⼩)预测房价。
根据历史数据和当前市场趋势预测未来股价。
根据⼴告预算预测产品的销售情况。
异常检测(即将推出)
排名(即将推出)
推荐(即将推出)