算法代码中的循环矩阵在哪体现_「Machine Learning 学习小结」| 向量在梯度下降算法当中的应用...

写在前面:

在之前的文章当中提到过,学习梯度下降算法,可能需要一点点线性代数的知识。在本篇文章当中,我们的讨论就涉及到了向量。

笔者也曾提到,不妨把向量看成对数据进行批量操作的一种工具,这样可能对我们理解接下来的知识有一些帮助。

推荐阅读:吴恩达机器学习:

第五章:正规方程

第六章:矢量

Outline:

  • 矢量
  • 正规方程

一.矢量

在我们将向量应用到我们的梯度算法之前我们进行一个简单的回顾。

d6d96d19363dd8fb6f1bb411a34ea2d3.png

这是我们的多元函数梯度下降算法。

我们来看一下预测函数的计算MATLAB/C++中的代码实现(吴恩达老师的课程中对Octave/MATLAB的简单应用进行了讲解,笔者认为大家可以系统的学习Python和MATLAB,这有助于我们接下来的算法实现)

97f45e7e32dbc791e5231ffcf81347eb.png
C++实现:左侧是未向量化;右侧是向量化

7f2cfe5e17dea3d44b7f119f326990a9.png
MATLAB:未向量化实现

4fa5271299b41e943a02dd13f1c31e5e.png
MATLAB:向量化实现

通过上述代码的实现,我们可以看出:相对于未向量化的循环结构,我们向量化之后对数据进行批量操作,两个矩阵的一次乘法运算就可以得到我们的预测值,提高了我们的算法效率。

下面我们展示对梯度下降算法进行矢量化后的结果(这也是一个难点)

93a33318d78dab7327694254a9fca6de.png
算法的表达

上述表达式中θ是一个列向量,δ也是一个列向量,我们来看看他们具体是什么。

θ:是一个n+1维向量,分量是θ_0到θ_n

δ:

73b0abd0c5fe4169a9f00a0eeba21874.png

e8bc41e9d1315d7a2be14f0b322cbf5d.png

读者可以耐下性子自己动笔计算验证,向量化后的算法跟未向量化的算法是完全等价的,在这里我们对数据进行了批量计算,提高了我们的算法效率。也许对于刚刚接触线性代数的朋友来数,这是难以理解的,但是不要心急,上述计算所具备的知识就是基本的向量加减运算,向量的乘法运算,耐心计算,搞明白上述算法的内涵。

总结一下,我们得到了向量化的梯度下降算法:

二.正规方程组

我们来回顾一下我们求解多元函数代价函数极小值点的数学原理是什么:各个一阶偏导数为零。

除了这样做,我们还有什么办法?

我们来看看正规方程组法求解极小值点。

055b938a1466962089900e25cd0f8c3e.png
图片源自:黄海广|机器学习

c0ee9f3f8bc92d2b390dae413e4c9eb6.png

6cfc821556a0d801199c55961f4dc9ca.png

实际上,当特征变量的数目并不大(小于一万)的时候,我们通常采用正规方程组的方法,而不是梯度下降算法。

熟悉线性代数的朋友可能知道,有时候可能会存在矩阵不可逆的情况,我们将这样的矩阵称之为奇异矩阵;但是我们的pinv函数,是一个求伪逆函数,这意味着即使我们的矩阵不可逆,我们的算法仍然可以正常运行。

我们给出正规方程组算法的证明(看懂它需要了解矩阵求导法则)

3223cbe5572d57d7a5ea0bf94696a5a2.png
图片源自:黄海广|机器学习个人笔记

8b9ea1043dff62bc315dd5bd996174a9.png
图片源自:黄海广|机器学习个人笔记

到这篇文章结束为止,我们要对线性回归预测说一声暂时的告别,希望大家可以结合视频学习,自己敲敲代码,实现自己的算法。多练习,多实践。

第一次截稿日期:2019/5/4

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/525740.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机用户 图片存储位置,手机相册在哪个文件夹,详细教您手机图片存放在哪里...

现在使用手机的用户是越来越多了,手机质量都非常好,因此才会受到许多人的褒奖。不过有用户却遇到了,用手机拍摄了照片或者用手机截图,手机连上电脑后,却在电脑上找不到图片,怎么办,下面&#xf…

揭秘京东文件系统JFS的前世今生,支持双11每秒约10万个对象同时读写

背景 作为一家大规模的自营式电商企业,京东需要存储海量的非结构化数据:商品图片、订单文本、仓库流转记录、App客户端文件、日志文件、内部文档等。对于存储这些数据,之前并没有统一的解决方案,都是各个业务线自行解决——MySQL …

计算机的复数英语怎么读,英语的复数怎么读

目录1.土豆的复数英语怎么读1.英语中的月份的复数 怎么读 读音? months 最后两个辅音,是否可以省略一个。2.在清辅音后,读/s/,如books, 在浊辅音和元音后,读/z/,如dogs,boys 当然。3.名词复数词尾的读音:1)…

java map清除值为null的元素_Java中的集合框架大总结

直接上图:从上面的集合框架图可以看到:Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合;另一种是图(Map),存储键/值对映射。Collection接口又有两个子接口,List和…

土木转计算机 但计算机学院不好,土木妹子转计算机,较高三维水科研,求指导!...

2016-12-15velvetvalley个人情况当前阶段大四本科院校某中流985,top30本科专业土木,辅修计算机GPA土木91.6/100,10/111;计算机88.4/100,1/23GRE/GMAT3284语言成绩109目标专业计算机科学计划留学年份:2017秋季个人背景:一个水国创,…

关于计算机软件系统分类能够匹配的有,以下关于计算机软件系统分类能够匹配的有:...

摘要:关于够匹比低高强钢筋筋的极限度钢大强度应变拉伸。统分变异系数主观权是一种法赋赋权法。关于够匹对第的说确的物流法正三方是(。...关于够匹比低高强钢筋筋的极限度钢大强度应变拉伸。最大区边压应缘力在受压,计算机软件系破坏截面梁正适筋受弯时…

开关 关闭_无论用什么品牌手机,这个开关要关闭,以免耗电又卡顿,抓紧试试...

各位观众老爷大家好,给大家鞠个躬,每天给大家分享实用的生活小妙招。现在我们的工作生活中已经离不开手机,平时用久了手机卡顿不流畅,耗电也会随之增加,其实有可能是没有把这几个开关关闭,今天和大家分享一…

卷积神经网络中十大拍案叫绝的操作

来源 | 知乎作者 | Professor hoCNN从2012年的AlexNet发展至今,科学家们发明出各种各样的CNN模型,一个比一个深,一个比一个准确,一个比一个轻量。我下面会对近几年一些具有变革性的工作进行简单盘点,从这些充满革新性的…

提高代码可读性的10个技巧

在本文中,作者从注释,缩进,代码分组,命名方式等方面,介绍了10个提高代码可读性的技巧,供读者学习和借鉴。 以下为译文:如果你的代码很容易阅读,这也会帮助你调试自己的程序&#xff…

内蒙古一级计算机考试时间2015,2017年内蒙古计算机一级考试报名时间

2017年内蒙古计算机一级考试报名时间一级分为DOS版和Windows版,考核应试者计算机基本知识和使用微机系统的初步能力,那么,2017年内蒙古计算机一级考试报名时间是什么时候?一起来看看:2017年内蒙古计算机一级考试报名时…

去掉数组最后一个元素_leetcode 34. 在排序数组中查找元素的第一个和最后一个位置每天刷一道leetcode算法系列!...

作者:reed,一个热爱技术的斜杠青年,程序员面试联合创始人前文回顾:leetcode1. 两数之和--每天刷一道leetcode系列!leetcode2. 两数相加--每天刷一道leetcode系列!leetcode3. 无重复字符的最长子串--每天刷一…

6个月清洗近千亿条微信支付交易记录,他们要搞什么大事情?

本文转载自腾讯技术工程官方号背景:2013年8月,微信红包上线。2014年春节微信红包引爆社交支付。2015年春晚红包摇一摇,推动微信红包在全国迅速普及。此后,每逢节假日或特殊日子,人们都会自主的兴起发红包,使…

右下角文字如何写_如何提取任意小程序的小程序路径

这几天我在写关于公众号和小程序互通的文章,在公众号跳转小程序的设置中有一个信息绕不过去,那就是小程序路径,对于非开发人员,如何轻松获取小程序路径是本文所讲述的内容本文内容本文通过具体截图文字描述,获取某个小…

基于Docker持续交付平台建设的实践

导读:中国五矿和阿里巴巴联手打造的钢铁服务专业平台五阿哥,通过集结阿里巴巴在大数据、电商平台和互联网产品技术上的优势,为终端用户带来一站式采购体验。本文是五阿哥运维技术团队针对Docker容器技术在如何在持续交付过程中探索和实践&…

计算机课件比赛总结,课件制作比赛活动总结

【www.gz85.com - 投篮比赛活动工作总结】课件制作比赛,是对计算机多媒体等辅助手段的一次检阅,也有力地促进了制作多媒体课件技艺的提高。下面是小编为您整理的“课件制作比赛活动总结”,仅供参考,希望您喜欢!更多详细…

设置pandas显示行数_Pandas这样来设置,做数据分析舒适百倍

在日常使用pandas的过程中,由于我们所分析的数据表规模、格式上的差异,使得同样的函数或方法作用在不同数据上的效果存在差异。而pandas有着自己的一套「参数设置系统」,可以帮助我们在遇到不同的数据时灵活调节从而达到最好的效果&#xff0…

深度解析京东个性化推荐系统演进史

在电商领域,推荐的价值在于挖掘用户潜在购买需求,缩短用户到商品的距离,提升用户的购物体验。京东推荐的演进史是绚丽多彩的。京东的推荐起步于2012年,当时的推荐产品甚至是基于规则匹配做的。整个推荐产品线组合就像一个个松散的…

模拟微信支付服务器测试,专栏 - 腾讯WeTest-All Test in WeTest

一、异常压测场景模拟说明:压测服务器具备自动完成初始化(支持快速扩缩容),初始化后均已支持:stress 、tc等工具(不需安装)1.使用stress模拟压力(CPU/内存/IO繁忙)a.如何使用:cpu高负载模拟:stress -c 44 -t 60内存高…

网易容器云平台的微服务化实践

摘要:网易云容器平台期望能给实施了微服务架构的团队提供完整的解决方案和闭环的用户体验,为此从 2016 年开始,我们容器服务团队内部率先开始进行 dogfooding 实践,看看容器云平台能不能支撑得起容器服务本身的微服务架构&#xf…

逐鹿工具显示服务器错误连接不上怎么解决,win7系统安装逐鹿工具箱提示“error launching installer”错误的解决方法...

win7系统使用久了,好多网友反馈说win7系统安装逐鹿工具箱提示“error launching installer”错误的问题,非常不方便。有什么办法可以永久解决win7系统安装逐鹿工具箱提示“error launching installer”错误的问题,面对win7系统安装逐鹿工具箱…