这篇文章主要对机器学习的基本概念和分类做一下总结。

文章目录

  • 什么是机器学习
  • 为什么使用机器学习
  • 机器学习系统的类型
    • 有监督学习和无监督学习
      • 有监督学习
      • 无监督学习
      • 半监督学习
      • 强化学习
    • 批量学习和在线学习
      • 批量学习
      • 在线学习
    • 基于实例的学习于基于模型的学习
      • 基于实例的学习
      • 基于模型的学习

什么是机器学习

机器学习是一门通过编程让计算机从数据中进行学习的科学(和艺术)。

为什么使用机器学习

这里有两张图,描述处理问题时,传统方法和机器学习方法的过程和区别。
这是传统方法:

这是机器学习方法:

机器学习方法会通过训练数据来学习数据的规律或根据数据抽象出来模型,进而去解决新的问题。
机器学习可以通过数据来形成自适应改变,从而不需要人工干预了。

另外,机器学习可以帮助人类学习,通过对大量数据运行机器学习方法,可能会提醒到人类发现之前尚未发现的规律,从而收到启发,解决问题。

机器学习系统的类型

  • 是否在人类监督下训练(有监督、无监督、半监督和强化学习)
  • 是否可以动态地进行增量学习(在线学习和批量学习)
  • 是简单的将新的数据点和已知的数据点进行匹配,还是向科学家那样,对训练数据进行模式检测然后建立一个预测模型(基于实例学习和基于模型的学习)

有监督学习和无监督学习

根据训练期间的监督数量和监督类型分类。

有监督学习

如用于垃圾邮件分类的已标记训练集如下,是一个有监督学习(数据带标签)。

另一个典型任务是回归(预测):在给定输入特征的情况下预测值(通常有多个输入特征,有时有多个输出值)。

一些有监督学习方法:

  • K-近邻算法(k-Nearest Neighbors)
  • 线性回归(Linear Regression)
  • 逻辑回归(Logistic Regression)
  • 支持向量机(Support Vector Machines ,SVMs)
  • 决策树和随机森林(Decision Trees and Random Forests)
  • 神经网络(Neural networks)
无监督学习

无监督学习的训练数据都是未经过标记的。如图所示:

一些重要的无监督学习方法:

  • 聚类

    • K-均值聚类(K-Means)
    • DBSCAN
    • 分层聚类分析(Hierarchical Cluster Analysis ,HCA)
  • 异常检测和新颖性检测
    • 单类SVM(One-class SVM)
    • 孤立森林(Isolation Forest)
  • 可视化和降维
    • 主成分分析(Principal Component Analysis ,PCA)
    • 核主成分分析(Kernel PCA)
    • 局部线性嵌入(Locally Linear Embedding ,LLE)
    • t-分布随机近邻嵌入(t-Distributed Stochastic Neighbor Embedding ,t-SNE)
  • 关联规则学习
    • Apriori
    • Eclat

假设对上述数据进行聚类分析,如下所示:

可视化算法也是无监督学习算法的一个不错的示例:你提供大量复杂的、未标记的数据,算法轻松绘制输出2D或3D的数据表示:

另一个很重要的无监督任务是异常检测(如下图所示)。与之非常类似的一个任务是新颖性检测。

最后,还有一个常见的无监督任务是关联规则学习,其目的是挖掘大量数据,发现属性之间有趣的联系。

半监督学习

由于通常给数据做标记是非常耗时和昂贵的,往往会有很多未标记的数据而很少有已标记的数据。有些算法可以处理部分已标记的数据,这称为半监督学习。
如下所示,半监督学习有两个类别(三角形和正方形):未标记的示例(圆形)有助于将新实例(十字)分类为三角形类别而不是正方形类别,即使它更接近于标记的正方形。

强化学习

强化学习的学习系统(在其语境中称为智能体)能够观察环境,做出选择,执行动作,并获得回报(或者是以负面形式获得惩罚),如下图。例如许多机器人通过强化学习算法来学习如何行走。

批量学习和在线学习

此分类标准是看系统是否可以从传入的数据流中进行增量学习。

批量学习

在批量学习中,系统无法进行增量学习——即必须使用所有可用数据进行训练,所以通常都是离线完成的。离线学习就是先训练系统,然后将其投入生成环境,这是学习过程停止,它只是将其所学到的应用出来。

在线学习

可以循序渐进的给系统提供训练数据,逐步积累学习成果。在线学习中,模型经过训练并投入生产环境,然后随着新数据的进入不断学习,如下图。

对于超大数据集——超出一台计算机的主存储器的数据,在线学习算法同样适用(这称为核外学习)。算法每次只加载部分数据,并针对这部分数据进行训练,然后不断重复这个过程,直到完成所有数据的训练,如下图。

注意,核外学习通常是离线完成的(也就是不在实时(live)系统上),可以仅视为增量学习。

基于实例的学习于基于模型的学习

看如何泛化来分类,泛化方法主要有2种:基于实例的学习和基于模型的学习。

基于实例的学习

系统用心学习这些示例,然后通过使用相似度度量来比较新实例和已经学习的实例(或他们的子集),从而泛化新实例。例如,下图中的新实例会归为三角形,因为大多数最相似的实例属于那一类。

基于模型的学习

从一组示例集中实现泛化的另一种方法是构建这些示例的模型,然后使用该模型进行预测。如根据数据集,构建一些可能的线性模型。

过程基本如下:

  • 研究数据
  • 选择模型
  • 使用训练数据进行训练(即前面学习算法搜索模型参数值,从而使成本函数最小化的过程)
  • 最后,应用模型对新示例进行预测(称为推断),希望模型泛化结果不错。

参考文献:Hands-On Machine learning 2nd

图解机器学习基本概念及分类相关推荐

  1. 【机器学习小常识】“分类” 与 “回归”的概念及区别详解

    目录 1.分类与回归是干嘛的? 2.二者有什么区别 1.输出不同 2.目的不同 3.本质不同 4.结果不同 3.场景应用 1.分类应用 2.回归应用 学过机器学习的人都听过两个概念:分类与回归,特别的 ...

  2. 图解机器学习算法(6) | 决策树模型详解(机器学习通关指南·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/34 本文地址:https://www.showmeai.tech/article-d ...

  3. 图解机器学习算法(13) | 聚类算法详解(机器学习通关指南·完结)

    作者:韩信子@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/34 本文地址:https://www.showmeai.tech/article-d ...

  4. 赠书 | 图解机器学习算法,看这文就够了!

    机器学习指的是计算机根据给定的问题.课题或环境进行学习,并利用学习结果解决问题或课题等的一整套机制(图 1-1). 图 1-1 分类的示意图 与机器学习共同成为热门话题的还有人工智能和深度学习.这里梳 ...

  5. 从零开始的AI·机器学习の基本概念

    从零开始的AI系列 机器学习の基本概念 从零开始的AI系列 一.机器学习の相关术语及其理解 二.机器学习の学习任务 分类 回归 聚类 特征降维与低维可视化 三.机器学习の学习范式 监督式学习 半监督式 ...

  6. 下载 | 9G火爆的Python爬虫教程+ 520页《图解机器学习》

    前段时间,小伙伴多次在后台留言询问Python爬虫教程的问题.经过这两个多月以来的收集与整理,汇集了多个高校以及公开课视频教程,包括python爬虫的入门.进阶与实践,共9G左右.爬虫作为机器学习语料 ...

  7. 短小精悍-机器学习核心概念、模型、基础知识点简明手册-免费分享

    该手册只有130页,整理了几乎所有关机机器学习的概念.模型.基础知识点,它将帮助读者快速回顾关于机器学习相关的核心知识点和重要公式.模型.概念.涉及概率模型.处理离散数据的生成模型.高斯模型.贝叶斯模 ...

  8. 机器学习核心概念、常用术语整理(建议收藏)

    [转]机器学习核心概念完全解析(建议收藏) 原文链接:https://mp.weixin.qq.com/s/wEpmF1gdvsIimnvXrxKdRw AI干货知识库 刚接触机器学习框架 Tenso ...

  9. 机器学习 (一)------分类

    机器学习 (一)------分类 机器学习分类 机器学习分为监督学习和无监督学习两类. 监督学习是指在有标记的样本上建立机器学习的模型(这类算法知道预测什么,即目标变量的分类信息). 无监督学习恰恰相 ...

  10. R语言与机器学习学习笔记(分类算法)

    转载自:http://www.itongji.cn/article/0P534092014.html 人工神经网络(ANN),简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型.神经 ...

最新文章

  1. Node.js实现服务器端生成Excel文件(xls格式、xlsx格式文件)并弹出下载文件
  2. MyBatisPlus3.x代码生成器自定义模板配置
  3. js 用正则表达式模仿SQL like % 的模糊匹配
  4. 【图像处理】——灰度变换心得(cv2.normalize规范化值0-255,cv2.convertScaleAbs(new_img)转为8位图)
  5. mysql自动插入的时间不对 差8小时
  6. (设计模式)简单工厂模式之通过配置文件动态创建实现类
  7. 2012年5月份第2周51Aspx源码发布详情
  8. Kubernetes学习总结(12)—— 学习 kubernetes 的10个技巧或建议
  9. 隐藏多行文本框的滚动条
  10. OOP面向对象编程(一)-------方法的重载
  11. uint32 t java_数据类型 -- uint32_t 类型
  12. 国庆八天乐,码农长假怎么过?别加班了
  13. 《论文阅读》Generating Responses with a Specific Emotion in Dialog
  14. ubuntu——sudo权限问题(sudo:/etc/sudoers is world writable sudo:no valid sudoers sources found,quitting..)
  15. 关于c#,PHP socket挂到云服务器上之后本机无法连接的问题
  16. android usb micro,朝夕相伴不知芳名? 来补补USB接口知识
  17. 网络打印机计算机服务,打印机服务器与网络打印机的安装
  18. SpringMVC个人理解(downpour 的SpringMVC深度探险的个人整理)
  19. java获取时间并进行计算
  20. shell在xcode中涉及到的关键字

热门文章

  1. 插头DP/轮廓线DP
  2. 这些solidworks工程图模板知识你都知道吗?
  3. matlab做弹簧阻尼系统,第5章 弹簧阻尼系统建模.ppt
  4. qq撤回的消息会在服务器,如何查看qq撤回的消息_查看qq被撤回消息的方法
  5. Three.js的人物动画与交互
  6. 将Map转换成List
  7. 苹果手机屏幕助手_苹果手机屏幕坏点测试
  8. C/C++ typedef用法
  9. 电路基本原理的那些事儿之 分压原理
  10. Android异步通信:深入剖析Handler机制源码