作者:Ben Sanders

翻译:吴慧聪

校对:郑滋

本文约2400字,建议阅读10分钟。

本文将简要介绍什么是机器学习,其运作原理,以及两个主要的机器学习的算法。

简介


本文中,数据科学创业公司Yhat的前联合创始人,现任Waldo的联合创始人兼首席技术官Greg Lamp将会为我们这些机器学习菜鸟分享他对机器学习的看法。


目录


一、什么是机器学习?

  • 机器学习是一个知识熔炉 –没什么新知识

二、机器学习是如何工作的?

三、机器学习的算法: 分类(Classification)与回归(Regression)

  • 算法介绍

  • 过拟合(Overfitting)

四、什么是Tensorflow?

五、为什么机器学习会如此热门?

 

一、什么是机器学习?


我认为机器学习的定义是使用数据去寻找数据模型。这主要包括两个主要的概念:

  • 使用数学和统计的知识优化模型 ;

  • 这个优化模型的过程称为训练(Training)。

互联网对机器学习的描绘

一个可能会令一些人不高兴的观点来了。

人工智能和机器学习是一个相同的东西。

没错,机器学习(Machine Learning)和人工智能(AI)确实是一个回事,但确实言过其实。当那些市场营销的同行讲起人工智能,他们认为人工智能可能最终会发展到统治人类的位置。我也同意这些看法。 这确实是一个很好的概括了机器学习的观点,因为机器学习已经可以自学习任何输入的数据。

再者,人工智能在未来还有潜在的发展空间。

互联网对人工智能的描绘。看,多么像

  • 没有什么新知识

我认为机器学习最有趣的应该是它没有真正的新知识。主要流行的机器学习算法已经流行了一段时间。这期间机器学习最大的变化是计算机变得:

  • 更快

  • 更便宜

  • 更方便

因为上述计算机的三大发展特点和机器学习库的不断扩展和便于使用,比如scikit-learn, tensorflow和R(统计学常用的机器学习的语言),越来越多的人会接触到机器学习的内容。可及性在有限的使用量上反过来促进了传播。

二、机器学习是如何工作的?


在机器学习中可以使用不同的算法去寻找数据的模型。虽然这些算法都是做相同的事情:读取数据并赋予这些数据一个权重。但是这些权重可以用于预测未来相同形式的数据。

在过去几年中,机器学习在数据读取上有一个大的跃进,在算法上,对于数据读取的严格的限制条件被减少了。但尽管这样,基本上所有的算法都需要读取简洁,格式一致的数据以提高运算效率。

现在当这些算法需要训练(Train)和校对(Calibrate)的时候, 其实是需要去找出一组点之间的最小距离。让我们看图更能说清楚。

以上图为例。这是一个经典的线性回归(Simple Linear Regression)的例子。蓝点表示想要预测的数据。红线表示“最佳拟和线”,该线是机器学习算法中(用于线性回归的例子)最好地表示数据集特征。

你可以使用这条线去预测后面的观测数据。

三、分类(Classification)与回归(Regression)

我知道我的读者们在想什么了,接下来可能我会来讲讲 Tensorflow以及如何使用它在来满足你最狂野的希望和梦想的同时使得业务盈利。 但你们可能误解了。

下面将概述机器学习的两个主要的算法。

绝大多数机器学习任务分为两类:

  • 回归:预测一个数值(例如价格或失效时间)

  • 分类:预测某个事物的类别(狗/猫,好/坏,狼/牛)

在回归中,你要尽量计算的是一条将要位于所有数据点“中间”的线(如上所示)。在分类中,你要计算的是一条将要把数据点“分类”的线。

  • 算法介绍

这是最酷的一部分。不同的算法可以使用不同的形状,数字和线的种类来计算中间线或分离线。例如,在上面的狼和牛例子中,有3种不同的算法用于分隔每个类别。如你所见,因为支撑向量机(SVM)的方法是非线性的,这意味着它不必使用直线。但是当使用逻辑回归(Logistic Regression)的方法,因为它是线性的,只能通过直线来分离数据点。第三个例子是决策树(Decision Tree),它使用设置的自动生成的规则来分隔类别。

所以为什么我们不能只使用最复杂的方法呢?

  • 过拟合

现在仍然不是讲Tensorflow的时候。

好吧,有时候你的模型可能太聪明了。我知道这似乎是倒退了一步,但这是真的。这模型确实是对的。你的人工智能模型可能非常善于理解你所展示的数据集。因此,用于预测未来就不准确了。

举出一个类比的例子。比如在产品管理这样的领域,如果你与一位客户交谈,他们说他们不会购买你的产品,除非按钮是青色的。因为他们公司在徽标和品牌中使用的同样可爱的青色阴影。

青色的按钮

如果您是一名糟糕的产品经理,那么你可能会听取该客户的意见,并使把网站的所有按钮都变成青色。这就是过度拟合。

但你不是一个糟糕的产品经理。你知道,虽然这个客户可能因为你没有青色按钮而不会购买你的产品,但你知道还有很多其他客户不会对按钮颜色不满意。这是因为您对典型客户关心的内容有一个的固有的心理模型。

四、你还打算讲TensorFlow吗?


好,现在来讲一下Tesnorflow。Tensorflow是一个Google生产的机器学习库。但它并不是那么容易使用。你需要知道自己在做什么,才能比用简单直接的库(如scikit-learn)获得更高的投资回报率。

Tensorflow的确做得很好,提供了一种定义和训练神经网络(Neural Network)的简单直观的方法。神经网络是另外一种用来计算线路的算法。神经网络及其同类的深度神经网络(Deep Neural Network)都是便于使用的方法,因为它们可以处理非结构化的数据(如图像,视频等)。我说那些数据是非结构化的是因为最终它们仍然以表格格式输入算法。你不必非常关注数据的精确和纯净程度。十分便于使用!

五、为什么机器学习会如此热门?


机器学习学起来不再困难了,因为它有很丰富的库。如果你看不出来库的区别,我很喜欢用Scikit-learn. 这有很多原因:

  1. 在用的时候不需要写很多代码;

  2. 它可以实现大部分或者一些机器学习的功能,所以我所做的任何关于机器学习的内容都可以不离开这个库;

  3. 它很旧,这意味着它的功能成熟,功能成熟代表不需要处理那些费脑的代码错误;

  4. 创建者和维护者他们非常友好地建立了出色的使用说明;

  5. 如果我得听一个关于机器学习的讲座,我更喜欢那些像Olivier Grise的人,带着轻微的法国口音,从而增加娱乐价值。

我的那些喜欢机器学习的法语爱好者使用scikit-learn可以把一个非常复杂的机器学习模型减少到5行代码。机器学习的编程不需要很多行的代码。也不需要一个天体物理的博士学位甚至一个技术学位的背景去学习机器学习的知识。

下面是一个随机森林(Random forest)的代码例子:

from sklearn.ensemble import RandomForestClassifier #套用随机森林的资源包
clf = RandomForestClassifier()#clf是随机森林的分类函数
target_variable = 'does-make-more-than-50k'#target_variable是随机森林分类的标准
columns = ['age', 'education', 'hours-worked-per-week']#随机森林的节点
clf.fit(df[columns], df[target_variable])#形成树

原文标题:

Machine Learning for People Who Don’t Care About Machine Learning —— AI vs. ML explained for the rest of us

原文链接:

https://towardsdatascience.com/machine-learning-for-people-who-dont-care-about-machine-learning-4cf0495dee2c

译者简介

吴慧聪,加拿大戴尔豪斯大学计算机和统计双专业本科毕业生,主攻数据科学。准备继续攻读数据分析(人工智能方向)的研究生。对数字极其敏感,善于做各类的数据模型以及分析,希望在数据科学的路上越走越远,也乐于认识更多志同道合的朋友。

翻译组招募信息

工作内容:将选取好的外文前沿文章准确地翻译成流畅的中文。如果你是数据科学/统计学/计算机专业的留学生,或在海外从事相关工作,或对自己外语水平有信心的朋友,数据派翻译组欢迎你们加入!

你能得到:提高对于数据科学前沿的认知,提高对外文新闻来源渠道的认知,海外的朋友可以和国内技术应用发展保持联系,数据派团队产学研的背景为志愿者带来好的发展机遇。

其他福利:和来自于名企的数据科学工作者,北大清华以及海外等名校学生共同合作、交流。

点击文末“阅读原文”加入数据派团队~

转载须知

如需转载,请在开篇显著位置注明作者和出处(转自:数据派THU ID:DatapiTHU),并在文章结尾放置数据派醒目二维码。有原创标识文章,请发送【文章名称-待授权公众号名称及ID】至联系邮箱,申请白名单授权并按要求编辑。

发布后请将链接反馈至联系邮箱(见下方)。未经许可的转载以及改编者,我们将依法追究其法律责任。

点击“阅读原文”拥抱组织

独家 | 菜鸟级机器学习入门(附代码实例)相关推荐

  1. html5的video标签实现对HLS(m3u8格式)的支持(附代码实例)

    html5的video标签实现对HLS(m3u8格式)的支持(附代码实例) <script src="https://cdn.jsdelivr.net/hls.js/latest/hl ...

  2. 带你入门Python数据挖掘与机器学习(附代码、实例)

    作者:韦玮 来源:Python爱好者社区 本文共7800字,建议阅读10+分钟. 本文结合代码实例待你上手python数据挖掘和机器学习技术. 本文包含了五个知识点: 1. 数据挖掘与机器学习技术简介 ...

  3. 独家 | 手把手教TensorFlow(附代码)

    上一期我们发布了"一文读懂TensorFlow(附代码.学习资料)",带领大家对TensorFlow进行了全面了解,并分享了入门所需的网站.图书.视频等资料,本期文章就来带你一步步 ...

  4. 入门Python数据挖掘与机器学习(附代码、实例)

    本文包含了五个知识点: 1. 数据挖掘与机器学习技术简介 2. Python数据预处理实战 3. 常见分类算法介绍 4. 对鸢尾花进行分类案例实战 5. 分类算法的选择思路与技巧 一.数据挖掘与机器学 ...

  5. 独家 | 11个Python Pandas小技巧让你的工作更高效(附代码实例)

    作者:Shiu-TangLi 翻译:吴振东 校对:王雨桐 本文约1800字,建议阅读6分钟. 本文为你介绍Pandas隐藏的炫酷小技巧,我相信这些会对你有所帮助. 或许本文中的某些命令你早已知晓,只是 ...

  6. 用Python进行机器学习(附代码、学习资源)

    作者:Tirthajyoti Sarkar 翻译:张逸 校对:冯羽 本文约3090字,建议阅读6分钟. 本文从非线性数据进行建模,带你用简便并且稳健的方法来快速实现使用Python进行机器学习. 使用 ...

  7. Java 集合排序---常用的2种排序方式、附代码实例(大师兄亲测)

    Java API针对集合类型排序提供了两种支持: java.util.Collections.sort(java.util.List) java.util.Collections.sort(java. ...

  8. 适合pythonpandas的软件_11个Python Pandas小技巧让你的工作更高效(附代码实例)

    本文为你介绍Pandas隐藏的炫酷小技巧,我相信这些会对你有所帮助. 或许本文中的某些命令你早已知晓,只是没意识到它还有这种打开方式. Pandas是一个在Python中广泛应用的数据分析包.市面上有 ...

  9. Java相同类型的两个对象比较属性值,得到不同属性的名称和对应的值,附代码实例

    假设现在有需求如下:比较2个相同类型的不同对象,找到这2个对象的不同的地方,并展示记录一下.当然说的是相互对应的属性啦. 带着这个需求,看下面的例子.(我写代码的都不嫌弃长,你看代码的就也别嫌弃咯.) ...

最新文章

  1. 分词器 keras.preprocessing.text.Tokenizer
  2. Cassandra学习手册之一:Cassandra介绍
  3. 课堂练习----二维数组
  4. linux复制以a开头的文件,linux部分试题
  5. php处理管道文件流
  6. RK30SDK系统重启源码分析
  7. Asp.net中Mysql存储中文乱码解决方法
  8. uni-app 封装请求
  9. pytorch之深度学习
  10. Win8 下配置Java开发环境
  11. php 修改文件所有者,PHP 改变文件的所有者
  12. VR+教育 虚拟现实(VR)智慧教室整体解决方案
  13. 将macOS Big Sur降级到Catalina或Mojave的方法步骤
  14. 知物由学 | 用案例起底黑灰产的各种“骚”操作
  15. 杨海朝 mysql_老男孩Mysql高级DBA 实战新浪首席DBA 老男孩教育杨海朝老师全程主讲 老男孩Mysql视频...
  16. 如何将OGV格式的视频转换成MP4格式
  17. 短视频直播平台第三方特效SDK接入教程(完整版)
  18. window.onload与body.onload
  19. 轻量级简约的自动采集小说程序源码
  20. ruoyi-vue前端启动

热门文章

  1. 【大数据分析常用算法】1.二次排序
  2. 迷茫的未来,我们需要做些什么呢?
  3. #2002-The server is not responding (or the local MySQL server's socket is not correctly configur
  4. Linux inode 之我见
  5. VCL标准化皮肤组件Alphacontrols发布v10.27
  6. mysql depended_query 优化案例一则
  7. 想写点什么留下点念想
  8. 应该使用c# 预定义类型 还是绝对不要使用预定义类型。
  9. unity shader入门精要_shader入门数学基础矩阵篇
  10. 怎么把两个不同的属性值进行比较_DDD实战与进阶 值对象