如何向小白介绍何谓机器学习和数据挖掘?买回芒果他就懂了

JasonZheng • 2013-01-07 22:18
 

买芒果

嘴馋的你想吃芒果了,于是你走到水果摊,挑了几个让老板过过秤,然后你再根据芒果的斤两付钱走人。

显然,买芒果你当然是挑着最甜、最熟的来买(因为你是根据重量而不是质量来掏钱的)。怎么个挑法才靠谱呢?

对了,你奶奶说过,金黄色的要比浅黄的更甜些。于是你就做了一个简单的规定:只挑金黄色的买,过磅、付钱、回家。就这么简单?

不尽然。

生活没那么简单

拎着芒果回到了家,尝了尝,你发现有些很对口味,有些则马马虎虎。显然,光凭你奶奶的智慧还是有所不足的。挑芒果不能只看颜色。

一番细品,再一番苦想之后,你得出了结论:那些大个儿的、金黄色的芒果一定是甜的,而那些小个儿的、金黄的就只有一半是甜的了。(比如,你买了100个黄灿灿的芒果,50个个头较大,50个个头一般,那么个头大的那50个就都是甜的,个头小的50个当中就平均只有25个是甜的了。)

你对自己的研究发现甚感满意,想着下次买芒果的时候能更靠谱些。终于你又来到了水果市场,发现你最常去的那个水果摊已经见不着踪影了。于是你就找了另一个摊档,而他们的芒果又产自不同的地方。你挠挠头,叹了口气:得了,“大个、金黄色的果子甜”的经验在这又不适用了,一切从头开始。尝了一遍后,你发现那些小个的、浅黄的芒果是当中最甜的。

你的表妹大老远的来看你,你决定给她整些美味的芒果尝尝。但她并不在乎果子甜不甜,而只关心是不是鲜嫩多汁。好吧,你又挠挠头,在果摊尝了一遍,发现越软的越多汁。

这次,你到了另一个国度。这儿的芒果味道与家乡的截然不同:绿色的竟然要比黄色的味道更棒。

你结了婚,发现她对芒果完全不感冒,而对苹果很是喜欢。这回,你又跑去买苹果去了。你又得学神农“遍尝百果”,摸索苹果的物理特征和味道之间都有怎样的联系——为了她,又有什么不可以的呢?满满的都是爱呀。

写段电脑程序来帮忙

为什么不用电脑程序来帮你挑芒果(或苹果)呢?你把规则写了出来:

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

这就是你挑芒果用到的规则了。把它发给你的弟弟,想必他也能帮你买到对你口味的芒果。

但问题在于,每回你在试验之后得出了观察结果,你都得把规则做一番修正。你还得明察秋毫地了解清楚都有那些因素在影响芒果的品质。如果问题复杂起来的话,你在上面耗费的心血甚至都有可能为你拿个“芒果科学”的PhD下来(如果有的话)。

但这样的大闲人还真的不多。

写个机器学习算法吧

机器学习算法是普通算法的进化版,它们让你的程序变得“更聪明”,能从你提供的数据里自动学到东西。

你在市场上随机选择了某个品种的芒果(training data),把每个芒果的物理特征都写进了一个表格——颜色、大小、形状、产地、所属果摊等(features),甜度、多汁程度、成熟度(output variables)也做了记录。你把这些数据都放进了一个机器学习算法(classification/regression),然后这个算法就会自动从芒果的物理特征和品质之间得出一个相关性模型。

等到下一回你到市场的时候,你把在售的芒果的特征信息都收集起来,再扔进你的机器学习算法,它就会利用之前计算出来的模型来预测哪些芒果是甜的、熟的、以及/或多汁的了。该算法可能会使用和你曾经手写的差不多的规则,也有可能使用的规则会更有相关性,不管怎样,在很大程度上你都不用操太多心了。

现在,算法在手,你就可以挺直身板去买芒果去了。更重要的是,你的算法还能继续演进(reinforcement learning),读取更多的训练数据,准确率也更高,每预测错误后再进行自我修正。更妙的是,你还能用同一个算法来训练不同的模型,预测预测苹果、橙子、香蕉、葡萄、樱桃、西瓜什么的。

机器学习:让你的算法聪明起来,这样你就可以少动脑了。:)

 
参考资料:
http://36kr.com/p/200601.html
http://www.cnblogs.com/pugang/p/3702341.html
 

【机器学习 & 数据挖掘 通俗介绍】的更多相关文章

  1. ITTC数据挖掘平台介绍(七)强化的数据库, 虚拟化,脚本编辑器

    一. 前言 好久没有更新博客了,最近一直在忙着找工作,目前差不多尘埃落定.特别期待而且准备的都很少能成功,反而是没怎么在意的最终反而能拿到,真是神一样的人生. 言归正传,一直以来,数据挖掘系统的数据类 ...

  2. 机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

    前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是机器学习/数据挖掘之类,且又对其非常感兴趣的话,可以考虑考 ...

  3. 机器学习&数据挖掘笔记(常见面试之机器学习算法思想简单梳理)

    机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 作者:tornadomeet 出处:http://www.cnblogs.com/tornadomeet 前言: 找工作时( ...

  4. Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱(转)

    原文:http://www.52nlp.cn/python-网页爬虫-文本处理-科学计算-机器学习-数据挖掘 曾经因为NLTK的缘故开始学习Python,之后渐渐成为我工作中的第一辅助脚本语言,虽然开 ...

  5. [resource-]Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱

    reference: http://www.52nlp.cn/python-%e7%bd%91%e9%a1%b5%e7%88%ac%e8%99%ab-%e6%96%87%e6%9c%ac%e5%a4% ...

  6. [转]机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

    机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理) 转自http://www.cnblogs.com/tornadomeet/p/3395593.html 前言: 找工作时(I ...

  7. 【Python】Python 网页爬虫 & 文本处理 & 科学计算 & 机器学习 & 数据挖掘兵器谱

    本文转载自:https://www.cnblogs.com/colipso/p/4284510.html 好文 mark http://www.52nlp.cn/python-%E7%BD%91%E9 ...

  8. ITTC数据挖掘平台介绍(五) 数据导入导出向导和报告生成

    一. 前言 经过了一个多月的努力,软件系统又添加了不少新功能.这些功能包括非常实用的数据导入导出,对触摸进行优化的画布和画笔工具,以及对一些智能分析的报告生成模块等.进一步加强了平台系统级的功能. 马 ...

  9. 机器学习&数据挖掘笔记_14(GMM-HMM语音识别简单理解)

    为了对GMM-HMM在语音识别上的应用有个宏观认识,花了些时间读了下HTK(用htk完成简单的孤立词识别)的部分源码,对该算法总算有了点大概认识,达到了预期我想要的.不得不说,网络上关于语音识别的通俗 ...

随机推荐

  1. python基础===map和zip的用法

    >>> list1=[1,45,232,45,666,64] >>> list2=["ss","kein","to ...

  2. php7安装及和php5的共存

    http://blog.csdn.net/liuxinmingcode/article/details/50319145 http://www.jb51.net/article/109228.htm ...

  3. HTML5-坦克大战一完成坦克上下左右移动的功能(一)

    坦克大战一完成坦克上下左右移动的功能 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  4. golang的各种打印

    golang的打印方法太特么多了,下面就来区分一下之间的差异 package main import ( "fmt" "os" ) func main() { ...

  5. Mysql中使用存储过程返回查询多个表的数据信息

    -- 测试手机号 call P_Base_CheckLogin('); -- 测试登录名 call P_Base_CheckLogin('sch000001') -- 测试身份证号 call P_Ba ...

  6. 【转】jenkins插件pipeline使用介绍

    摘要: pipeline字面意思就是流水线,将很多步骤按顺序排列好,做完一个执行下一个.下面简单介绍下如何使用该插件帮我们完成一些流水线型的任务 pipeline字面意思就是流水线,将很多步骤按顺序排 ...

  7. ubantu对pycharm创建快捷方式

    如果你刚开始没有建立快捷方式自己建立一个快捷方式,方法如下 终端输入:sudo gedit /usr/share/applications/Pycharm.desktop粘贴模板: [Desktop ...

  8. Lock wait timeout exceeded数据库死锁问题

    环境 MySQL5.5 现象 A.数据更新或新增后数据经常自动回滚. B.表操作总报 Lock wait timeout exceeded 并长时间无反应 解决方法 A.应急方法:show proce ...

  9. 哈希+Bfs【P2730】 魔板 Magic Squares

    没看过题的童鞋请去看一下题-->P2730 魔板 Magic Squares 不了解康托展开的请来这里-->我这里 至于这题为什么可以用康托展开?(瞎说时间到. 因为只有8个数字,且只有1 ...

  10. 洛谷——P2421 A-B数对(增强版)

    题目背景 woshiren在洛谷刷题,感觉第一题:求两数的和(A+B Problem)太无聊了,于是增加了一题:A-B Problem,难倒了一群小朋友,哈哈. 题目描述 给出N 个从小到大排好序的整 ...