0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Excel本身就能编写大量基础机器学习算法

zhKF_jqr_AI 来源:未知 作者:李倩 2018-06-21 10:18 次阅读

编者按:当初学者第一次接触机器算法时,直观了解算法正在做什么是一项非常重要的任务,这也是论智一直推崇可视化方法的原因之一。虽然初级算法的数学计算并不难掌握,但当他们一看到满篇的数学理论和符号,学习下去的兴致和气势就消减了不少。

作为一名数据工作者,这年头“熟悉机器学习算法”远比“精通Excel”在求职市场上要抢手得多,但前者的“熟悉”究竟是熟悉到什么程度呢?Excel本身就能编写大量基础机器学习算法,而且对于初学者来说,这样的编写过程不仅能加深对算法的理解,还能帮助他们更充分地感受算法的美妙。

下面我们用一个例子来证明这一点。

从本质上来说,大多数数据科学算法其实就是优化问题,而其中最常用的算法之一就是梯度下降算法。对于初学者来说,梯度下降这个词可能乍一听有些可怕,但它真的这么复杂吗?

以下是一个房价预测任务:根据历史房价数据创建一个模型,结合房屋面积预测新房价格。让我们先用已有数据建立一个表格:

pIYBAFsrC7iAOpbsAAA9WDcYL54282.png

如上表所示,房屋面积是X,房价是Y,由此我们可以绘制历史房价数据折线图:

pIYBAFsrC7iAPlxVAABZymetJgM598.png

现在用一个简单的线性模型,对历史数据进行拟合,根据房屋面积X预测新房价格Y(pre):

pIYBAFsrC7iAdHnhAABQbEvgtnI803.png

在上图中,红线是我们的线性模型,因此鉴于横坐标和纵坐标信息,它的表达式是:Y(pred) = a + bX。

蓝线是已知的历史房价,从分布上简单给出了房价和房屋面积相关程度的基本信息。

连接红线和蓝线的黄色虚线表示对于同一面积的房屋,模型预测和实际房价的误差(E)。

所以我们的目标是找到最好的a和b,使误差项E最小:

残差平方和(SSE)= ½(真实房价-预测房价)2= ½(Y - Ypred)2

(SSE只是一种方法,还可以用其他方法统计误差)

好了,下面我们就要用到梯度下降了。梯度下降是一种优化算法,它能帮我们找到优化权重(a,b),并保证模型预测的准确率。下面是具体步骤:

步骤1:用随机值初始化权重a和b,并计算误差(SSE)。

步骤2:计算梯度,即当权重从初始随机值逐渐变小时SSE的变化。这有助于我们把a和b朝SSE最小的方向优化。

步骤3:用梯度调整权重以使SSE最小化,以达到最佳值。

步骤4:用新权重进行预测,并计算新的SSE。

步骤5:重复步骤2和3,直到再次调整权重后不再明显降低预测错误率。

如果说这样描述有些泛泛而谈,下面我们就结合图表详细介绍。请牢记一点,事先把数据处理好有助于更高效的优化。

pIYBAFsrC7mAXLtwAABj1ZdBkJI209.png

第一步: 为了拟合Y(pred) = a + bX,用随机值初始化a和b,并计算预测误差(SSE)。

pIYBAFsrC7mAEY1kAABHN3riu6c619.png

第二步:计算权重的误差梯度。

∂SSE/∂a =-(Y-Ypred)

∂SSE/∂b =-(Y-Ypred)X

其中,SSE=½ (Y-Ypred)2= ½(Y-(a+bX))2

虽然有一点点让人烦恼的微积分计算,但这已经很基础了,∂SSE/∂a和∂SSE/∂b是我们想要的梯度,它们给出了SSE“下降”的方向。

pIYBAFsrC7mAWg-jAABOGL7l5iQ765.png

第三步:用梯度调整权重,使SSE获得最小值,也就是最佳值。

pIYBAFsrC7mAOHWyAACb4ECd06E022.png

这之后我们就能用新权重更新a和b的值,以便模型沿着最优方向移动。

因为

a-∂SSE/∂a

b-∂SSE/∂b

所以更新规则就是:

新的a = a - r × ∂SSE/∂a = 0.45–0.01× 3.300 = 0.42

新的b = b - r × ∂SSE/∂b = 0.75–0.01×1.545 = 0.73

其中r=0.01是学习率,表示权重调整的步幅。

第四步:用新的a和b进行预测并计算新的SSE。

pIYBAFsrC7mAIvYaAABKCZqGDGg034.png

可以看到,SSE已经从0.677下降到0.553了,这意味着模型的预测准确率有所提高。

第五步:重复第二步和第三步,直到再改变a和b,SSE不再发生明显变化。

以上就是用Excel实现的梯度下降算法,比起一堆数学计算,这样图文并茂的演示是不是更有趣呢?

在MOOC课程中,除了吴恩达的deeplearning.ai和Udacity,李飞飞强烈推荐的Fast.ai也有其独到之处。这家公司的CEO Jeremy Howard是深度学习领域的一朵奇葩,他没有过硬的学术背景,也没有大型科技公司的就职经历,仅凭自学就在kaggle竞赛中锋芒毕露。对于这样一个人,他的课绝对值得初学者学习。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Excel
    +关注

    关注

    4

    文章

    212

    浏览量

    55182
  • 机器学习
    +关注

    关注

    66

    文章

    8112

    浏览量

    130544

原文标题:最强神器!用Excel实践机器学习算法

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    美光和思科在SEMICON West 2017:实现机器学习的前提是让机器使用大量数据创建算法

    众所周知,机器学习是影响技术领域的最大趋势之一,它为全球企业带来了新的见解和利润。实现机器学习的前提是让机器使用
    的头像 发表于 09-23 09:25 9984次阅读

    【下载】《机器学习》+《机器学习实战》

    、谋发展的决定性手段,这使得这一过去为分析师和数学家所专属的研究领域越来越为人们所瞩目。本书第一部分主要介绍机器学习基础,以及如何利用算法进行分类,并逐步介绍了多种经典的监督学习
    发表于 06-01 15:49

    机器学习算法应用

    关于机器学习的相关算法。正版资源,免费看的。
    发表于 08-24 22:14

    机器学习——期望最大算法

    机器学习 - 期望最大(EM)算法
    发表于 05-21 14:31

    机器学习算法分享

    机器学习算法(1)——Logistic Regression
    发表于 06-09 13:30

    什么是机器学习? 机器学习基础入门

    另一方面,机器学习是向计算机提供一组输入和输出,并要求计算机识别“算法”(或用机器学习的说法称为模型)的过程,这种
    发表于 06-21 11:06

    Spark机器学习库的各种机器学习算法

    本文将简要介绍Spark机器学习库(Spark MLlibs APIs)的各种机器学习算法,主要包括:统计
    发表于 09-28 16:44 1次下载

    机器学习系统设计PDF版电子书免费下载

    机器学习本身很复杂, 且在具体的数据分析实践中涉及大量复杂的数学知识。而本书尽量避开编程与机器学习
    发表于 01-29 14:36 0次下载

    通过Python就能读懂机器学习

    具体来说有四个方面的介绍,包括机器学习的定义、机器学习的起源,以及进化反向、机器学习的分类和类别
    的头像 发表于 05-14 14:31 2371次阅读
    通过Python<b class='flag-5'>就能</b>读懂<b class='flag-5'>机器</b><b class='flag-5'>学习</b>

    机器学习算法的基础介绍

    现在,机器学习有很多算法。如此多的算法,可能对于初学者来说,是相当不堪重负的。今天,我们将简要介绍 10 种最流行的机器
    的头像 发表于 10-24 10:08 1586次阅读

    机器学习算法的5种基本算子

    机器学习算法的5种基本算子 机器学习是一种重要的人工智能技术,它是为了让计算机能够通过数据自主的学习
    的头像 发表于 08-17 16:11 1330次阅读

    机器学习算法汇总 机器学习算法分类 机器学习算法模型

    是解决具体问题的一系列步骤,机器学习算法被设计用于从大量的数据中自动学习并不断改进自身的性能。本文将为大家介绍
    的头像 发表于 08-17 16:11 720次阅读

    机器学习算法总结 机器学习算法是什么 机器学习算法优缺点

    机器学习算法总结 机器学习算法是什么?机器
    的头像 发表于 08-17 16:11 1062次阅读

    机器学习算法入门 机器学习算法介绍 机器学习算法对比

    机器学习算法入门 机器学习算法介绍 机器
    的头像 发表于 08-17 16:27 622次阅读

    机器学习有哪些算法机器学习分类算法有哪些?机器学习预判有哪些算法

    机器学习有哪些算法机器学习分类算法有哪些?机器
    的头像 发表于 08-17 16:30 1388次阅读