前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >向量运算在机器学习中很重要—ML Note 32

向量运算在机器学习中很重要—ML Note 32

作者头像
讲编程的高老师
发布2020-08-17 11:01:04
4660
发布2020-08-17 11:01:04
举报
文章被收录于专栏:讲编程的高老师

本文是吴恩达《机器学习》视频笔记第32篇,对应第2周第14个视频。

“Octave Tutorial——Vectorization”,是第二周内容的最后一次视频。

01

笔记

引言

几乎所有的语言,包括Matlab、Python、Java,甚至C++、C,都会有一些能够进行线性代数运算的包、库等等,而这些包或者库都是由一些具有博士、硕士学位的数值分析的专家开发的,非常优秀。

当进行机器学习编码的时候,尽管好好的调用它们就好了。而直接调用这些线性代数的方法实现一些矩阵或向量运算会使一些特定的数学运算变得更高效。

向量运算的妙处

先看一个简单的例子,这样的一个函数,

我们知道上图中的函数,是我们进行线性回归分析的一种假设的模型函数。

那,这个函数如果使用向量形式表示,就变成了:

上图左边是非向量化的实现代码,而右边是向量化的实现代码。很显然右边的代码更简单,而且Octave内置的一些向量运算实现方法可能比我们自己写的for循环更高效。

再看一个稍微复杂一点的例子,梯度下降法。

梯度下降法的更新算法如下图:

我们不停地更新这些\theta,找到更合适的那组\theta,使得Cost最小。

那有没有办法用向量来实现这个算法呢?

上图中那三个式子,实际上可以用一个向量式子来表示(图中红色矩形框内):

总结

这次视频,一句话总结就是:线性代数在机器学习中非常基础、非常重要。

机器学习的很多东西都是用矩阵、向量来表示的,向量是机器学习中的一个基本单位,在计划学习Machine Learning之前一定要翻一翻线性代数的教材,而且要常常翻看。

02

视频

http://mpvideo.qpic.cn/0bf2duaaoaaatiabddimjnpvahoda4oqabya.f10004.mp4?dis_k=b4eb33e91064e828148315108c0826e0&dis_t=1597633195

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 讲编程的高老师 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 向量运算的妙处
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档