1.吴恩达机器学习课程笔记:多元梯度下降法

news2024/11/17 2:42:37

1.吴恩达机器学习课程笔记:多元梯度下降法

笔记来源:吴恩达机器学习课程笔记:多元梯度下降法

仅作为个人学习笔记,若各位大佬发现错误请指正

1.1 多元特征(变量)


每一列代表一个特征,例如:房屋大小、卧室数量、楼层数、房屋年龄, n n n代表特征数量
每一行代表一个样本,例如:第二个样本 x ( 2 ) = [ 1416 , 3 , 2 , 40 ] T x^{(2)}=[1416,3,2,40]^T x(2)=[1416,3,2,40]T,第 i i i个训练样本 x ( i ) x^{(i)} x(i) m m m代表样本容量
x j ( i ) x^{(i)}_j xj(i)代表第 i i i个样本中的第 j j j个特征

1.2 多元特征的假设函数


为了方便形式简洁,我们把假设函数写为向量内积形式,这样也方便我们直接使用线性代数的函数库

1.3 多元梯度下降法


左侧当特征个数为1时的梯度下降法,右侧当特征个数大于等于1时的梯度下降法

1.4 特征缩放:归一化

笔记来源:多元梯度下降法演练.I.–.特征缩放

因特征的不同,特征的值的范围也不同,这会导致梯度下降会非常缓慢,我们对特征进行处理,将所有特征都归一化处理,将特征的值都处理到同一个较小范围内,这样在进行梯度下降就会比处理前会快速很多

左侧是未对特征进行处理的情况,这种情况等高线整体上会比较细长,梯度下降时较缓慢
右侧是对特征进行缩放的情况,这种情况等高线整体上会比较圆润,梯度下降时较快速

缩放的范围可以大致定为 [ − 1 , 1 ] [-1,1] [1,1]也可以根据具体情况自行决定

1.5 特征缩放:均值归一化

另一种特征缩放的方法:均值归一化(这种方法类似于将随机变量标准化的过程)

可以先行计算出每个特征的均值 μ i \mu_i μi,和特征的值的范围 S i S_i Si(最大值-最小值)
x i = x i − μ i S i x_i=\frac{x_i-\mu_i}{S_i} xi=Sixiμi
根据上式对每一个特征中的每一个值进行均值归一化处理

1.6 学习率大小对多元梯度下降的影响

笔记来源:多元梯度下降法II.–.学习率

通过迭代步数–代价函数值函数图像,我们可以判断梯度下降是否最终收敛了,理想情况是随着迭代步数的增大,代价函数值随之下降,在自动收敛检测中,我们大致认为当代价函数值小于等于 1 0 − 3 10^{-3} 103时,梯度下降就达到了收敛。一般选择一个合适的阈值还是很困难的,为了检查梯度下降算法是否收敛,通常情况下我们可以直接看下面这种图像,而不去进行自动收敛检测。

学习率太小,则收敛速度较慢
学习率太大,则可能不是每次迭代代价都会下降,也可能不会收敛

学习率我们可以选取
0.0001 , 0.001 , 0.01 , 0.1 0.0001,0.001,0.01,0.1 0.00010.0010.010.1 每次扩大10倍来观察效果
也可取 0.0003 , 0.003 , 0.03 , 0.3 0.0003,0.003,0.03,0.3 0.00030.0030.030.3

1.7 多项式回归

笔记来源:特征和多项式回归

有时可以通过原有特征来定义新特征的方法来获得较好或教简单的模型,也可以只选其中一些特征,所以说其实并不是所有特征都要采用,我们可以只采用其中一些特征,之后我们会学习到一些算法,它们会自动选择使用什么特征

我们最终目的是通过这些已有特征来预测房价,我们可以根据生活中关于房价的经验来选择较为合适的模型,比如:起初我们选择了二次函数作为模型,但我们知道二次函数是凹或凸的,房子越大,房价理应越高,不会呈现出类似二次函数的形状,这里我们就应该做出调整,选用三次函数作为模型,当然也可以选用其他合适模型,诸如此类。之后我们会学习到一些算法,它们会根据已有数据选择较为合适的模型。

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

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

相关文章

FMC子卡设计资料原理图:FMC550-基于ADRV9002双窄带宽带射频收发器FMC子卡

FMC550-基于ADRV9002双窄带宽带射频收发器FMC子卡一、产品概述 ADRV9002 是一款高性能、高线性度、高动态范围收发器,旨在针对性能与功耗系统进行优化。该设备是可配置的,非常适合要求苛刻、低功耗、便携式和电池供电的设备。ADRV9002 的工作频率为 …

计算机基础——无处不网络(2)

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 座右铭:低头赶路,敬事如仪 个人主页:网络豆的主页​​​​​​ 目录 前言 一.计算机网络的接入方式 1

青龙脚本-稳定阅读

稳定阅读积分 查看请求头的cookie 变量 export zzbhd 多号或换行 */ 脚本附后 /* 查看请求头的cookie 变量 export zzbhd 多号或换行*/const $ new Env(至尊宝阅读); const axios require(axios); let request require("request"); request request.defaults(…

纯手工模拟Vue中的数据劫持和代理

为什么要实现数据劫持和代理 举一个场景:比如在小程序开发中,我们需要逻辑层修改的数据能同步响应更新到视图层的页面上,那么底层框架在实现这种效果的时候,机制是什么样的呢? 其实这里的底层原理类似于Vue中的数据劫…

基于蜣螂算法优化的BP神经网络(预测应用) - 附代码

基于蜣螂算法优化的BP神经网络(预测应用) - 附代码 文章目录基于蜣螂算法优化的BP神经网络(预测应用) - 附代码1.数据介绍3.蜣螂优化BP神经网络3.1 BP神经网络参数设置3.2 蜣螂算法应用4.测试结果:5.Matlab代码摘要&am…

ClickHouse快速复习

ClickHouse​一.特性​1.列式数据库管理系统​2.数据压缩​3.数据的磁盘存储​4.支持SQL​5.索引​6.适合在线查询​7.支持数据复制和数据完整性​8.实时的数据更新​9.处理大量短查询的吞吐量​10.处理大量短查询的吞吐量​11.限制​二.数据类型​1.数字类型​2.浮点数(float)…

前端都在聊什么 - 第 1 期

Hello 小伙伴们早上、中午、下午、晚上、深夜好,我是爱折腾的 jsliang~「前端都在聊什么」是 jsliang 日常写文章/做视频/搞直播过程中,小伙伴们的提问以及我的解疑整理。本期对应 2023 年的 01.01-01.15 这个时间段。本期针对「工作」「学习」「规划」「…

迭代器、可迭代对象、生成器的区别和联系

目录1 迭代器2 可迭代对象3 生成器1 迭代器 迭代器是一种可以更新迭代的工具,迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束。但是他不能像列表一样使用下标来获取数据,也就是说迭代器是不能返回的。迭代器只能往前不会…

Universal Links方式:私有化部署服务器来托管apple-app-site-association文件创建通用链接

Universal Links方式:私有化部署服务器来托管apple-app-site-association第一步:开启Associated Domains服务第二步:配置Associated Domains(域名)第三步:服务器配置apple-app-site-association文件第四步:…

java的数据类型:引用数据类型(String、数组、枚举)

2.3.3 引用数据类型 引用数据类型大致包括:类、 接口、 数组、 枚举、 注解、 字符串等 它和基本数据类型的最大区别就是: 基本数据类型是直接保存在栈中的引用数据类型在栈中保存的是一个地址引用,这个地址指向的是其在堆内存中的实际位置…

四旋翼无人机学习第22节--padstack editor创建过孔

1 首先打开padstack editor软件。 2、选择过孔,注意与前面的博客不同,这里的单位最好使用mil。 在小马哥的教程中,过孔可以分为几类,下面主要对下图的五种过孔进行设置。 3、接着对过孔的孔径进行设置。 4、不做修改。 5、修…

网络交换机常见故障及解决方法

在日常的网络故障维护中我们接触最多的设备就是交换机,特别是接入层交换机,它是连接用户和交换路由设备的桥梁。但是交换机设备无论性能多么好,都会存在潜在故障问题,就像人一样,无论多么健康,也总会出现一…

MindMaster思维导图及亿图图示会员 优惠活动

MindMaster思维导图及亿图图示会员 超值获取途径 会员九折优惠方法分享给大家!如果有需要,可以上~ 以下是食用方法: MindMaster 截图 亿图图示 截图 如果需要MindMaster思维导图或者亿图图示会员,可按照如下操作领取超值折扣优惠…

java成员变量/局部变量2023017

成员变量/局部变量 1.定义位置不同,成员变量定义在类里,局部变量定义在类的方法里。 来自网络 2.成员变量中,其中类变量从该类的准备阶段起开始存在,直到系统完全销毁这个类,类变量的作用域与这个类的生存范围相同&…

超市进销存之openGauss数据库的应用与实践

目录 一、背景 二、目的 三、什么是“进销存”,什么是超市进销存管理系统? 四、什么是openGauss数据库? 五、应用与实践(模拟超市进销存系统) 1、超市进销存数据库表设计 2、创建数据库表 3、手工插入数据 4、…

Python:使用xlrd过滤execl表中数据

一、写代码前需要注意事项首先我们需要注意:python xlrd库的新版本2.0.1版本移除了对.xlsx格式的支持,只支持.xls格式。报错信息如下:File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/xlrd/__ini…

react17+ts 学习

文章目录前言一、创建一个react项目启动项目项目打包打包命令npm run eject的作用入口文件分析react的设计理念二、创建一个reacttypescript的项目创建项目命令如何让react支持json引入不报错react为什么使用jsxjsx特点jsx命令规范jsx表示对象如何在jsx中防止注入攻击&#xff…

Spring的三种装配机制(XML、JavaConfig、自动配置)

Spring中bean有三种装配机制 一、在xml中显示装配 1. 基本类型装配 Data NoArgsConstructor AllArgsConstructor public class Student{private String name;private Address address;private String[] books;private List<String> hobbys;private Map<String Stri…

Linux常见命令 14 - 软/硬连接命令 ln

目录 1. 软连接 ln -s 2. 硬连接 ln 目前Linux中比较常用的是软连接&#xff0c;硬连接不常用&#xff0c;掌握基本的软连接常识即可 1. 软连接 ln -s 语法&#xff1a;ln -s [源文件] [目标文件] liuSLR:/hd1/Dling/lane/Wmq/test$ ln -s hello.txt hello.txt.soft liuS…

28. 实战:基于selenium实现12306自动购票

目录 前言 目的 思路 代码实现 1. 进入登录界面&#xff0c;输入账号密码 2. 点击登录按钮&#xff0c;完成滑块验证 3. 在个人中心点击购票&#xff0c;跳转 4. 输入出发地、目的地&#xff0c;从控制台输入得到 5. 文本框输入出发日 6. 若是学生票则切换票型 7. 点…