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

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

作者:Ben Sanders

翻译:吴慧聪

文章来源:微信公众号 数据派THU

校对:郑滋

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


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

简介

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

image.png

目录

一、什么是机器学习?

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

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

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

  • 算法介绍
  • 过拟合(Overfitting)

四、什么是Tensorflow?

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

一、什么是机器学习?

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

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

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

image.png

互联网对机器学习的描绘

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

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

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

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

image.png

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

  • 没有什么新知识

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

更快

更便宜

更方便

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

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

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

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

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

image.png

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

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

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

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

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

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

  • 回归:预测一个数值(例如价格或失效时间)
  • 分类:预测某个事物的类别(狗/猫,好/坏,狼/牛)

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

image.png

  • 算法介绍

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

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

  • 过拟合

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

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

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

image.png


青色的按钮

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

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

四、你还打算讲TensorFlow吗?

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

image.png

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

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

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

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

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

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

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

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

image.png

我的那些喜欢机器学习的法语爱好者使用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

译者简介

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

翻译组招募信息

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

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

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

目录
相关文章
|
2月前
|
机器学习/深度学习 数据采集 算法
深入了解机器学习:从入门到应用
【10月更文挑战第6天】深入了解机器学习:从入门到应用
|
22天前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI的奥秘:机器学习入门指南
【10月更文挑战第30天】本篇文章是一份初学者友好的机器学习入门指南,旨在帮助读者理解并开始实践机器学习。我们将介绍机器学习的基本概念,包括监督学习、无监督学习和强化学习等。我们还将提供一些实用的代码示例,以帮助读者更好地理解和应用这些概念。无论你是编程新手,还是有一定经验的开发者,这篇文章都将为你提供一个清晰的机器学习入门路径。
36 2
|
29天前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
机器学习基础:使用Python和Scikit-learn入门
32 1
|
2月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第12天】本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和入门实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型训练和评估等步骤,并提供了代码示例。通过本文,读者可以掌握机器学习的基本流程,并为深入学习打下坚实基础。
23 1
|
2月前
|
机器学习/深度学习 人工智能 算法
机器学习基础:使用Python和Scikit-learn入门
本文介绍了如何使用Python和Scikit-learn进行机器学习的基础知识和实践。首先概述了机器学习的基本概念,包括监督学习、无监督学习和强化学习。接着详细讲解了Python和Scikit-learn的安装、数据处理、模型选择与训练、模型评估及交叉验证等关键步骤。通过本文,初学者可以快速上手并掌握机器学习的基本技能。
57 2
|
2月前
|
机器学习/深度学习 人工智能 数据挖掘
机器学习基础:使用Python和Scikit-learn入门
【10月更文挑战第6天】在人工智能领域,机器学习已成为核心技术。本文指导初学者使用Python与Scikit-learn入门机器学习,涵盖基本概念、环境搭建、数据处理、模型训练及评估等环节。Python因简洁性及其生态系统成为首选语言,而Scikit-learn则提供了丰富工具,简化数据挖掘与分析流程。通过实践示例,帮助读者快速掌握基础知识,为进一步深入研究奠定坚实基础。
29 4
|
2月前
|
机器学习/深度学习 自然语言处理 前端开发
前端大模型入门:Transformer.js 和 Xenova-引领浏览器端的机器学习变革
除了调用API接口使用Transformer技术,你是否想过在浏览器中运行大模型?Xenova团队推出的Transformer.js,基于JavaScript,让开发者能在浏览器中本地加载和执行预训练模型,无需依赖服务器。该库利用WebAssembly和WebGPU技术,大幅提升性能,尤其适合隐私保护、离线应用和低延迟交互场景。无论是NLP任务还是实时文本生成,Transformer.js都提供了强大支持,成为构建浏览器AI应用的核心工具。
487 1
|
2月前
|
机器学习/深度学习 算法 API
机器学习入门(六):分类模型评估方法
机器学习入门(六):分类模型评估方法
|
2月前
|
机器学习/深度学习 算法
机器学习入门(三):K近邻算法原理 | KNN算法原理
机器学习入门(三):K近邻算法原理 | KNN算法原理
|
2月前
|
机器学习/深度学习 算法 数据挖掘
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合
机器学习入门(二):如何构建机器学习模型,机器学习的三要素,欠拟合,过拟合
下一篇
无影云桌面