一个给不知道机器学习是什么东西的人讲的一个挺不错的例子,方法。

今天从 quora 上看了一个问题:如何给不是 CS 的学生,给不知道机器学习和数据挖掘的学生,讲明白什么是机器学习和数据挖掘。

其中有个答案很不错,拿买芒果的例子来给大家解释。老师们也应该多用用类似的一些例子,启发下学生的思考。

=============================

买芒果

有一天,你想吃芒果了,你就到地边的小摊上去买芒果,小摊上有好多芒果啊,你可以自己用手挑芒果。挑完之后,摊主会给你称称,多少斤?根据重量来付钱。

买芒果嘛,你只要不是重口味或者口味独特,还是选择最甜的,熟透了的芒果。因为你是根据重量来付钱的,又不是根据甜的程度或者熟了的程度,虽然摊主有时候会把好的芒果挑出一堆来单独涨价,但是这里这个摊主没这么做。

你奶奶曾经告诉你说,买芒果要买金黄色的,黄橙橙黄灿灿的,这样的最甜,不要买那些浅黄色的,那些还没熟。

好吧,这样你就有了一点经验,虽然这点经验是别人直接教给你的:买芒果,就买金黄色的。你在小摊上,挑了些金黄色的,过磅付钱,回家。这事就这么完了?别急,下文。

生活没那么简单

你回家,高高兴兴吃芒果,但是你发现,并不是每个芒果都那么甜,有部分不甜啊。唉,老奶奶的经验还是不足啊,虽然吃的盐比我走的路多,但是只通过颜色判断芒果甜不甜,不是很靠谱。

你回忆回忆看看到底什么样子的芒果甜?好像是又大又金黄色的比较甜,那些小点的金黄色的芒果,得有一半是不甜的。(买了 100 个金黄色的芒果,有 50 个大的,都是甜的;另外有 50 个小的,其中有 25 个是不甜的。)

嗯,你总算总结出来一条经验规则了:大的金黄色的是最甜的,哈哈。你又高高兴兴的去买芒果。Shit,你熟悉的、你信得过的那个摊主走了。所以你得换一个小摊买芒果了,但是新的摊主的芒果是产自不同的地方,你之前总结的经验可能不行了,你不知道能不能迁移过去(transfer learning),于是你从头再开始尝试吧,发现这里小的,浅黄色的是最甜的!

一天,你表妹来找你玩,想吃芒果,但是她不在乎甜不甜,她喜欢吃多汁的。唉,以前的经验又不顶用了。你只能进行新的一轮实验,目标就是多汁的芒果(优化目标变了)。你又总结出,越软的越多汁。

你出国了读 PhD,这里的芒果跟你家乡的差别太大了,这里绿色的最好吃。PhD 毕业后,你结婚了,老婆不喜欢吃芒果,喜欢吃苹果。你积累的丰富的挑选芒果的经验规则都不行了,或许有些你可以 transfer 过去。你不得不从头再开始一轮一轮的实验尝试,看看苹果的一些特征跟好吃不好吃的关系如何?虽然这个过程很枯燥,但是你去做了,因为你爱她。

规则列表

你想把如何挑选芒果(苹果)的这些东西用程序实现出来,这样在电脑上,甚至用你的手机扫描一下,就能自动挑选出很多好吃的芒果。因为你积累了一些规则,可以这么实现:

if (color is bright yellow and size is big and sold by favorite vendor): mango is sweet.

if (soft): mango is juicy.

etc.

但是你想啊,这些规则越来越多的话,特征之间的组合啥的就越来越麻烦了,管理、使用都很麻烦。包括写程序实现啊,谁会笨到写这么多 If Then。

机器学习

机器学习算法是普通算法的进化,更加聪明和自动。看如何把选芒果的问题定义成标准的机器学习问题吧。

随机的选择了一个市场上的芒果,作为要研究的目标(training data)。你可以用一个表格描述芒果属性和类型的关系,每一行可以放一个芒果的数据,包括芒果的物理属性(feature): 颜色、大小、形状、软硬度、产地,等等,还有这些芒果的类型(output variables):甜度、成熟度、多汁度。然后这就是一个多分类问题,或者回归问题,自动的从数据中学习出特征与芒果类型的各种关系等。

如果你用决策树算法,那么这个模型的样子就是你的规则库了;当然你可以使用其他模型,例如线性模型,这样就是特征的线性组合了。

下次你去市场,采集了一个芒果的各个指标特征,扔进你的模型,模型告诉你这个芒果是什么类型的?熟的?多汁的?

各种方法

甚至你的选择芒果的模型,稍微变化下就可以选择苹果了,迁移学习。

甚至你的模型会随着新的样本、新芒果种类进来后,变的越来越好,增量学习。

。。。。。

有点知道机器学习什么事了么?

通过身边小事解释机器学习是什么?相关推荐

  1. 【转】通过身边小事解释机器学习是什么?

    转载地址 : 通过身边小事解释机器学习是什么 一个给不知道机器学习是什么东西的人讲的一个挺不错的例子,方法. 今天从quora上看了一个问题:如何给不是CS的学生,给不知道机器学习和数据挖掘的学生,讲 ...

  2. 终于有人把“可解释机器学习”讲明白了

    1 为什么需要解释 机器学习模型的可解释性(Interpretability)最近说得越来越多,这也是个有趣的话题.可解释性不是个新概念,很多书在介绍机器学习模型时,都会顺带提一笔这款模型的可解释性如 ...

  3. 可解释机器学习发展和常见方法!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 来源:新智元,编辑:数据派THU 本文约2000字,建议阅读5分钟 本文 ...

  4. 用XGBoost入门可解释机器学习!

    Datawhale干货 来源:Scott Lundberg,来源:数据派THU 本文长度为4300字,建议阅读8分钟 本文为大家介绍用XGBoost解释机器学习. 这是一个故事,关于错误地解释机器学习 ...

  5. 一文读懂可解释机器学习简史,让你的模型再也不是“Black Box”

    来源丨新智元 编辑丨极市平台 近年来,可解释机器学习(IML) 的相关研究蓬勃发展.尽管这个领域才刚刚起步,但是它在回归建模和基于规则的机器学习方面的相关工作却始于20世纪60年代.最近,arXiv上 ...

  6. 独家 | 在R中使用LIME解释机器学习模型

    作者:PURVAHUILGOL 翻译:陈丹 校对:欧阳锦 本文约3200字,建议阅读15分钟 本文为大家介绍如何在R中使用LIME来解释机器学习模型,并提供了相关代码. 关键词:机器学习模型解释.R语 ...

  7. 独家 | 用XGBoost入门可解释机器学习

    作者:Scott Lundberg 翻译:和中华 校对:张一然 本文长度为4300字,建议阅读8分钟 本文为大家介绍用XGBoost解释机器学习. 这是一个故事,关于错误地解释机器学习模型的危险以及正 ...

  8. 报名 | AI Time:“ 论道自动机器学习与可解释机器学习”

    深度学习在各个领域取得了骄人的成绩,基本是舍我其谁了.之前还存在如何调参.如何选架构的问题,最近随着自动机器学习(AutoML)的快速发展,Neural architecture search(NAS ...

  9. 干货|全面介绍微软开源可解释机器学习框架InterpretML

    点击上方"AI遇见机器学习",选择"星标"公众号 重磅干货,第一时间送 转自:机器之心 起初,机器于黑暗之中学习,为解释它们,数据科学家于虚空之中挣扎. 然后, ...

最新文章

  1. spring面试重点
  2. Mac安装Dart的SDK
  3. nodejs--http模块
  4. [ATF]-ATF的RT_SVC的详解(runtime service)
  5. 【转载】ubuntu下/usr/bin和/usr/local/bin的区别
  6. ueditor1_4_3_3编辑器的应用
  7. 实现Ajax异步交互
  8. JenKins自动化构建部署流程参考
  9. sql 插入新数据 如何处理等字符_新手们还在到处找报表资料吗?Intouch SQL 数据库脚本给你安排...
  10. Python中fastapi构建的web项目进行docker部署
  11. Ubuntu系统使用罗技鼠标
  12. mysql备份命令_mysql命令行备份方法
  13. 双硬盘双win10互不干扰_win10系统安装双硬盘却无法显示另一个硬盘的技巧介绍...
  14. php 获取用户是否关注微信公众号
  15. crt上传数据_使用SecureCRT上传文件到Linux服务器
  16. thinker board s debian系统安装配置
  17. 【图片新闻】五角大楼的国防创新部DIU正在规划建设一个未来机器人空间站
  18. Esper学习之十:EPL语法(六)
  19. APK文件完全破解(源码可见)
  20. Spring-boot中使用nutz实践

热门文章

  1. 基于单片机的室内智能照明系统设计(#0419)
  2. Windows平台MinGW GCC编译并使用C++ Boost
  3. vscode 插件 -- writer-helper :写作助手
  4. jQuery仿淘宝精品服饰广告的实现
  5. 金属膜电阻 碳膜电阻 水泥电阻 铝壳电阻比较
  6. 记录HK笔试(数字逻辑岗位)
  7. leetcode 994 腐烂的橘子
  8. YOLO v1论文详解
  9. Android软件开发教学视频(转载)
  10. 中国工业软件:有路你不走 无路你瞎撞头