机器学习入门算法:从线性模型到神经网络

作者: 机器之心 2017-03-10 12:16:46

近段时间以来,我们频频听到「机器学习(machine learning)」这个词(通常在预测分析(predictive analysis)和人工智能(artificial intelligence)的上下文中)。几十年来,机器学习实际上已经变成了一门独立的领域。由于现代计算能力的进步,我们最近才能够真正大规模地利用机器学习。而实际上机器学习是如何工作的呢?答案很简单:算法(algorithm)。

机器学习是人工智能(artificial intelligence)的一种,其本质上讲,就是计算机可以在无需编程的情况下自己学习概念(concept)。这些计算机程序一旦接触新的数据,就将会改变它们的「思考」(或者输出)。为了实现机器学习,算法是必需的。算法被写入计算机并在其剖析数据时给与其需要遵循的规则。

机器学习算法经常被用于预测分析。在商业中,预测分析可以用于告诉企业未来最有可能发生什么。例如,使用预测分析算法,在线 T 恤零售商可以使用当前的数据来预测下个月他们将会售出多少 T 恤。

回归或分类

虽然机器学习也可以用于其它的用途,但是我们将在本指南中着重于预测。预测是一种基于输入变量来估计输出变量的过程。比如,如果我们输入特定房子的特征,则可以预测售价。

预测问题分为两大类:

  • 回归问题(Regression Problems):我们想要预测的变量是数字(例如,房子的价格)

  • 分类问题(Classification Problems):我们想要预测的变量是「是/否」的答案(例如,某一设备是否会经历设备故障)

现在我们已经介绍了机器学习在预测方面的应用,我们可以讨论机器学习算法,其分为 3 个组别:线性模型(linear models)、树型模型(tree-based models)、和神经网络(neural networks)。

什么是线性模型算法

image (1).png

线性模型使用简单的公式通过一组数据点来查找「最优拟合」线。通过你已知的变量方程(比如,原料),你可以求出你想要预测的变量(例如,烘烤蛋糕需要多长时间)。为了求出预测量,我们输入已知的变量得到答案。换句话说,为了求出烘烤蛋糕需要多长时间,我们只需要输入原料。

例如,要烘烤蛋糕,分析过后我们得到这个方程:t = 0.5x + 0.25y,其中 t 烤蛋糕的时间,x 为蛋糕糊的重量,y = 1 表示为巧克力蛋糕而 0 表示为非巧克力蛋糕。所以让我们假设,我们有 1kg 的蛋糕糊并且我们想要一个巧克力蛋糕,我们输入我们的数字来建立这个方程:t = 0.5(1) + (0.25)(1) = 0.75,即 45 分钟。

有不同形式的线性模型算法,我们将要讨论线性回归(linear regression)和逻辑回归(logistic regression)。

线性回归

线性回归,也称为「最小二乘回归(least squares regression)」,是线性模型的最标准的形式。对于回归问题(我们设法预测的变量是数字),线性回归是最简单的线性模型。

逻辑回归

逻辑回归是为分类问题进行简单调整过的线性回归(我们设法预测的变量是「是/否」的答案)。由于其构造,逻辑回归非常适合于分类问题

线性回归和逻辑回归的缺点

线性回归和逻辑回归都有着相同的缺点。两者都具有「过拟合(overfit)」的趋势,这意味着模型太适应于数据而牺牲了推广到先前未知的数据的能力。因此,这两个模型经常需要进行规范,这意味着它们有一定的惩罚(penalty)以防止过拟合。另一个线性模型的缺点是,因为它们太简单了,所以往往不能预测更复杂的行为。

什么是树型模型

image (2).png

树型模型有助于探索数据集,并可视化预测的决策规则。当你听到关于树型模型的东西时,你可以将其想成是决策树或分支操作序列。树型模型高度精确、稳定且更易于解释。与线性模型相反,它们可以映射非线性关系以求解问题。

决策树(decision tree)

决策树是一种使用分支方法(branching method)来显示决策的每个可能结果的图。例如,如果你想要订购莴苣、浇头和沙拉酱,决策树可以绘制出所有可能的结果(或者你可能最终得到的沙拉的品种)。

为了创建或者训练决策树,我们采用我们过去训练模型的数据,并找出哪些属性可以最佳分割目标训练集。

例如,我们在信用卡欺诈中使用决策树。我们可以发现最佳的欺诈风险预测的属性是消费明细(例如,有信用卡用户有非常大的消费)。这可能是第一次分割(或分支)——那些有着异常高消费的卡和没有的卡。然后我们使用第二个最佳属性(例如,经常使用的信用卡)来创建下一次分割。然后我们可以继续直到我们有足够的属性来满足我们的需要。

随机森林(random forest)

随机森林是许多决策树的平均,每个决策树都用数据的随机样本训练。森林中的每个独立的树都比一个完整的决策树弱,但是通过将它们结合,我们可以通过多样性获得更高的整体表现。

随机森林是当今机器学习中非常流行的算法。它非常容易训练(或构建),且它往往表现良好。它的缺点是,相比于其他算法,其输出预测可能较慢。所以当你需要快如闪电般地预测,你也许不会使用它。

梯度提升(gradient boosting)

梯度提升和随机森林类似,都是由「弱」决策树构成的。最大的区别是,在梯度提升中树是被一个接一个相继训练的。每个随后的树主要用被先前树错误识别的数据进行训练。这使得梯度提升更少地集中在容易预测的情况并更多地集中在困难的情况。

梯度提升训练速度也很快且表现非常好。然而,训练数据的小变化可以在模型中产生彻底的改变,因此它可能不会产生最可解释的结果。

什么是神经网络

image (3).png

生物学中的神经网络是互相交换信息的相互连接的神经元。这个想法现在已经适用于机器学习的世界,并被称为人工神经网络(ANN)。深度学习(deep learning)是一个经常出现的词,是指几层连续放置的人工神经网络。

人工神经网络(ANN)包含了许多可以学习类似人脑的认知能力的模型。其它算法不能处理的极其复杂的任务(如图像识别),神经网络就可以办到。然而,就像人类的大脑,它需要很长时间来训练模型,且需要很多的能量(想一想我们为了保持大脑的工作,我们吃了多少东西)。

image.jpg

机器学习
上一篇:深度学习改变日常生活?Netflix、雅虎这么做 下一篇:为了防止信用卡盗刷 机器学习算法认出你是谁
评论
取消
暂无评论,快去成为第一个评论的人吧

更多资讯推荐

JavaScript也能玩机器学习 推荐5个开源 JavaScript 机器学习框架

作为一名Web的前端开发者,我很好奇机器学习是如何工作的。我并没计划要系统学习关于机器学习(ML)、神经网络、NLP自然语言处理之类的知识,不过光看到这些概念就觉得很有意思,简直是打开了一个新的世界。

极链科技Video++技术中心前端Team ·  2018-10-11 10:37:31
Python 扩大领先优势, PyTorch 仅占 6.4%

近日,著名数据科学网站 KDnuggets 发布了 2018 年数据科学和机器学习工具调查结果。超过 2000 人对自己「过去 12 个月内在项目开发中使用过的数据挖掘/机器学习工具和编程语言」进行了投票。

佚名 ·  2018-05-28 09:12:10
Pick一下?Python机器学习实用技巧

我们Pick了一些用Python进行机器学习实践的基本技巧。我是一名计算机科学与技术专业的学生。我怎么才能入门机器学习/深度学习/人工智能?

赵朋飞 ·  2018-05-10 17:39:13
机器学习转化为生产力,警惕这4个常见陷阱!

几乎每个人都想在他们的业务中引入机器学习,但是这些人也遇到了一个大问题:让模型可持续发展十分困难,尤其是在云架构的基础上。medium上一位博主也指出了这个问题,并提出了将机器学习模型投入生产的4个常见陷阱。

大数据文摘 ·  1天前
500亿参数,支持103种语言:谷歌推出「全球文字翻译」模型

由于缺乏平行数据,小语种的翻译一直是一大难题。来自谷歌的研究者提出了一种能够翻译 103 种语言的大规模多语言神经机器翻译模型,在数据丰富和匮乏的语种翻译中都实现了显著的性能提升。

机器之心 ·  2天前
对于人工智能的恐惧及其5个解决方法

实施人工智能技术的IT领导人可能会感到一些恐惧,这有着充分的理由。人工智能在拥有数十年发展和应用历史的同时却有着奇怪的定位,但对于许多人来说,人工智能仍然是一种未来主义的感觉。

Kevin Casey ·  2天前
机器学习免费跑分神器:集成各大数据集,连接GitHub就能用

搞机器学习的小伙伴们,免不了要在各种数据集上,给AI模型跑分。现在,Papers with Code (那个以论文搜代码的神器) 团队,推出了自动跑分服务,名叫sotabench,以跑遍所有开源模型为己任。

栗子 鱼羊 ·  2天前
用AI实现动画角色的姿势迁移,Adobe等提出新型「木偶动画」

近日,Adobe 和康奈尔大学的研究人员提出一种基于学习的动画制作方法——基于卡通角色的少量图像样本就可生成新动画。

机器之心 ·  2天前
Copyright©2005-2019 51CTO.COM 版权所有 未经许可 请勿转载