图解机器学习:人人都能懂的算法原理

来源:机器学习研究组订阅号

算法公式挺费神,机器学习太伤人。任何一个刚入门机器学习的人都会被复杂的公式和晦涩难懂的术语吓到。但其实,如果有通俗易懂的图解,理解机器学习的原理就会非常容易。本文整理了一篇博客文章的内容,读者可根据这些图理解看似高深的机器学习算法。

机器学习这个主题已经很普遍了,每个人都在谈论它,但很少有人能够透彻地了解它。当前网络上的一些机器学习文章晦涩难懂,理论性太强,或者通篇云里雾里地介绍人工智能、数据科学的魔力以及未来的工作等。

所以呢,本文作者 vas3k 通过简洁的语言和清晰明了的图示内容,使得读者能够更容易地理解机器学习。抛却了晦涩难懂的理论介绍,文中侧重于机器学习中的实际问题、行之有效的解决方案和通俗易懂的理论。无论你是程序员还是管理者,本文都适合你。

AI 的范畴

AI 到底它包含了哪些领域,它与各种技术名词之间的关系又是什么样的?其实我们会有多种判断方式,AI 范畴的划分也不会是唯一的,例如最「常见」的认识可能如下图所示。

你可能会认为:

  • 人工智能是个完整的知识领域,类似于生物学或者是化学;

  • 机器学习是人工智能中非常重要的一部分,但并不是唯一一个部分;

  • 神经网络是机器学习的一种,现在非常受欢迎,但依然有其他优秀的算法;

但是,难道深度学习都是神经网络吗?明显并不一定是,例如周志华老师的深度森林,它就是第一个基于不可微构件的深度学习模型。因此,更科学的划分可能是下图花书中的这种:

机器学习下面应该是表示学习,即概括了所有使用机器学习挖掘表示本身的方法。相比传统 ML 需要手动设计数据特征,这类方法能自己学习好用的数据特征。整个深度学习也是一种表示学习,通过一层层模型从简单表示构建复杂表示。

机器学习路线图

如果你比较懒,那这有一张完整的技术路线图供你参考。

按照现阶段主流分类来看,机器学习主要分为四类:

  • 经典机器学习;

  • 强化学习;

  • 神经网络和深度学习;

  • 集成方法;

经典机器学习

经典机器学习经常被划分为两类:监督型学习和非监督型学习。

监督学习

在分类中,模型总是需要一个导师,即对应特征的标注,这样的话机器就可以基于这些标注学习进行进一步分类。万事皆可分类,基于兴趣去分类用户、基于语言和主题分类文章、基于类型而分类音乐以及基于关键词分类电子邮件。

而在垃圾邮件过滤中,朴素贝叶斯算法得到了极其广泛的应用。事实上,朴素贝叶斯曾被认为是最优雅、最实用的算法。

支持向量机 (SVM) 是最流行的经典分类方法。也是被用来对现有的一切事物进行分类: 照片中的植物外观,文件等等等。支持向量机背后的思路也很简单,以下图为例,它试图在数据点之间画出两条边距最大的线。

监督学习——回归

回归基本上是分类,但预测的标的是一个数字而不是类别。例如按里程计算的汽车价格,按时间计算的交通量,按公司增长计算出市场需求量等。当所预测的事物是依赖于时间时,回归是非常合适的选择。

无监督学习

无监督学习是 90 年代才被发明出来的,可以这么去描述它「根据未知特征对目标进行分割,而由机器去选择最佳方式。」

无监督学习——聚类

聚类是一种没有预先定义类的分类。比如当你不记得你所有的颜色时,把袜子按颜色分类一样。聚类算法试图通过某些特征从而找到相似的对象并将它们合并到一个聚类中。

无监督学习——降维

「将特定的特征组合成更高级的特性」

人们在使用抽象的东西总是比使用零碎的特征更具有方便性。举个例子,将所有长着三角形的耳朵、长鼻子和大尾巴的狗合并成一个很好的抽象概念——「牧羊犬」。

再比如有关科技的文章中拥有更多科技术语,而政治新闻里最多的是政客的名字。假如我们要将这些具有特性的单词以及文章组成一个新的特征,以保持其潜在关联度,SVD 便是个不错的选择。

无监督学习——关联规则学习

「在订单流中分析出特征模式」

包括分析购物车,自动化营销策略等。举个例子,顾客拿着六瓶啤酒走向收银台,在其路上是否该放些花生?如果放了,这些顾客多久会来买一次?如果啤酒花生是绝配,那还有其他什么事物也可进行这样的搭配呢?


现实生活中,每个大型零售商都有它们自己的专用解决方案,而当中技术水平最高的要数那些「推荐系统」。

集成方法

「团结就是力量」,这句老话很好地表达了机器学习领域中「集成方法」的基本思想。在集成方法中,我们通常会训练多个「弱模型」,以期待能组合成为一个强大的方法。像各种经典 ML 竞赛中,差不多效果最好的那一拨,如梯度提升树、随机森林等都属于集成方法。

一般而言集成方法的「组合方式」主要可以分为三种:Stacking、Bagging、Boosting。

如下图所示,Stacking 通常考虑的是异质弱学习器,弱学习器可以先并行地训练,而后通过一个「元模型」将它们组合起来,根据不同弱模型的预测结果输出一个最终的预测结果。

Bagging 方法通常考虑的是同质弱学习器,相互独立地并行学习这些弱学习器,并按照某种确定性的平均过程将它们组合起来。假设所有弱学习器都是决策树模型,那么这样做出来的 Bagging 就是随机森林。

Boosting 方法通常考虑的也是同质弱学习器,只不过它的思想是「分而治之」。它以一种高度自适应的方法顺序地学习这些弱学习器,且后续弱模型重点学习上一个弱模型误分类的数据。

这就相当于不同的弱分类器,专注于部分数据,达到「分而治之」的效果。如下所示,Boosting 就是以串行组合不同模型的范式。大名鼎鼎的 XGBoost、LightGBM 这些库或算法,都采用的 Boosting 方法。

现在,从朴素贝叶斯到 Boosting 方法,经典机器学习的主要分支已经具备了。如果读者希望有一个更系统与详细地了解,李航老师的《统计学习方法》与周志华老师的《机器学习》是最好的两本中文教程。

当然,在这篇博客中,作者还介绍了强化学习与深度学习等等,内容非常适合对人工智能感兴趣且非相关专业的读者,加上形象的配图,算得上是篇非常不错的科普文。如果你对这种简单易懂的叙述方式感兴趣的话,可以去博客上详细阅读。

参考链接:https://vas3k.com/blog/machine_learning/

未来智能实验室的主要工作包括:建立AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提升企业,行业与城市的智能水平服务。

  如果您对实验室的研究感兴趣,欢迎加入未来智能实验室线上平台。扫描以下二维码或点击本文左下角“阅读原文”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/488195.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python gil锁问题_Python的GIL与线程安全问题?[closed]

由于一些历史原因,CPython的GIL使得Python同一个时刻只能有一个线程在运行,这使得线程只能用于IO型任务,虽然异步更胜一筹。但是既然同一个时刻只能有一个线程运行那为什么还会有线程安全,线程非安全之类的概念。threading模块提供…

html5页面主题,HTML5页面开发笔记

页面由设计决定, 所以首先聊聊设计稿前戏, 页面设计规范PSD设计稿的图层 "分组" 以及图层 "命名":设计稿中的每一个元素, 比如 唱片机, 设计师需要将所有属于唱片机的图层全部打到一个图层组里, 并且命名这个图层组为唱片机.这样开发人员可以快速的去单独导…

AC日记——Mato的文件管理 bzoj 3289

3289 思路&#xff1a; 莫队求区间逆序对个数&#xff0c;树状数组维护&#xff1b; 代码&#xff1a; #include <bits/stdc.h> using namespace std; #define maxn 50005 int bel[maxn],blo; struct QueryType {int l,r,id;bool operator<(const QueryType pos)const…

Python 什么时候会被取代?

来源&#xff1a;CSDN译者 | 弯月&#xff0c;责编 | 郭芮以下是译文&#xff1a; Python经过了几十年的努力才得到了编程社区的赏识。自2010年以来&#xff0c;Python得到了蓬勃发展&#xff0c;并最终超越了C、C#、Java和JavaScript。但是&#xff0c;这种趋势将持续到什么时…

java负数右移_Java中的按位右移运算符 - Break易站

在C / C 中&#xff0c;只有一个右移运算符>>&#xff0c;它只能用于正整数或无符号整数。在C / C 中不推荐使用右移运算符来表示负数&#xff0c;当用于负数时&#xff0c;输出依赖于编译器。与C 不同&#xff0c;Java支持以下两个右移操作符。Java中的按位右移运算符1)…

Android开发艺术探究Note

第一章&#xff1a;Activity的生命周期和启动模式 生命周期onPause表示activity正在停止&#xff0c;onPaus必须先执行完&#xff08;栈顶的activity&#xff09;&#xff0c;新的activity的onResume才会执行。onStop表示activity即将停止&#xff08;透明不会执行&#xff09;…

html设置焦点图片,HTML设置焦点

**插件简介**这是一款很有特点的HTML5图片切换焦点图动画&#xff0c;点击左右按钮即可将图片进行弹性切换&#xff0c;图片在被切换时&#xff0c;都会左右晃动几下&#xff0c;产生一定的弹性缓冲动画效果。[contenteditable]:focus{outline: none;}如果input失去焦点时,有进…

烧脑:宇宙时空结构是量子纠错码

来源&#xff1a;Future远见现在越来越多的理论物理学家开始相信&#xff0c;时空起源于纠缠的量子信息。粗略地讲&#xff0c;时空中最重要的“相邻”概念&#xff0c;可以认为是起源于量子纠缠&#xff1a;有纠缠就是相邻&#xff0c;没有纠缠就是不相邻。如果你相信这一观念…

dataframe 取2列_DataFrame通过两列进行分组,并获取另一列的计数

新手程序员在这里寻求帮助。我有一个看起来像这样的数据框&#xff1a;Cashtag Date Message0 $AAPL 2018-01-01 "Blah blah $AAPL"1 $AAPL 2018-01-05 "Blah blah $AAPL"2 $AAPL 2019-01-08 "Blah blah $AAPL"3 $AAPL 2019-02-09 "Blah bl…

解决黑苹果的887驱动问题

使用audio_cloverALC工具&#xff0c;下载地址https://github.com/toleda/audio_CloverALC/blob/master/audio_cloverALC-120.command.zip。 首先需要挂载efi分区 1 promote:~ asher$ diskutil list2 /dev/disk0 (internal, physical):3 #: TYPE NAME…

tornado 获取html,python使用tornado实现简单爬虫

本文实例为大家分享了python使用tornado实现简单爬虫的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下代码在官方文档的示例代码中有,但是作为一个tornado新手来说阅读起来还是有点困难的,于是我在代码中添加了注释,方便理解,代码如下:# codingutf-8#!/usr/bin/env p…

李德毅院士:通用人工智能十问

来源&#xff1a;学术头条共识&#xff1a;智能是学习的能力&#xff0c;以及解释、解决问题的能力&#xff1b;人工智能是脱离生命体的智能&#xff0c;是人类智能的体外延伸&#xff1b;通用人工智能通过不断学习&#xff0c;积累本领&#xff0c;进化成长&#xff0c;能够面…

gdt描述_全局描述符表GDT

写在前面添油加醋系列第二弹——剖析GDT话说C语言的话除了刷刷OJ外&#xff0c;就是用来实现操作系统这个大头了。C语言比C少了很多很多臃肿的语法特性&#xff0c;写起来非常优美(至少写操作系统是这样的)。虽说C有许多的奇技淫巧&#xff0c;一个算法有N种实现方法&#xff0…

咸阳高考成绩查询2021,2021咸阳市地区高考成绩排名查询,咸阳市高考各高中成绩喜报榜单...

距离2018年高考还有不到一个月的时间了&#xff0c;很多人在准备最后冲刺的同时&#xff0c;也在关心高考成绩。2018各地区高考成绩排名查询,高考各高中成绩喜报榜单尚未公布&#xff0c;下面是往年各地区高考成绩排名查询,高考各高中成绩喜报榜单&#xff0c;想要了解同学可以…

云计算与人工智能

来自&#xff1a;cnblogs.com/popsuper1982/p/8505203.html我今天要讲这三个话题&#xff0c;一个是云计算&#xff0c;一个大数据&#xff0c;一个人工智能&#xff0c;我为什么要讲这三个东西呢&#xff1f;因为这三个东西现在非常非常的火&#xff0c;它们之间好像互相有关系…

泸西一中2021高考成绩查询,云南红河州四所好高中,红河州一中一本率领先,建水一中不容小觑...

红河州地处我国西南&#xff0c;是一个常住人口超过467万的多民族聚居边疆自治州(地级行政区划)&#xff0c;下辖4市(县级)、9县(其中3个自治县)&#xff0c;经济总量在全省仅次于昆明与曲靖&#xff0c;是一个综合实力较强的自治州。红河州的基础教育实力相当不错&#xff0c;…

Date类

Date&#xff1a;是时间对象&#xff0c;它也是对象数据类型的一个细分 获取的是当前自己电脑的时间&#xff08;获取客户端的时间&#xff09; var nowTime new Date(); GMT&#xff1a;格林尼治时间&#xff08;经纬度都是0&#xff09; 中国是 GMT0800 东八区 美国是 UTC-0…

python 遍历list_Python列表遍历知多少

遍历列表中的所有元素是常用的一种操作&#xff0c;在遍历的过程中可以完成查询、处理等功能。在生活中&#xff0c;如果想要去商场买一件衣服&#xff0c;就需要在商场中逛一圈&#xff0c;看是否有想要买的衣服。逛商场的过程相当于列表的遍历操作。在Python中遍历列表的方法…

【JavaWeb】Maven(学习笔记)

一、Maven概述 1、Maven Maven 是一个项目管理工具 2、Maven解决的问题 jar 包问题编译测试运行打包 3、Maven的组成 项目对象模型 &#xff1a;pom.xml标准集合&#xff1a;目录结构标准一个项目生命周期(Project Lifecycle)依赖管理系统&#xff1a;通过配置文件管理用…

高中计算机学考操作ppt,高中信息技术基础学考专题复习(共25张PPT)

ID:11883433资源大小&#xff1a;308KB资料简介:信息的加工与管理 信息资源管理 计算机的功能与特征 文字处理:WORD 图表处理:EXCEL 多媒体信息处理:图像、音频、视频基本概念 算法及其实现 信息资源管理基本概念 网上数据的管理 数据库系统及简单应用:ACCESS 信息的表达 信息的…