python解zuobiaoxi方程_吴恩达《Machine Learning》精炼笔记 2:梯度下降与正规方程

ad215fe531d0c441105601fd146d3b18.png

作者:Peter

红色石头的个人网站:

红色石头的个人博客-机器学习、深度学习之路​www.redstonewill.com
0c37af6d106e5617b6c79f95c8e26c4a.png

今天带来第二周课程的笔记:梯度下降与正规方程。

主要内容:

  • 多维特征
  • 多变量梯度下降
  • 梯度下降法实践
  • 正规方程

多维特征Multiple Features

还是利用房价模型的例子,增加了更多的特征,比如:房间楼层、房间数量、地理位置等,构成了一个含有多个变量的模型

6fab66b931350ffb1eec64640d3f7057.png

n:代表的是特征的数量

x(i):代表第i个训练实例,是特征矩阵中的第i行,是一个向量vector

xij:表示的是第i个训练实例的第j个特征;i表示行,j表示列

支持多变量的假设h表示为:

34a3dcffbd103c26f2b48619da00cd58.png

为了简化公式,引入,公式转化为:

c499f685d7f2e4c0a07f9fb2a87e7f0e.png

特征矩阵X 的维度是m∗(n+1),公式简化为:

55ae9de40e826b2a27add38978606a15.png

多变量梯度下降

算法目标

与单变量线性回归类似,在多变量线性回归中,构建一个代价函数,则这个代价函数是所有建模误差的平方和,即:

2b5a05e08a238fad5128bfc8e923fda8.png

其中:

80e9d71d5db20ccebc45aae6b121e83e.png

算法过程:

29da2054c7631ebf7deb208d39f43c89.png

c7c7495a1c688cf8280113bccb4283a2.png

Python代码

给定特征矩阵X,输出y,学习率θ,求代价函数J

import 

梯度下降法实践

特征缩放

面对多维度特征问题,我们需要保证这些特征具有相近的尺度,帮助梯度下降算法更快地收敛。

以房价问题为例,假设仅用两个特征,房屋的尺寸和数量,以两个参数分别为横纵坐标,假设尺寸在0-2000平方英尺,数量在0-5之间。

绘制代价函数的等高线图能,看出图像会显得很扁,梯度下降算法需要非常多次的迭代才能收敛。

71364858042afb53b18630e410ce6b77.png

解决办法:将所有的特征的尺度尽量缩放到-1到1之间,令:

00563dd6c6e344b575b0e9bfae6e7a1d.png

其中un为平均值,sn为标准差

d667d24f0efaea245fe824b7dcab7435.png

均值归一化

2e687064f6e40e35249091cc0a7933fd.png

学习率问题

梯度下降算法的每次迭代受到学习率的影响

  • 如果学习率过小,则达到收敛所需的迭代次数会非常高,收敛速度非常慢
  • 如果学习率过大,每次迭代可能不会减小代价函数,可能会越过局部最小值导致无法收敛

常用学习率包含:α=0.01,0.03,0.1,0.31,3,10α=0.01,0.03,0.1,0.31,3,10

特征和多项式回归

如房价预测问题,

e425a6b2661c7f7ba95dae64d1f5cd9c.png

同时房屋面积=宽度 * 深度

225ddd8d9a86a7b75de04127e4198d40.png

在实际拟合数据的时候,可能会选择二次或者三次方模型;如果采用多项式回归模型,在运行梯度下降法之前,特征缩放很有必要。

816063c07ca95cfeb36259abbd79df81.png

正规方程 Normal Equation

梯度下降缺点

需要多次迭代才能达到局部最优解

9f32ddb46dbf86ea566f730b3be318c9.png

正规方程demo

正规方程具有不可逆性

正规方程就是通过求解下面例子中的方程找出使得代价函数最小参数θ:

a9e7574b64279451ac08a45d42c6cdd1.png

0e98f3fc3a3723e667d3c4be53d6d1f2.png

不可逆矩阵不能使用正规方程求解

Normal Equation VS Gradient Descent

梯度下降和正规方程的比较:

b3f1d88164fb6fc272a23e6bdbcff5ee.png

0d5125cd6783e046b2a23491b60b3efb.png

参数θ求解过程

8e78b2cb57fa4cabf0bc374847fa7162.png

正规方程的Python实现

import 

至此,第一周的课程笔记完毕!

系列文章:

吴恩达《Machine Learning》精炼笔记 1:监督学习与非监督学习

本文首发于公众号:AI有道(ID: redstonewill),欢迎关注!

ea3dbfba55ea53a595dc11091fc8d78a.png

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

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

相关文章

计算机房按几类防雷,计算机机房防雷方案

常见问题计算机机房防雷方案2461一键分享这些微电子网络设备的普遍应用,使得防雷的问题显得越来越重要。由于微电子设备具有高密度、高速度、低电压、和低功耗等特性,这就使其对各种诸如雷电过电压、电力系统操作过电压、静电放电、电磁辐射等电磁干扰非…

webpack最新版本_webpack小结-开发环境构建优化

刚刚对我们前端项目做了一顿分析优化操作,因为接手时每次构建要花两分钟左右的时间,实在忍受不了,只能动手了。通过这次优化,重新温习了下 webpack 的一些知识。接下来会关于 webpack 展开写几篇心得:构建分析开发环境…

Xamarin Mono for VS开发窗体标题(Title)乱码解决方案

利用mono for VS开发一个手机程序,结果只有窗体的标题 title部分是乱码,其他所有地方中文都显示正常,很郁闷。百度很久无果。最后发现只要在 VS菜单中 的 文件->高级保存选型中奖编码设置为 Unicode或者UTF8就行了。更改所有有乱码的文件&…

nlp 命名实体识别 算法_中文命名实体识别算法 Lattice LSTM

中文命名实体识别 (NER) 算法按照输入的类型,可以大致分为 Character-based (字符) 和 Word-based (单词) 两种。这两种方法都存在一些缺陷,Character-based 不能利用词汇和词汇序列信息;Word-based 需要分词,分词的错误会对 NER …

margin background_margin:auto与布局展示

margin:auto 的作用机制。使用margin:auto居中,是css的基本操作。但会发现时不时的失灵。 这篇文章是对该属性的深度分析。首先,以下事实(自动填充)必须明确(1)有时候元素就算没有设置width 或height&#…

智能客户端ios_为什么现在的客户端开发越来越不吃香了

这是Kevin的第 672 篇原创,持续日更,做产品经理的创业斜杠青年。年底上线APP,是我们今年PMTalk在产品研发上的一个最终目标。启动这个项目前,团队、和身边创业朋友都不看好这件事,因为客户端开发太重了,小公…

用计算机录制声音让音质更好,电脑如何录屏?电脑录屏如何把声音也录制下来...

电脑如何录屏?电脑录屏如何把声音也录制下来2019年09月24日 14:25作者:黄页编辑:黄页分享电脑如何录屏?当你看到精彩的视频内容时,往往经常会出现,无法下载视频或者是下载很麻烦的问题。那么这个时候,可以…

第九周 10.25-10.31

10.25 HDU 4117 GRE Words 卡了很久的一个题目。比较综合。 看了很久题解还是各种写挫。 毕竟除了模拟题都没敲过那么长的。 题意:按顺序给N个单词,每个单词有权值,删去其中任意单词,使得前面的单词为后面单词的子串,求…

芯片设计中的latch_Latch-up (闩锁效应)

------------------------------------WeChat subscription account:Analog CMOS------------------------------------每周分享Analog IC学习资料/笔记。关注获取。。。。。00 - 本文内容CMOS 中的闩锁效应(latch-up)的来源具体的避免 latch…

pythonopencv算法_python opencv之SURF算法示例

本文介绍了python opencv之SURF算法示例,分享给大家,具体如下: 目标: SURF算法基础 opencv总SURF算法的使用 原理: 上节课使用了SIFT算法,当时这种算法效率不高,需要更快速的算法。在06年有人提…

c++判断ftp服务器文件存在性判断_BitTorrent协议与传统文件分发协议对比

一、文件传输前端时间做了和文件传输相关的工作,今天抽空做个总结。总结一下平常使用的几种协议以及BtTorrent协议。其实BitTorrent协议也不是什么新协议,它诞生也十几年了。咱也蹭个热点,最近几年大火的区块链技术也和BitTorrent协议有着异曲…

java基础全套

这是我自己早前听课时整理的java基础全套知识 使用于初学者 也可以适用于中级的程序员 我做成了chm文档的类型 你们可以下载 笔记是比较系统全面,可以抵得上市场上90%的学习资料。讨厌那些随便乱写的资料还有拿出来卖钱的人!在这里我免费的分享出来供…

顺丰快递单号的规律_顺丰速运顺丰快递单号查询大全

如何一键查询快递单号顺丰快递单号查询跟踪,鸡蛋是我们日常生活当中最为常见的一种食材啦,相信在每一个家庭当中每天都会吃到鸡蛋,因为鸡蛋的营养价值非常高,它含有丰富的蛋白质,可以为我们身体提供能量,别…

用计算机求正有理数算术平方根的步骤,用计算器求算数平方根、用有理数估计算数平方根的大小.ppt...

用计算器求算数平方根、用有理数估计算数平方根的大小.ppt 上传人:jw****88文档编号:85573818上传时间:2020-06-11格式:PPT页数:20大小:2.14MB下载提示(请认真阅读)1.请仔细阅读文档,确保文档完…

【整理】强化学习与MDP

【入门,来自wiki】 强化学习是机器学习中的一个领域,强调如何基于环境而行动,以取得最大化的预期利益。其灵感来源于心理学中的行为主义理论,即有机体如何在环境给予的奖励或惩罚的刺激下,逐步形成对刺激的预期&#x…

nginx 根证书 服务器证书,Nginx双向证书校验(服务器验证客户端证书)

1、创建Root CA私钥openssl genrsa -out root-ca.key 10242、创建Root CA证书请求openssl req -new -out root-ca.csr -key root-ca.key3、签发Root CA根证书openssl x509 -req -in root-ca.csr -out root-ca.crt -signkey root-ca.key -CAcreateserial -days 36505、生成服务器…

移动app测试的多样性_做移动APP功能测试,这些因素你得都考虑到~

对于刚入行的测试新手来说,无论是做手动测试还是自动化测试,前期都避免不了学习前人经验,从而尽可能减少自己的漏测问题。作为一个过来人,今天,我就将自己的移动APP功能测试分享给大家,希望对新手有一定帮助…

pytorch dropout_PyTorch初探MNIST数据集

前言:本文主要描述了如何使用现在热度和关注度比较高的Pytorch(深度学习框架)构建一个简单的卷积神经网络,并对MNIST数据集进行了训练和测试。MNIST数据集是一个28*28的手写数字图片集合,使用测试集来验证训练出的模型对手写数字的识别准确率…

saphana服务器硬件评估,华为SAP HANA一体机:你身边的数据计算专家

​ 华为服务器高级营销经理 谭鑫/文​在当今数字经济时代,如何将数据快速变现为价值资产是很多企业追求的目标。借助SAPHANA平台方案与技术,可以将数据处理化繁为简,及时汲取价值信息,为企业的业务决策提供数据参考,从…

verilog设置24进制计数器_阅读笔记:《Verilog HDL入门》第3章 Verilog语言要素

3.1标识符1.Verilog中的Identifier是由任意字母、数字、下划线和$符号组成的,第一个字符必须是字母或者下划线。区分大小写。2.Escaped Identifier是为了解决简单标识符不能以数字和$符号开头的缺点。如下所示:3.关键字。我的理解是保留字包括关键字&…