博客已经迁移至Marcovaldo’s blog (http://marcovaldong.github.io/)

刚刚完毕机器学习基石的第三讲。这一讲主要介绍了机器学习的分类。对何种问题应该使用何种机器学习方法。将笔记整理在以下。

Learning with Different Output Space

前面讲的信用卡发放问题是一个是非题,也就是说最后的输出仅仅有两种。是一个二元分类(binary classification)。下图中给出了很多其它的二元分类问题的样例。对于这类问题我们要做的就是找到一个hypothesis(超平面或超曲面)能够非常好的将下图中的圈圈和叉叉分开。当然。后面我们介绍很多其它的解决二元分类问题的算法。

以下要介绍的是多元分类(multiclass classification)。

这里给出了一个实际的样例:贩卖机怎样将不同面额的硬币分开(美元中的硬币有四种),这就是一个多元分类问题。多元分类问题是非常多应用。特别是在计算机视觉等方面,下图介绍了当中的几种:

以下介绍回归分析(regrssion)。

我们如今让机器做这样一件事,输入进去病人的状况,输出病人恢复健康须要的时间。

这里的输出应该是在一个正实数域。对于这种输出空间是一个连续的区间的问题。我们称之为回归分析问题(输出空间有上下限的话称为bound regression)。比方依据一家公司以往的数据来分析其股票价格就是一个典型的回归分析问题。回归分析在统计学中是一类重要的问题。其构成了机器学习的又一数学基础。

如今我们考虑这样一个问题:给定一个句子,我们让机器来自己主动标出句子中每一个单词的词性(名词/动词/代词/副词等)。能够想象这个问题的输出空间存在着某种逻辑在里边,但又不能用穷举法(一个是输出空间太大,还有一个是某些组合方式不存在:如一个句子中不可能全是动词等)。所以我们希望让机器去学习到当中的一些结构。能够正确的处理句子。

相似这种输出空间巨大且暗含某种结构的,我们称之为结构化学习(structured learning)。

这里简介了多元分类、回归分析、结构化学习。是为了告诉大家机器学习不仅仅是为了解决是非题,还有很多其它的复杂形式。只是这里最核心的是二元分类和回归分析。

最后是小測试:

Learning with Different Data Label

相似上面讲的硬币分类的问题我们称之为监督式学习(supervised learning),所谓监督是指我们不仅向机器提供了每一枚硬币的重量、尺寸等,我们还提供每一枚硬币的分类结果(就是该硬币实际的面额)。

相相应地,假设我们仅仅给出硬币的重量、尺寸等信息而没有给出硬币的实际分类结果,我们让机器自己想办法将硬币分成k类。这种问题我们称之为聚类(clustering)。以下给出了一个对照图,左側图中的数据点已经被标记了不同的颜色,表示机器已经知道每一个数据点所属的类别;而右側图中的数据点还没有标记类别,须要机器从数据中学到这些数据点应该分几类,以及每一个数据点应该分到哪一类(这个问题更复杂)。

下图给出了几种非监督式学习:聚类(clustering)、密度分析(density estimation)、异常检測(outlier detection)。想要了解很多其它的话能够翻看我之前的博客

前面说了监督式学习和非监督式学习,以下介绍半监督式学习(semi-supervised learning)。

在半监督式学习中,我们给机器的数据集中仅仅有非常少一部分数据是被标记的,我们希望机器从这种数据集中学到一些东西。

比方,社交站点上人脸识别。我们仅仅标出非常少一部分照片的类别(姓名等)。然后让机器帮助我们去完毕标记工作。半监督式学习用在人工标记数据的成本非常高的问题上。

视频中还介绍了增强式学习(reinforcement learning)。大意是说当机器犯错时会作出相应的惩处项以修正hypothesis。当机器分类正确时给予一定的奖励(就好比训练宠物狗时。当狗作出正确的反应时给吃的,错了不给),相关知识会在以后的博客中具体介绍。

最后是小測试:

Learning with Different Protocol

在垃圾邮件分类系统中,我们通常先搜集大量的邮件。比方说2000封,并标注好每一封邮件的类别,然后将整个训练数据集输入给机器,机器从中学习到分类的技巧。我们称这种学习方式为批量(batch)学习。

相应的。我们将数据一条一条的输入给机器。机器推断其类别。依据其结果的正确性相应修正hypothesis,这种学习方式成为在线(online)学习。

PLA算法、增强式学习通常应用于在线学习。

近期又发展处了能够主动“问问题”的机器学习算法,比方有一个手写识别的机器,其主动写出一个数字(比方8),人工去标记它(标记为8)。然后机器就知道了“哦,相似这种手写数字可能是哪个(可能是8)”。相似这种学习方式,我们称之为主动(active)学习。

主动学习使机器能够有技巧的主动“问问题”。通经常使用于标记数据成本昂贵的问题。

下图给了三者的一个形象比喻。这个课程主要介绍批量学习。

然后本小节測试:

Learning with Different Input Space

这一小节讲的是特征project(feature engineering):将原始的数据转化为真正能够作为机器学习的training set的过程。特征project实际上用到了一些待处理问题所在领域的一些相关问题,比較复杂,在后面的课程还会介绍。实际上这一小节要告诉大家的是,我们要对最原始的数据进行特征提取等处理后,再输入给机器,去做机器学习。

本节小測试:

最后一张图是对这一讲内容的概括。

机器学习基石第三讲:types of learning的更多相关文章

  1. 林轩田机器学习基石笔记3—Types of Learning

    上节课我们主要介绍了解决线性分类问题的一个简单的方法:PLA.PLA能够在平面中选择一条直线将样本数据完全正确分类.而对于线性不可分的情况,可以使用Pocket Algorithm来处理.本节课将主要 ...

  2. 机器学习基石第一讲:the learning problem

    博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) Andrew Ng的Machine Learning比較简单,已经看完.林田轩的机器 ...

  3. 林轩田机器学习基石笔记4—Feasibility of Learning

    上节课介绍了机器学习可以分为不同的类型.其中,监督式学习中的二元分类和回归分析是最常见的也是最重要的机器学习问题.本节课,我们将介绍机器学习的可行性,讨论问题是否可以使用机器学习来解决. 一.Lear ...

  4. 机器学习基石笔记:01 The Learning Problem

    原文地址:https://www.jianshu.com/p/bd7cb6c78e5e 什么时候适合用机器学习算法? 存在某种规则/模式,能够使性能提升,比如准确率: 这种规则难以程序化定义,人难以给 ...

  5. 机器学习基石笔记:16 Three Learning Principles

    三个理论上界: 三个线性模型: 三个关键工具: 三条学习规则: 1.奥卡姆剃刀定律 先从简单模型开始, 训练后出现欠拟合, 再尝试复杂点模型. 2.采样误差 训练.验证.测试数据尽量同分布. 3.数据 ...

  6. 机器学习基石 3 Types of Learning

    机器学习基石 3 Types of Learning Learning with Different Output Space Learning with Different Data Label L ...

  7. 机器学习学习-Types of learning

    Types of learning 基于个人理解.于我们在面对一个详细的问题时.可以依据要达到的目标选择合适的机器学习算法来得到想要的结果.比方,推断一封电子邮件是否是垃圾邮件,就要使用分类(clas ...

  8. 机器学习基石 4 Feasibility of Learning

    机器学习基石 4 Feasibility of Learning Learning is Impossible? 机器学习:通过现有的训练集 \(D\) 学习,得到预测函数 \(h(x)\) 使得它接 ...

  9. 机器学习基石 2 Learning to Answer Yes/No

    机器学习基石 2 Learning to Answer Yes/No Perceptron Hypothesis Set 对于一个线性可分的二分类问题,我们可以采用感知器 (Perceptron)这种 ...

随机推荐

  1. 给WebAPI的REST接口添加测试页面(二)

    在上篇文章中,我对Swagger-UI的基本功能进行了一些介绍,今天在这里介绍一下如何在WebAPI中集成Swagger-UI.这里以一个简单的CRUD的REST服务为例. /// <summa ...

  2. windows系统上安装与使用Android NDK r8d(一)

    什么是NDK? NDK 提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so 和 java 应用一起打包成apk.这些工具对开发者的帮助是巨大的. NDK 集成了交叉编译器,并 ...

  3. Interactive Messager

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  4. C#启动外部程序以及等待外部程序关闭的几种方法

    1. 启动外部程序,不等待其退出. 2. 启动外部程序,等待其退出. 3. 启动外部程序,无限等待其退出. 4. 启动外部程序,通过事件监视其退出. // using System.Diagnosti ...

  5. XML 简单介绍

    先附上一张XML 大概图:详解见博客内容. 一.定义 XML(EXtensible Markup Language) :可扩展标记语言. 设计的用途:用来描述,存储,传输数据信息. 二.特色 1.单纯 ...

  6. Android模拟器怎么配置网络连通

    PC机可以上网,PC机上面的android模拟器不能上网.其实只要使模拟器跟自己的PC在同一个网段内就行了: 首先,如果没有配置sdk的环境变量的,那么在CMD命令下进入sdk安装路径的platfor ...

  7. STM32+IAP方案 实现网络升级应用固件

    关注了这个概念有些日子了,这段时间总算有机会实战==网络升级应用固件,这里记录下遇到的问题,及解决方案. 原理与网上流传的串口作为传输手段 一致:不同之处,无非我这里使用了网络设备传输.==(lwip ...

  8. C#对.zip 存档读取和写入【转】

    Framework4.5支持 引用: System.IO.Compression.dll,System.IO.Compression.FileSystem.dll 提取压缩文件 ZipFile.Ext ...

  9. PHP登入网站抓取并且抓取数据

    有时候需要登入网站,然后去抓取一些有用的信息,人工做的话,太累了.有的人可以很快的做到登入,但是需要在登入后再去访问其他页面始终都访问不了,因为他们没有带Cookie进去而被当做是两次会话.下面看看代 ...

  10. 【饿了么】—— Vue2.0高仿饿了么核心模块&移动端Web App项目爬坑(三)

    前言:接着上一篇项目总结,这一篇是学习过程记录的最后一篇,这里会梳理:评论组件.商家组件.优化.打包.相关资料链接.项目github地址:https://github.com/66Web/ljq_el ...