欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

机器学习框架ML.NET学习笔记【1】基本概念

程序员文章站 2022-04-14 18:50:05
微软的机器学习框架于2018年5月出了0.1版本,2019年5月发布1.0版本。期间各版本之间差异(包括命名空间、方法等)还是比较大的,随着1.0版发布,应该是趋于稳定了。之前在园子里也看到不少相关介绍的文章,对我的学习提供了不少帮助。由于目前资料不是很丰富,所以学习过程中也走了不少弯路,本系列的文... ......

一、序言

       微软的机器学习框架于2018年5月出了0.1版本,2019年5月发布1.0版本。期间各版本之间差异(包括命名空间、方法等)还是比较大的,随着1.0版发布,应该是趋于稳定了。之前在园子里也看到不少相关介绍的文章,对我的学习提供了不少帮助。由于目前资料不是很丰富,所以学习过程中也走了不少弯路,本系列的文章主要记录我学习过程中的一些心得体会,并对一些细节会做详细的解释,希望能为机器学习零基础的同学提供一些帮助。(c#零基础可不行)

 

二、基本概念

1、什么是机器学习?
定义:一个电脑程序要完成任务(t),如果电脑获取的关于t的经验(e)越多就表现(p)得越好,那么我们就可以说这个程序‘学习’了关于t的经验。

简单解释什么叫“机器的学习”:如果输入的经验越多表现的越好,这就叫“学习”。举个例子:传统的程序逻辑是基于算法的,在算法不变的情况下,程序就是运行100年能力也不会有提升,但机器学习是基于数据(样本)的,在算法不变的情况下,累计的有效数据越多,程序表现能力就越强。

 

2、通过机器学习解决问题和传统算法解决问题的区别

需要解决的问题:会议室进来一位男生,请他站在摄像头前面,通过一个程序评价一下这位男生身材是否很好。

(1)传统解决方案

  首先我们分析要判断一个人身材是否很好,主要的判断特征包括:身高、体重、三围等等,然后通过一个衡量算法(比如bmi)进行计算,流程如下:

机器学习框架ML.NET学习笔记【1】基本概念

 

(2)机器学习算法

   机器学习是依赖样本数据的,所以解决这个问题的思路是这样的:

①首先你得上街去收集数据,询问你采访对象的身高、体重、三围数据,然后根据你的经验给他一个评判,形成下表:

机器学习框架ML.NET学习笔记【1】基本概念

②对收集到的数据进行训练,形成模型,然后通过模型对要判断的对象进行评判。流程如下:

机器学习框架ML.NET学习笔记【1】基本概念

 

小结:通过这个问题的解决,感觉通过机器学习来解决问题比传统方法麻烦多了,是的,对于身材判断这样的问题,人类可以很简单找到一个逻辑分析的方法,所以通过逻辑算法解决就比较方便,但有时候很多事情我们人类是很容易处理的,但我们却不知道其中的逻辑,比如:判断一张图片是否是18+图片,判断一片论文是否写得很好,判断一个人是否长得漂亮等等。这些问题人类很轻松就能处理,但无法总结出其中的规律并交给机器去执行,这时候机器学习算法就可以派上用场了。

 

 三、机器学习的流程

 机器学习的流程如下:

数据准备 -> 建模 -> 训练 -> 评估 -> 应用
在实际应用时,由于训练的过程可能时间比较长,所以我们会分两个阶段进行:
1、学习阶段:数据准备 -> 建模 -> 训练 -> 评估 -> 保存模型
2、消费阶段:读取模型 -> 应用

评估的过程就是对模型的检验,我们一般会把样本数据随机分成两份,其中一部分用来学习,另一部分用来检验模型效果,判断一下我们的模型能力。

 

以上是涉及到机器学习的有些最基础的理论知识,下面几篇文章会由浅入深介绍ml.net的一些应用。

系列文章目录:

机器学习框架ml.net学习笔记【1】基本概念

机器学习框架ml.net学习笔记【2】入门之二元分类

机器学习框架ml.net学习笔记【3】文本特征分析

机器学习框架ml.net学习笔记【4】手写数字识别

机器学习框架ml.net学习笔记【5】手写数字识别(续)

机器学习框架ml.net学习笔记【6】tensorflow图片分类

机器学习框架ml.net学习笔记【7】人物图片颜值判断

机器学习框架ml.net学习笔记【8】目标检测

机器学习框架ml.net学习笔记【9】自动学习

 

资源下载:

项目源码:https://github.com/seabluescn/study_ml.net

资源文件:https://gitee.com/seabluescn/ml_assets

(由于资源文件较大,所以放在码云平台提供下载)