1、序言html
微软的机器学习框架于2018年5月出了0.1版本,2019年5月发布1.0版本。期间各版本之间差别(包括命名空间、方法等)仍是比较大的,随着1.0版发布,应该是趋于稳定了。以前在园子里也看到很多相关介绍的文章,对个人学习提供了很多帮助。因为目前资料不是很丰富,因此学习过程当中也走了很多弯路,本系列的文章主要记录我学习过程当中的一些心得体会,并对一些细节会作详细的解释,但愿能为机器学习零基础的同窗提供一些帮助。(C#零基础可不行)git
2、基本概念github
一、什么是机器学习?
定义:一个电脑程序要完成任务(T),若是电脑获取的关于T的经验(E)越多就表现(P)得越好,那么咱们就能够说这个程序‘学习’了关于T的经验。算法
简单解释什么叫“机器的学习”:若是输入的经验越多表现的越好,这就叫“学习”。举个例子:传统的程序逻辑是基于算法的,在算法不变的状况下,程序就是运行100年能力也不会有提高,但机器学习是基于数据(样本)的,在算法不变的状况下,累计的有效数据越多,程序表现能力就越强。框架
二、经过机器学习解决问题和传统算法解决问题的区别机器学习
须要解决的问题:会议室进来一位男生,请他站在摄像头前面,经过一个程序评价一下这位男生身材是否很好。学习
(1)传统解决方案spa
首先咱们分析要判断一我的身材是否很好,主要的判断特征包括:身高、体重、三围等等,而后经过一个衡量算法(好比BMI)进行计算,流程以下:htm
(2)机器学习算法对象
机器学习是依赖样本数据的,因此解决这个问题的思路是这样的:
①首先你得上街去收集数据,询问你采访对象的身高、体重、三围数据,而后根据你的经验给他一个评判,造成下表:
②对收集到的数据进行训练,造成模型,而后经过模型对要判断的对象进行评判。流程以下:
小结:经过这个问题的解决,感受经过机器学习来解决问题比传统方法麻烦多了,是的,对于身材判断这样的问题,人类能够很简单找到一个逻辑分析的方法,因此经过逻辑算法解决就比较方便,但有时候不少事情咱们人类是很容易处理的,但咱们殊不知道其中的逻辑,好比:判断一张图片是不是18+图片,判断一片论文是否写得很好,判断一我的是否长得漂亮等等。这些问题人类很轻松就能处理,但没法总结出其中的规律并交给机器去执行,这时候机器学习算法就能够派上用场了。
3、机器学习的流程
机器学习的流程以下:
数据准备 -> 建模 -> 训练 -> 评估 -> 应用
在实际应用时,因为训练的过程可能时间比较长,因此咱们会分两个阶段进行:
一、学习阶段:数据准备 -> 建模 -> 训练 -> 评估 -> 保存模型
二、消费阶段:读取模型 -> 应用
评估的过程就是对模型的检验,咱们通常会把样本数据随机分红两份,其中一部分用来学习,另外一部分用来检验模型效果,判断一下咱们的模型能力。
以上是涉及到机器学习的有些最基础的理论知识,下面几篇文章会由浅入深介绍ML.NET的一些应用。
系列文章目录:
机器学习框架ML.NET学习笔记【1】基本概念
机器学习框架ML.NET学习笔记【6】TensorFlow图片分类
资源下载:
项目源码:https://github.com/seabluescn/Study_ML.NET
资源文件:https://gitee.com/seabluescn/ML_Assets
(因为资源文件较大,因此放在码云平台提供下载)