机器学习框架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学习笔记 ...
随机推荐
- 【转】 Pro Android学习笔记(六二):Preferences(6):header
目录(?)[-] 代码实现 header xml文件 在前面的例子,我们主要学习了PreferenceScreen的xml如何写,preference有哪些类型.在代码中,我们为了不提示warning ...
- Myeclipse如何使用Maven添加jar包
很多新手都不知道如何在maven项目里添加jar包. 以前我还没接触maven的时候下载过一个demo,是maven项目. 我居然是照着他的pom.xml文件一个一个的写!!! 很多人认为理所当然的东 ...
- 输出缓存与CachePanel
缓存的级别 缓存的作用自不必说,提高系统性能最重要的手段之一.上至应用框架,下至文件系统乃至CPU,计算机中各部分设计都能见到缓存的身影.许多朋友一直在追求如何提高Web应用程序的性能,其实最容易被理 ...
- MS-SQL使用xp_cmdshell命令导出数据到excel
exec master..xp_cmdshell 'bcp "select c.Category_Title as 标题,p.Category_Title as 所属分类 from ltbl ...
- java 终端输入小结,输入到数组、文件等(持续更新)
一:将键盘输入的数存到数组中,数组长度未知 public class Test{ public static void main(String[] args){ Scanner sc = new Sc ...
- new LayoutParams 使用
ImageView imageView = new ImageView(mcontext); LayoutParams layoutParams = new LayoutParams(150,130) ...
- 3java面试题 传智 发的 有用
第一章内容介绍 20 第二章JavaSE基础 21 一.Java面向对象 21 1. 面向对象都有哪些特性以及你对这些特性的理解 21 2. 访问权限修饰符public.private.protect ...
- 杭电acm 1049题
一道水题..... 大意是一条1inch的虫子在一个n inch的盒子的底部,有足够的能够每一分钟往上爬u inch,但是需要休息一分钟,这期间会往下掉d inch,虫子爬到盒子口即认为结束.要求计算 ...
- Window Live Writer在Win7下安装提示错误“OnCatalogResult:0x80190194”
1.在C:\Users\All Users\Microsoft\WLSetup\Logs下(All Users默认是隐藏文件夹),有两个Window Live的安装日记记录文件,打开第一个找到ERRO ...
- java线程并发工具类CyclicBarrier、CountDownLatch及Semaphore
一.CyclicBarrier (原文链接:http://www.studyshare.cn/blog-front/blog/index ) 1.定义 CyclicBarrier是线程并发工具类之 ...