机器学习框架ML.NET学习笔记【1】基本概念与系列文章目录
一、序言
微软的机器学习框架于2018年5月出了0.1版本,2019年5月发布1.0版本。期间各版本之间差异(包括命名空间、方法等)还是比较大的,随着1.0版发布,应该是趋于稳定了。之前在园子里也看到不少相关介绍的文章,对我的学习提供了不少帮助。由于目前资料不是很丰富,所以学习过程中也走了不少弯路,本系列的文章主要记录我学习过程中的一些心得体会,并对一些细节会做详细的解释,希望能为机器学习零基础的同学提供一些帮助。(C#零基础可不行)
二、基本概念
1、什么是机器学习?
定义:一个电脑程序要完成任务(T),如果电脑获取的关于T的经验(E)越多就表现(P)得越好,那么我们就可以说这个程序‘学习’了关于T的经验。
简单解释什么叫“机器的学习”:如果输入的经验越多表现的越好,这就叫“学习”。举个例子:传统的程序逻辑是基于算法的,在算法不变的情况下,程序就是运行100年能力也不会有提升,但机器学习是基于数据(样本)的,在算法不变的情况下,累计的有效数据越多,程序表现能力就越强。
2、通过机器学习解决问题和传统算法解决问题的区别
需要解决的问题:会议室进来一位男生,请他站在摄像头前面,通过一个程序评价一下这位男生身材是否很好。
(1)传统解决方案
首先我们分析要判断一个人身材是否很好,主要的判断特征包括:身高、体重、三围等等,然后通过一个衡量算法(比如BMI)进行计算,流程如下:

(2)机器学习算法
机器学习是依赖样本数据的,所以解决这个问题的思路是这样的:
①首先你得上街去收集数据,询问你采访对象的身高、体重、三围数据,然后根据你的经验给他一个评判,形成下表:

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

小结:通过这个问题的解决,感觉通过机器学习来解决问题比传统方法麻烦多了,是的,对于身材判断这样的问题,人类可以很简单找到一个逻辑分析的方法,所以通过逻辑算法解决就比较方便,但有时候很多事情我们人类是很容易处理的,但我们却不知道其中的逻辑,比如:判断一张图片是否是18+图片,判断一片论文是否写得很好,判断一个人是否长得漂亮等等。这些问题人类很轻松就能处理,但无法总结出其中的规律并交给机器去执行,这时候机器学习算法就可以派上用场了。
三、机器学习的流程
机器学习的流程如下:
数据准备 -> 建模 -> 训练 -> 评估 -> 应用
在实际应用时,由于训练的过程可能时间比较长,所以我们会分两个阶段进行:
1、学习阶段:数据准备 -> 建模 -> 训练 -> 评估 -> 保存模型
2、消费阶段:读取模型 -> 应用
评估的过程就是对模型的检验,我们一般会把样本数据随机分成两份,其中一部分用来学习,另一部分用来检验模型效果,判断一下我们的模型能力。
以上是涉及到机器学习的有些最基础的理论知识,下面几篇文章会由浅入深介绍ML.NET的一些应用。
系列文章目录:
机器学习框架ML.NET学习笔记【1】基本概念
机器学习框架ML.NET学习笔记【6】TensorFlow图片分类
资源下载:
项目源码:https://github.com/seabluescn/Study_ML.NET
资源文件:https://gitee.com/seabluescn/ML_Assets
(由于资源文件较大,所以放在码云平台提供下载)
机器学习框架ML.NET学习笔记【1】基本概念与系列文章目录的更多相关文章
- 机器学习框架ML.NET学习笔记【4】多元分类之手写数字识别
一.问题与解决方案 通过多元分类算法进行手写数字识别,手写数字的图片分辨率为8*8的灰度图片.已经预先进行过处理,读取了各像素点的灰度值,并进行了标记. 其中第0列是序号(不参与运算).1-64列是像 ...
- 机器学习框架ML.NET学习笔记【3】文本特征分析
一.要解决的问题 问题:常常一些单位或组织召开会议时需要录入会议记录,我们需要通过机器学习对用户输入的文本内容进行自动评判,合格或不合格.(同样的问题还类似垃圾短信检测.工作日志质量分析等.) 处理思 ...
- 机器学习框架ML.NET学习笔记【2】入门之二元分类
一.准备样本 接上一篇文章提到的问题:根据一个人的身高.体重来判断一个人的身材是否很好.但我手上没有样本数据,只能伪造一批数据了,伪造的数据比较标准,用来学习还是蛮合适的. 下面是我用来伪造数据的代码 ...
- 机器学习框架ML.NET学习笔记【5】多元分类之手写数字识别(续)
一.概述 上一篇文章我们利用ML.NET的多元分类算法实现了一个手写数字识别的例子,这个例子存在一个问题,就是输入的数据是预处理过的,很不直观,这次我们要直接通过图片来进行学习和判断.思路很简单,就是 ...
- 机器学习框架ML.NET学习笔记【6】TensorFlow图片分类
一.概述 通过之前两篇文章的学习,我们应该已经了解了多元分类的工作原理,图片的分类其流程和之前完全一致,其中最核心的问题就是特征的提取,只要完成特征提取,分类算法就很好处理了,具体流程如下: 之前介绍 ...
- 机器学习框架ML.NET学习笔记【7】人物图片颜值判断
一.概述 这次要解决的问题是输入一张照片,输出人物的颜值数据. 学习样本来源于华南理工大学发布的SCUT-FBP5500数据集,数据集包括 5500 人,每人按颜值魅力打分,分值在 1 到 5 分之间 ...
- 机器学习框架ML.NET学习笔记【8】目标检测(采用YOLO2模型)
一.概述 本篇文章介绍通过YOLO模型进行目标识别的应用,原始代码来源于:https://github.com/dotnet/machinelearning-samples 实现的功能是输入一张图片, ...
- 机器学习框架ML.NET学习笔记【9】自动学习
一.概述 本篇我们首先通过回归算法实现一个葡萄酒品质预测的程序,然后通过AutoML的方法再重新实现,通过对比两种实现方式来学习AutoML的应用. 首先数据集来自于竞赛网站kaggle.com的UC ...
- ML.NET学习笔记 ---- 系列文章
机器学习框架ML.NET学习笔记[1]基本概念与系列文章目录 机器学习框架ML.NET学习笔记[2]入门之二元分类 机器学习框架ML.NET学习笔记[3]文本特征分析 机器学习框架ML.NET学习笔记 ...
随机推荐
- MongoDB优化之二:常见优化方法
四个方面进行 cpu/io 方面的优化处理: 1.集群架构上进行读写分离.所有查询优先考虑在从库上读取,写操作在主库上执行.避免主库混合读写压力过大,也减少主库上读写记录的锁冲突. connectio ...
- libvirt, libvirt-python, libvirtd 关系浅析
libvirt 官方解释: http://libvirt.org/ 见分隔线以下. 我的理解:libvirt 作为一个中间层,封装了对下层虚拟化 hypervisor 的操作方法.也就是说,无论你是 ...
- glusterfs安装配置简单使用
GlusterFS是一种分布式分布式文件系统,默认采用无中心完全对等架构,搭建维护使用十分简单,是很受欢迎的分布式文件系统. 官网https://www.gluster.org/,官网上表示Glust ...
- 都是stm32的JTAG引脚惹的祸
转载请注明出处:http://blog.csdn.net/qq_26093511/article/category/6094215 最近在调试08接口的LED显示屏,使用的是自己做的STM32板子. ...
- javaScript之跨浏览器的事件对象
跨浏览器的兼容代码 var eventHandler = { addHandler: function(element, type, handler){}, removeHandler: functi ...
- SpringMVC 学习笔记(文件的上传和下载)
在web项目中会遇到的问题:文件上传 文件上传在前端页面的设置:form表单 设置 input 类型 文件上传的请求方式要使用post,要将enctype设置为multipart/form-data ...
- centos7安装与配置ansible
此次测试总共有三台机,分别如下: ansible服务器:10.0.0.20 client01:10.0.0.21 client02:10.0.0.22 一.安装ansible 1. python版本需 ...
- c# DateTime.ToString()转换为统一的格式
DateTime.ToString()的转换结果时根据当前电脑的显示格式来转换的,不能同意,而且有些格式我们想将他们重新转换为时间时,会报错,如: 2017/11/21/周二 10:23:57,如果转 ...
- C++成员指针
C++中,成员指针是最为复杂的语法结构.但在事件驱动和多线程应用中被广泛用于调用回叫函数.在多线程应用中,每个线程都通过指向成员函数的指针来调用该函数.在这样的应用中,如果不用成员指针,编程是非常困难 ...
- sublime插件-OmniMarkupPreviewer浏览器打开报404解决办法
Sublime Text > Preferences > Package Settings > OmniMarkupPreviewer > Settings - Default ...