文档章节

教你如何快速理解机器学习

ABBYY
 ABBYY
发布于 2017/08/24 14:56
字数 2204
阅读 8
收藏 0
点赞 0
评论 0

近年来,机器学习和大数据领域的突破进展使人工智能运维急速回温,训练计算机模拟甚至实现人类的学习行为则是目前人工智能领域最受关注的研究课题之一。

  很多人都难以想象,看似冷冰冰的机器如何能在短时间内学得一身本领的?

大数据、分析、物联网、云技术……最近的几年里,没有这些术语你就无法参与到关于科技的讨论和对话中。它们已经成了科技中主要的参与者,影响着商务的方方面面。

  变化似乎正在以极快的速度发生着,并且没有减速的迹象。 如今,科技中唯一不变的就是变化本身了。不断的变化需要不断的创新,因此就需要引入更多的新技术。进入科技话题的新技术之一是机器学习。

  Gartner指出机器学习是2016年十大技术趋势之一,毫无疑问这是一个热点话题。但是,无论是专业从业者还是业余爱好者都必须弄清楚一个问题:什么是机器学习?

  作为机器学习领域的先驱,Arthur Samuel在 IBM Journal of Research and Development期刊上发表了一篇名为《Some Studies in Machine Learning Using the Game of Checkers》的论文中,将机器学习非正式定义为:

  “在不直接针对问题进行编程的情况下,赋予计算机学习能力的一个研究领域。”

  而后,Tom Mitchell在他的《Machine Learning(中文版:计算机科学丛书:机器学习 )》一书的序言开场白中又给出了一个更为广泛引用的定义:

  “机器学习这门学科所关注的问题是:计算机程序如何随着经验积累自动提高性能。”

  他在引言中多次重复提到一个简短的形式体系:“对于某类任务T和性能度量P,如果一个计算机程序在T上以P衡量的性能随着经验E而自我完善,那么我们称这个计算机程序在从经验E学习。”

  是不是看得一头雾水?不要让术语的定义把你吓跑,这是一个非常有用的形式体系。

  我们把这一形式体系作为一个模版,把经验E、任务T和性能度量P列在一张表的顶部,并且列出带有更少歧义的复杂问题。它可以作为一个设计工具来帮助我们清楚的思考收集什么样的数据(E),需要做出什么样的决策(T),以及如何评价结果(P)。

  举个例子吧,想象一下有一个邮箱过滤程序接受到一封邮件,该程序如何判断这封邮件是不是垃圾邮件呢?首先这封邮件先观察你之前标记过是不是垃圾邮件的邮件,基于这个学习到的经验,该过滤程序为你过滤掉垃圾邮件了。

  在这个任务中:

  判断邮件是不是垃圾邮件,这个是任务T;

  观察到你之前标记过是不是垃圾邮件的邮件,这个是经验E;

  正确分类垃圾邮件与非垃圾邮件的数量,这个是性能P。

  如果还是不懂,那么,看来是时候祭出这个古老经典的买芒果例子了:

  假设有一天你去购买芒果,老板摆了满满的芒果,你会挑选一些芒果后让老板称重,然后根据重量付款购买。

教你如何快速理解机器学习

  显然,你希望挑选相对更成熟更甜一些的芒果(因为你是根据重量付款而不是根据质量),所以你应该怎么挑选芒果呢?你想起来你妈妈曾教过你,亮黄色的芒果比暗黄色的芒果更甜一些,所以你有了一个简单的规则:只挑选亮黄色的芒果。

  是不是So easy ?并不是。。。生活总会更加复杂。

  你回家吃了这些芒果之后,也许会觉得有的芒果味道并不好......很显然,你妈妈教给你的方法很片面,挑选芒果的因素有很多而不只是根据颜色。

  在经过大量思考(并且试吃了很多不同类型的芒果)之后,你又得出一个结论:相对更大的亮黄色芒果肯定是甜的,同时,相对较小的亮黄色芒果只有一半是甜的。你会很开心自己得出的结论,然后下次去买芒果的时候就根据这个结论去买芒果。

  但是下次又去买芒果的时候,你喜欢的那家店不卖了......

  所以你只能买别家的芒果,不过别家的芒果和之前你常去的那家的芒果不是一个产地的。然后你发现你之前得出的结论不适用了。你不知道能不能迁移过去(transfer learning),于是你从头再开始尝试吧,发现这里小的,浅黄色的是最甜的!

  这时候呢假设你有朋友来家里了,你摆了一些芒果给他们吃,但是你朋友说他并不是很在意芒果甜不甜,他更加喜欢多汁的芒果(这个朋友是不是很烦?)。

  又一次,你根据你的经验,又尝了所有类型的芒果,然后发现: 软一点的芒果比较多汁。

  然后后来你又因为工作或其他原因要搬家了,在新的地方你发现这里的芒果和家乡的芒果又不一样,这里的芒果绿色的实际上会比黄色的更甜一点......

  然后你家里来了个妹妹,结果妹妹竟然不喜欢芒果,喜欢苹果。所以你只得去买苹果,你之前所有实践得出的芒果的知识都没用了。你需要根据之前挑芒果的经验,用相同的办法重新研究一遍哪些苹果的口感最好。

  现在呢想象一下,你在写一个程序帮助你挑选芒果(或者苹果),你会写到类似如下的规则:

  if ( color is bright yellow and size is big and sold is vendor1 ): mango is sweet ;

  if ( soft ): mango is juicy ;

  etc.

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

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

  写个机器学习算法吧

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

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

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

  现在,算法在手,你就可以挺直身板去买芒果去了。更重要的是,你的算法还能继续演进(reinforcement learning),读取更多的训练数据,准确率也更高,每预测错误后再进行自我修正。

  更妙的是,你还能用同一个算法来训练不同的模型,预测预测苹果、橙子、香蕉、葡萄、樱桃、西瓜什么的......

      了解更多关于IT运营管理方面的内容或者工具,欢迎大家前往Service Hot进行了解。

© 著作权归作者所有

共有 人打赏支持
ABBYY
粉丝 5
博文 347
码字总数 188111
作品 0
南京
教你20分钟用机器学习建语言检测模型!

  【IT168 资讯】这个内容是一个分步指南,指导如何在20分钟内使用机器学习(最终达到97%的准确率)建立语言检测模型。      语言检测对机器学习来说是一个很好的用例,更具体地说,就是...

it168网站 ⋅ 04/28 ⋅ 0

福利丨吴恩达机器学习新书免费领!

继今年 2 月 Deep Learning Specialization 最后一课上线之后,吴恩达又捡起了之前荒废已久的项目—— Machine Learning Yearning。 这本书此前已经出到了第 14 章,不过因为 Deep Learning ...

r1unw1w ⋅ 04/11 ⋅ 0

吴恩达《机器学习训练秘籍》:7 条关于项目实践的实用建议

翻译 | shawn 出品 | 人工智能头条(公众号ID:AI_Thinker) 《机器学习训练秘籍》(Machine Learning Yearning)是吴恩达的新作,主要讲的是如何应用机器学习算法以及如何构建机器学习项目。...

AI科技大本营 ⋅ 05/15 ⋅ 0

入门 | TensorFlow的动态图工具Eager怎么用?这是一篇极简教程

  选自Github   作者:Madalina Buzau   机器之心编译   参与:王淑婷、泽南      去年 11 月,Google Brain 团队发布了 Eager Execution,一个由运行定义的新接口,为 TensorFl...

机器之心 ⋅ 06/14 ⋅ 0

书单丨被强化学习一次次伤害?本书单带你一步步入门!

强化学习是机器学习里非常重要的分支 但由于其自身已形成庞大的体系 同时需要多方面知识进行辅助 让很多初学者望而生畏 本书单从机器学习基础着手 一步步带你入门强化学习 NO.1《Python与机器...

博文视点 ⋅ 05/14 ⋅ 0

解析 :跻身数据科学领域的五条职业规划道路

翻译:卢苗苗、梁傅淇;校对:吕艳芹;作者:Matthew Mayo 原文链接:http://www.kdnuggets.com/2017/02/5-career-paths-data-science-big-data-explained.html 本文长度为4970字,建议阅读6...

tw6cy6ukydea86z ⋅ 04/25 ⋅ 0

“GAN之父”:当初为了深度学习买GPU,现在后悔没多挖点比特币

翻译 | shawn 编辑 | 阿司匹林 出品 | 人工智能头条(公众号ID:AI_Thinker) Ian Goodfellow 是谷歌大脑团队的一名研究科学家,他带领的研究团队负责研究 AI 领域中的对抗技术。他是生成式对...

dqcfkyqdxym3f8rb0 ⋅ 05/07 ⋅ 0

吴恩达新书《Machine Learning Yearning》中7个实用建议

     大数据文摘转载自数据派THU   作者:Dan Clark, KDnuggets   编译:顾佳妮、丁楠雅   本文为你介绍吴恩达新书中的7个使用建议,致力于讲明白机器学习算法是怎样工作的,以及如...

大数据文摘 ⋅ 05/31 ⋅ 0

数据可视化当道,机器学习上场呐喊助威?

  【IT168 资讯】数据可视化是数据科学家非常好用的数据分析工具,那么如何改进使得它成为更好的工具?机器学习可能是其中的一个关键。   最近,似乎商业世界的每个人都在谈论机器学习。毫...

it168网站 ⋅ 03/16 ⋅ 0

资源 | 吴恩达新书《Machine Learning Yearning》中7个实用建议

《Machine Learning Yearning》是人工智能和深度学习界的专家吴恩达写的一本书,这本书致力于讲明白机器学习算法是怎样工作的,以及如何构建一个机器学习项目。这里我们选取了这本书中7个非常...

技术小能手 ⋅ 05/31 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

RabbitMQ学习以及与Spring的集成(三)

本文介绍RabbitMQ与Spring的简单集成以及消息的发送和接收。 在RabbitMQ的Spring配置文件中,首先需要增加命名空间。 xmlns:rabbit="http://www.springframework.org/schema/rabbit" 其次是模...

onedotdot ⋅ 13分钟前 ⋅ 0

JAVA实现仿微信红包分配规则

最近过年发红包拜年成为一种新的潮流,作为程序猿对算法的好奇远远要大于对红包的好奇,这里介绍一种自己想到的一种随机红包分配策略,还请大家多多指教。 算法介绍 一、红包金额限制 对于微...

楠木楠 ⋅ 25分钟前 ⋅ 0

Python 数电表格格式化 xlutils xlwt xlrd的使用

需要安装 xlutils xlwt xlrd 格式化前 格式化后 代码 先copy读取的表格,然后按照一定的规则修改,将昵称中的学号提取出来替换昵称即可 from xlrd import open_workbookfrom xlutils.copy ...

阿豪boy ⋅ 54分钟前 ⋅ 0

面试题:使用rand5()生成rand7()

前言 读研究生这3 年,思维与本科相比变化挺大的,这几年除了看论文、设计方案,更重要的是学会注重先思考、再实现,感觉更加成熟吧,不再像个小P孩,人年轻时总会心高气傲。有1 道面试题:给...

初雪之音 ⋅ 55分钟前 ⋅ 0

Docker Toolbox Looks like something went wrong

Docker Toolbox 重新安装后提示错误:Looks like something went wrong in step ´Checking if machine default exists´ 控制面板-->程序与应用-->启用或关闭windows功能:找到Hyper-V,如果处......

随你疯 ⋅ 今天 ⋅ 0

Guacamole 远程桌面

本文将Apache的guacamole服务的部署和应用,http://guacamole.apache.org/doc/gug/ 该链接下有全部相关知识的英文文档,如果水平ok,可以去这里仔细查看。 一、简介 Apache Guacamole 是无客...

千里明月 ⋅ 今天 ⋅ 0

nagios 安装

Nagios简介:监控网络并排除网络故障的工具:nagios,Ntop,OpenVAS,OCS,OSSIM等开源监控工具。 可以实现对网络上的服务器进行全面的监控,包括服务(apache、mysql、ntp、ftp、disk、qmail和h...

寰宇01 ⋅ 今天 ⋅ 0

AngularDart注意事项

默认情况下创建Dart项目应出现以下列表: 有时会因为不知明的原因导致列表项缺失: 此时可以通过以下步骤解决: 1.创建项目涉及到的包:stagehand 2.执行pub global activate stagehand或pub...

scooplol ⋅ 今天 ⋅ 0

Java Web如何操作Cookie的添加修改和删除

创建Cookie对象 Cookie cookie = new Cookie("id", "1"); 修改Cookie值 cookie.setValue("2"); 设置Cookie有效期和删除Cookie cookie.setMaxAge(24*60*60); // Cookie有效时间 co......

二营长意大利炮 ⋅ 今天 ⋅ 0

【每天一个JQuery特效】淡入淡出显示或隐藏窗口

我是JQuery新手爱好者,有时间就练练代码,防止手生,争取每天一个JQuery练习,在这个博客记录下学习的笔记。 本特效主要采用fadeIn()和fadeOut()方法显示淡入淡出的显示效果显示或隐藏元...

Rhymo-Wu ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部