文档章节

非码农也能看懂的“机器学习”原理

simpower
 simpower
发布于 2014/11/06 19:57
字数 1208
阅读 330
收藏 23

我们先来说个老生常谈的情景:某天你去买芒果,小贩摊了满满一车芒果,你一个个选好,拿给小贩称重,然后论斤付钱。

自然,你的目标是那些最甜最成熟的芒果,那怎么选呢?你想起来,啊外婆说过,明黄色的比淡黄色的甜。你就设了条标准:只选明黄色的芒果。于是按颜色挑好、付钱、回家。啊哈,人生完整了?

呵呵呵。


告诉你吧人生就是各种麻烦

等你回到家,尝了下芒果。有些确实挺甜,有些就不行了。额~显然,外婆教的金科玉律还不够用,光看颜色不靠谱哪。

闭关研究大半天以后,你得出结论:大个的明黄色芒果必然甜,小个的,就只有一半几率会是甜的了。

于是下次,你满意地带着这个结论再去买芒果,却发现你经常光顾的那个小贩关门度假去了。好吧,换家店,结果人家的进货渠道还不一样,那芒果是另一个地方种的。你这套法则不管用了,又得从头再来。好吧,这家店里每种芒果你都尝了下,总结出来小个淡黄色的最甜。

还没结束。你远房表妹又来找你玩了。要招待些好的吧?但她说了,她无所谓芒果甜不甜,汁水多就行。好呗,你还得再做一次实验,找到芒果越软汁水越多的规律。

接着你又移民了。一尝这边的芒果,咦,新世界的大门打开了。绿色的芒果居然比黄色的好吃……

最后,你结婚了,领导表示不爱吃芒果,要吃苹果。于是你所有关于芒果的知识都没用了。只能按老方法再重新研究遍苹果的物理特征跟它味道好不好之间的关系。苹果吃到吐?没办法,你爱老婆嘛。


有请码农

好了,现在想象下,这一路辛酸曲折的,你写了组程序帮忙减轻负担。那程序逻辑基本应该类似这样:

预设变量 颜色、大小、店家、硬度

如 颜色=明黄

   大小=大

   店家=经常光顾的小贩

则 芒果=甜

如 硬度=软

则 芒果=多汁

用着很爽吧,你甚至可以把这套玩意儿发给你小弟,他挑来的芒果也包你满意。

但每做一次新实验,你就得人肉改一次程序逻辑。而且你得首先保证自己已经理解了选芒果那套错综复杂的艺术,才能把它写进程序里。如果要求太复杂、芒果种类太多,那光把所有挑选规则翻译成程序逻辑就够你出一身大汗,相当于读个“芒果学”博士了。

不是所有人都有“读博”的功夫的。


有请“机器学习”算法

机器学习算法其实就是普通算法的进化版。通过自动学习数据规律,让你的程序变得更聪明些。

你从市场上随机买一批芒果(训练数据),把每只芒果的物理属性列一个表格出来,比如颜色、大小、形状、产地、店家,等等(特征),对应芒果的甜度、汁水多少、成熟度,等等(输出变量)。然后把这些数据扔给机器学习算法(分类/回归),它就会自己计算出一个芒果物理属性与其品质之间的相关性模型。

等下一次你去采购时,输入店里在卖的芒果的物理属性(测试数据),机器学习算法就会根据上次计算出来的模型来预测这些芒果品质如何。机器用的算法可能跟你人肉写的逻辑规则类似(比如决策树),也有可能更先进,但反正基本上你不用多虑。

好啦,现在你可以信心满满去买芒果了,颜色大小啥的都是浮云,交给机器去操心呗。更妙的是,你的算法还会逐渐进化(强化学习):根据其预测结果的正误,算法会自行修正模型,那么随着训练数据的积累,到后来它的预测就会越来越准确。最妙的来了,用同一个算法,你可以做好几个模型,苹果桔子香蕉葡萄各给爷来上一套,不要说老婆有令,就是七大姑八大婶各有所好,也再不用发愁了。

用一句话总结机器学习就是:走自己的屌丝路,让你的算法牛逼去吧。

本文转载自:http://tech2ipo.com/61562

共有 人打赏支持
simpower
粉丝 26
博文 584
码字总数 45012
作品 0
海淀
程序员
私信 提问
加载中

评论(1)

2014_技术控
2014_技术控
为什么大部分码农做不了软件架构师?

1:码农分为真的能写代码的,以及自认为能写代码的。 2:真的能写代码的码农又分为自认为写的不错的,以及真的还不错的。 3:真的能写不错代码的码农又分为会钻研会不断优化的,以及安于现状...

JAVA高级架构开发
2018/08/29
0
0
OSCHINA ,你需要更大的胸

(接标题)怀。。。。 OSC不单单应该只面向开源开发者或者码农做服务。从价值论的角度,开发软件,或者写代码总要有价值实现的空间,先不说钱。至少要给开发者或码农一种成就感。而不是写了代...

中山野鬼
2012/06/13
938
17
代码重构经验分享(吐槽)

代码重构的必要性: 解耦、减少冗余 优化业务流程 优化代码结构 审查隐含BUG 美观(这TM是强迫症,也是为了让后面的人更容易看懂你的代码) “码农”们有啥子见解畅所欲言

cxlt216
2017/02/03
0
0
为什么中国的程序员总被称为码农?而不是架构师?(大牛分享)

前言: 实际上IT行业在中国并不是特别差的行业,而程序员的工资也并不低,但为什么中国的程序员总被称作码农或者说是苦逼的程序员?中国的程序员生活和欧美的有什么不一样? 之前,研发频道曾...

原来是泽镜啊
2018/05/30
0
0
程序员的炼金术,如何用技术变现

NO.1QUANT.LA 上图拍摄于腾讯全球新总部滨海大厦。在深夜,腾讯大楼几乎是周围所有楼里最亮的。到凌晨两点的时候上面三四层会关灯,但下面依然灯火通明,周末也是如此。 大公司如此,小公司更...

酒逢知己千杯少
2018/11/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Linux Wireshark普通用户启动使用方案

当系统安装好Wireshark后请正常启动是否可以进行正常使用,如果不行请参考下列指导 向系统添加一个用户组 sudo groupadd wireshark //如提示此组存在可跳过 将指定用户添加到这个组中 sudo...

CHONGCHEN
今天
2
0
CSS 选择器参考手册

CSS 选择器参考手册 选择器 描述 [attribute] 用于选取带有指定属性的元素。 [attribute=value] 用于选取带有指定属性和值的元素。 [attribute~=value] 用于选取属性值中包含指定词汇的元素。...

Jack088
今天
2
0
数据库篇一

数据库篇 第1章 数据库介绍 1.1 数据库概述  什么是数据库(DB:DataBase) 数据库就是存储数据的仓库,其本质是一个文件系统,数据按照特定的格式将数据存储起来,用户可以对数据库中的数据...

stars永恒
今天
4
0
Intellij IDEA中设置了jsp页面,但是在访问页面时却提示404

在Intellij IDEA中设置了spring boot的jsp页面,但是在访问时,却出现404,Not Found,经过查找资料后解决,步骤如下: 在Run/Debug Configurations面板中设置该程序的Working Directory选项...

uknow8692
昨天
4
0
day24:文档第五行增内容|每月1号压缩/etc/目录|过滤文本重复次数多的10个单词|人员分组|

1、在文本文档1.txt里第五行下面增加如下内容;两个方法; # This is a test file.# Test insert line into this file. 分析:给文档后增加内容,可以用sed 来搞定;也可以用while do done...

芬野de博客
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部