文档章节

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

simpower
 simpower
发布于 2014/11/06 19:57
字数 1208
阅读 329
收藏 23
点赞 0
评论 1

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

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

呵呵呵。


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

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

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

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

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

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

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


有请码农

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

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

如 颜色=明黄

   大小=大

   店家=经常光顾的小贩

则 芒果=甜

如 硬度=软

则 芒果=多汁

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

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

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


有请“机器学习”算法

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

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

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

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

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

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

共有 人打赏支持
simpower
粉丝 24
博文 456
码字总数 21045
作品 0
海淀
程序员
加载中

评论(1)

2014_技术控
2014_技术控
为什么中国的程序员总被称为码农?而不是架构师?(大牛分享)

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

原来是泽镜啊
05/30
0
0
将人工智能应用云开发中,“码农1号”要掀起IT界的一股浪潮

随着人工智能的高速发展,随处可见识AI技术在生活中的实践。手机中的siri,家庭中的智能音箱,在医疗诊断上进行智能病例处理,以计算机视觉为核心的城市智能安防系统,以及最近热议的无人驾驶...

wx5ad006e30faa9
04/24
0
0
码农的未来——拾起世界互联网大会的遗珠

你是不是像我在电脑前低头,流着汗水默默辛苦的工作? 你是不是像我就算受了冷漠,也不放弃自己想要的生活? 主席一落筷,庆丰包子铺顿时享誉全国,人们蜂拥而至排队购买。这边的顾客吃的满嘴...

五岳之巅
2014/11/21
0
0
普通码农入门机器学习,必须掌握这些数据技能

其实,机器学习一直在解决着各种重要的问题。比如说90年代中期,人们已经开始用神经网络来扫描信用卡交易记录,从中找到欺诈行为;90年代末,Google把这项技术用到了网络搜索上。 但在那个时...

火鸣飞
2017/10/28
0
0
码农和程序员之间的5个关键差异

如果一个企业老板大声嚷嚷说,“我要招个程序员”,那么十之八九指的是“码农”——一种纯粹为了钱而写代码的技术人员。这其实是一种非常狭隘和错误的做法。  1.码农写的是代码,程序员写的...

egefcxzo3ha1x4
2017/11/08
0
0
为什么码农少有高颜值女票

貌似码农很难找到高颜值女票,比如我们公司近百号码农,收入也都还不错,但女票漂亮的并不多,甚至很多2-3年了还找不到女票,结婚了老婆也很难用美丽来形容。然而朋友所在的快消公司虽然挣的...

方老司
2017/09/01
0
0
后厂村是一座孤岛,码农只是这座孤岛上的游客,最终还是要离开。

夏天到了,万物复苏,后厂村又到了码农出没的季节。 1.码农 在广阔无垠的北京大陆上,分布着大大小小不计其数的互联网公司。比如猪厂、鹅厂、狼厂,还有什么滴滴、联想、IBM等等。而他们却在...

我是一个程序猿
06/26
0
0
北邮在线,贝叶斯算法——不识贝叶斯算法的码农不是好码农

  对一个全栈老码农而言,经常在开发或者研发管理的时候遇到各种预测、决策、推断、分类、检测、排序等诸多问题。面对“你的代码还有 bug 么?”这样的挑战,一种理智的回答是,我们已经执...

黄宁波
01/31
0
0
AI和算法程序员就业新行情:8万月薪招不到人,200万年薪只为留人

一直以来,被称之为“码农”的程序员在工资待遇方面并不靠前,一般的高薪都是伴随着顶级的压力和辛苦的编程才行,否则也不会有“码农”之称。码农,顾名思义即是编码的农民哎! 不过从近两年...

如蜗牛般努力
2017/11/28
0
0
看看 “悲催” 的码农得学多少东西?

首先你得会一门编程语言,比如 C, Java, Python, PHP 等,但是光语言本身还差得远,还得学习这门语言的类库,学完类库还得学框架,Spring, Struts, Hibernate, MyBatis 每一个都不是善茬。 ...

局长
2017/04/05
10.6K
67

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Weblogic问题解决记录

问题:点击登录,页面刷新但是不进去管理界面。解决:删除cookies再登录。

wffger
25分钟前
0
0
RxJava2的错误处理方案

最近使用retrofit2 + rxKotlin2写接口访问,想尽量平铺代码,于是就想到当借口返回的状态码为「不成功」时(比如:code != 200),就连同网络错误一起,统一在onError方法中处理。想法总是好的...

猴亮屏
33分钟前
0
0
程序的调试信息

调试二进制程序时,经常要借助GDB工具,跟踪程序的执行流程,获取程序执行时变量的值,以发现问题所在。GDB能得到这些信息,是因为编译程序时,编译器保存了相应的信息。Linux下的可执行程序...

qlee
55分钟前
0
0
应用级缓存

缓存命中率 从缓存中读取数据的次数与总读取次数的比例,命中率越高越好 java缓存类型 堆缓存 guavaCache Ehcache3.x 没有序列化和反序列化 堆外缓存ehcache3.x 磁盘缓存 存储在磁盘上 分布式...

writeademo
今天
0
0
python爬虫日志(3)find(),find_all()函数

1.一般来说,为了找到BeautifulSoup对象内任何第一个标签入口,使用find()方法。 以上代码是一个生态金字塔的简单展示,为了找到第一生产者,第一消费者或第二消费者,可以使用Beautiful Sou...

茫羽行
今天
0
0
java:thread:顺序执行多条线程

实现方案: 1.调用线程的join方法:阻塞主线程 2.线程池 package com.java.thread.test;public class MyThread01 implements Runnable {@Overridepublic void run() {Syste...

人觉非常君
今天
0
0
ElasticSearch 重写IK分词器源码设置mysql热词更新词库

常用热词词库的配置方式 1.采用IK 内置词库 优点:部署方便,不用额外指定其他词库位置 缺点:分词单一化,不能指定想分词的词条 2.IK 外置静态词库 优点:部署相对方便,可以通过编辑指定文...

键走偏锋
今天
19
0
Git 2.18版本发布:支持Git协议v2,提升性能

Git 2.18版本发布:支持Git协议v2,提升性能Git 2.18版本发布:支持Git协议v2,提升性能 新版本协议的主要驱动力是使 Git 服务端能够对各种 ref(分支与 tag)进行过滤操作。 这就意味着,G...

linux-tao
今天
0
0
python浏览器自动化测试库【2018/7/22-更新】

64位py2.7版本 更新 document_GetResources 枚举页面资源 document_GetresourceText 获取指定url的内容 包括页面图片 下载地址下载地址 密码:upr47x...

开飞色
今天
44
0
关于DCL双重锁失效及解决方案

关于DCL双重锁失效及解决方案 Double Check Lock (DCL)实现单例 DCL 方式实现单例的优点是既能够在需要时才初始化单例,又能够保证线程安全,且单例对象初始化后调用getInstance方法不进行...

DannyCoder
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部