ML.NET机器学习、API容器化与Azure DevOps实践(一):简介

打算使用几篇文章介绍一下.NET下的机器学习框架ML.NET的具体应用,包括一些常用的业务场景、算法的选择、模型的训练以及RESTful API的创建、机器学习服务容器化,以及基于Azure DevOps的容器化部署等等相关的内容。如果你从来没有玩过机器学习,也从来没有了解过ML.NET,那么,本文将会是一个很好的开始。

机器学习可以分为如下几类:

  • 监督学习(Supervised Learning)
  • 无监督学习(Unsupervised Learning)
  • 半监督学习(Semi-supervised Learning)
  • 增强学习(Reinforcement Learning)

从给定的训练数据集中学习出一种算法,当的数据到来时,可以根据这个函数预测结果。监督学习的训练集要求是包括输入和输出,也可以说是特征和目标。训练集中的目标是由人标注的。常见算法分为: 统计分类(Classification,根据训练模型,通过给定的特征属性,预测目标属性属于哪个分类)和 回归分析(Regression,根据训练模型,通过给定的特征属性,预测目标属性的取值)。

与监督学习相比,训练集没有人为标注的结果(没有人会对训练数据集中的某个属性进行标注,标注其为哪个分类,或者取值是多少)。常见算法有 聚类(Clustering)、 无监督异常情况检测(Unsupervised Anomaly Detection)等。

介于监督学习与无监督学习之间,根据部分已被标记的数据来推断未标注数据的标注信息,并实现预测。

机器为了达成目标,随着环境的变动,而逐步调整其行为,并评估每一个行动之后所到的回馈是正向的或负向的。常见的棋局预测就属于这一类。

机器学习算法评估标准

  • Classification Accuracy
  • Logarithmic Loss
  • Area Under ROC Curve
  • Confusion Matrix
  • Classification Report

  • Mean Absolute Error

  • Mean Squared Error
  • R^2 (R-Squared)

ML.NET是微软推出的一款基于.NET/.NET Core的机器学习框架,通过使用ML.NET,开发者可以使用.NET相关语言和开发工具进行机器学习任务的开发、测试、部署和运行。例如,根据不同的问题场景,开发者可以使用ML.NET并选择相应的算法,基于已有的训练数据集,对机器学习模型进行训练,并将模型保存成文件或发布到云存储以备后需;也可以使用ML.NET读取已存储的训练模型,并基于给定的测试数据集进行预测,返回预测结果。ML.NET支持自定义的机器学习算法,还能整合当下流行的机器学习平台,比如Tensorflow,这使得.NET下机器学习的应用变得非常简单方便。

ML.NET支持的机器学习任务

  • 二元分类(Binary Classification):预测目标属性的取值是”真”或”假”(0或1,Yes或No)
  • 多类分类(Multiclassification):预测目标属性的取值属于哪一分类
  • 回归(Regression):预测目标属性的结果值(一般是得到一个浮点数)
  • 聚类分析(Clustering):根据数据集中数据的某种特性,将数据进行分组
  • 异常情况检测(Anomaly Detection):根据数据集的数据,识别出小部分的”特殊化”数据(异常数据)
  • 排名(Ranking):排名任务从一组标记的示例构建排名程序。 该示例集由实例组组成,这些实例组可以使用给定的标准进行评分。 每个实例的排名标签是 { 0, 1, 2, 3, 4 }。 排名程序定型为用每个实例的未知分数对新实例组进行排名
  • 建议(Recommendation):支持生成推荐产品或服务的列表,例如,你为用户提供历史电影评级数据,并希望向他们推荐接下来可能观看的其他电影

在使用ML.NET进行机器学习之前,需要首先确定自己的应用场景,然后根据应用场景选择合适的机器学习算法并定制训练管道(Training Pipeline)。比如:通过机器学习来判断某种化合物对于细胞的作用是阴性的还是阳性的,这属于二元分类的应用范畴;再比如,根据一批学生的个人情况以及他们的学习成绩,来预测另一部分学生的学习成绩,这属于回归任务的应用范畴。开发者需要根据应用场景来进行选择。

ML.NET机器学习实践步骤

通常情况下,使用ML.NET进行机器学习实践,有以下这些步骤:

本文简要介绍了机器学习的基本知识,并对ML.NET机器学习框架进行了简要介绍。文章最后描述了使用ML.NET进行机器学习的实践步骤。后续文章会以一到两个案例为基础,详细介绍这8个步骤的具体实践。

Original: https://www.cnblogs.com/daxnet/p/12941763.html
Author: dax.net
Title: ML.NET机器学习、API容器化与Azure DevOps实践(一):简介

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/9635/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部