机器学习笔记week2(Andrew NG)

本文深入探讨了多元线性回归的概念及其应用,包括梯度下降、特征缩放、均值归一化等关键技术,并介绍了正规方程求解方法及其与梯度下降的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

机器学习笔记week2(Andrew NG)

martin


Linear Regression with Multiple Variable(多元线性回归)

在week1中讨论了单一变量的线性回归,但是在week2中我们会讨论多变量的线性回归,也即是多元线性回归。在week1中的预测房价的例子中输入变量只有一个即房子的面积,在week2中我们会根据房子的多种指标来预测房价。

2.png-185.6kB

n代表了输入变量 x 中每一个数据含有的特征数。


选择题1

1.png-41.3kB


由于输入变量由单一变向多元,所以我们的假设函数也要随之变换:

3.png-192.3kB

可以从图片中看到,我们的假设函数变成了:

hθ(x)=θ0+θ1x1+θ2x2+...+θnxn

为了方便,我们通常定义 x0=1 ,这样的话输入变量 x 就包含了x0 n 维变成了n+1维,同样参数 θ 也从 n 维变成了n+1维。所以可以分别把输入变量 x 和参数θ写成向量的形式:

4.png-4.5kB

于是假设函数就变成了:

hθ(x)=θTX


Gradient Descent in Multivariate Linear Regression(多元线性回归中的梯度下降)

多元线性回归中的梯度下降的原理与单变量的一模一样,只是增加了多个求导项而已,下图给出了二者之间的对比:

2.png-190.3kB

左图是单变量(n=1)的参数更新,右图是多元(n>=1)的参数更新。可以看到二者其实没有什么差异。


选择题2

1.png-52.1kB


对于输入向量的特征这里还有些需要注意的事项: 。先来说说特征缩放:

2.png-222.6kB

为什么要采用特征缩放呢?从这附图中可以看出端倪。上图中的左边是未经特征缩放的关于 θ1 θ2 的轮廓图,右图是经过特征缩放的轮廓图,可以看出来左图比较 ,右图比较 。产生这种形状的原因是当输入变量的各个特征变量的范围相差很大时就会出现瘦长的轮廓图,而这种未经处理的特征在进行梯度下降时会走好多弯路,在曲折中前进震荡数次才会到达我们想要的终点,而经过处理的特征所呈现的轮廓图比较饱满,在进行梯度下降时会很快的进行收敛,有效的减少了震荡的次数,会径直的奔向终点。

3.png-125.2kB

再来说说均值归一化,这个算是特征缩放的加强版,作用与前者一样,下图就是均值归一化的运算公式和步骤:

4.png-187.3kB

如果样本的特征不是很好,那么我们可以运用归一化来代替原本的特征,这里有三种形式的归一化:

1、把数变成(0,1)之间的小数: x=xsum

2、把有量纲表达式变成无量纲表达式,并映射到(0,1): x=xminmaxmin

3、把有量纲表达式变成无量纲表达式,并映射到(-1,1): x=xμσ


下面再来说说学习速率 α 的选择问题。正常情况下,当 α 选择适当,那么随着迭代的进行函数的代价函数会逐渐降低直至收敛:

5.png-173.7kB


但是,当 α 选择的过大时会导致震荡越过最优点,选择的过小时则会降低收敛的速度:

1.png-197kB


选择题3

2.png-69.9kB


Features and Polynomial Regression(特征与多项式回归)

可以将多项式回归变成线性回归,期间要进行特征缩放或者均值归一化:

1.png-399.3kB


选择题4

3.png-44.7kB


Normal Equation(正规方程)

在某些时候用正规方程来求解参数 θ 的最优值效果会更好。相比用梯度下降方法用迭代来逐步求解最优值,正规方程可以一次性求解出最优值。这是正规方程的优点,当然也有缺点。在介绍它的优缺点之前我们先来看看什么是正规方程:

2.png-94.1kB

m 个数据集构成一个大的矩阵集合X,我们称这个矩阵集合为设计矩阵。每一个 x 都是n+1维的,所以 X 是一个m×(n+1)维的矩阵。需要注意的是每个 x 里面的x0=1


选择题5

1.png-56kB


有了 X y的定义那么接下来的 θ 就好求了,给出正规方程的式子:

θ=(XTX)1XTy


之前有说过梯度下降和正规方程各有优缺点,下图中已标出:

3.png-179.5kB

简而言之,就是当特征 n 不是特别大的时候,比如n=100,n=1000甚至 n=10000 时都可以采用正规方程,但是如果 n 继续增大就要考虑使用梯度下降了,因为当n特别大时计算 XTX 的逆矩阵是比较费时间的。


小节测试题1

1.png-57kB

解析

  • μ=(89+72+94+69)4=81 S=maxmin=9469=25 ,故
    x(1)1=x(1)1μS=0.32

小节选择题2

2.png-39.2kB

小节选择题3

3.png-34.5kB

小节选择题4

4.png-40.6kB

解析

  • 当输入变量的特征大于 104 时就要考虑梯度下降时而不是正规方程了,因为当特征维数特别大时,矩阵的计算、求逆会变得特变慢。

小节选择题5

5.png-28.5kB

解析

  • 特征缩放唯一能解决的就是在梯度下降时带来的速度的提升,并不能改变正规方程计算的速度。

Octave/Matlab Tutorial(Octave/Matlab教程)

基本操作

1.png-32.3kB
1.png-17.5kB
1.png-5.3kB
1.png-8.6kB
1.png-4.2kB
1.png-11.2kB
1.png-33.4kB


移动数据

1.png-8.8kB
2.png-9.3kB
1.png-10.9kB
1.png-16.5kB
1.png-23.2kB
1.png-14.5kB
1.png-11.7kB
1.png-9.2kB
1.png-6.5kB
1.png-9.4kB
1.png-11.8kB
1.png-4.6kB


数据计算

1.png-23.2kB
1.png-33.1kB
1.png-20.7kB
1.png-7.2kB
1.png-29.5kB
1.png-16.9kB


绘制数据

1.png-23.1kB
1.png-4.7kB
1.png-9.3kB
1.png-11.6kB
1.png-4.3kB
1.png-10.8kB
1.png-19.3kB
1.png-12kB
1.png-7.2kB
1.png-14.1kB
1.png-7.9kB


控制语句

  • for循环

1.png-10.5kB

注意,Octave里面的for是可以循环到最后一个迭代元素的,也就是上如上图i是可以等于10的。

  • while循环

1.png-7.4kB

  • break

1.png-16.1kB

  • if语句

1.png-23.9kB

  • 定义函数
    编辑器:
    1.png-10.8kB
    命令行:
    1.png-6kB

问题描述:
1.png-38.2kB
构建一个损失函数来计算图中三点的误差。
编辑器:
1.png-23.9kB
命令行:
1.png-12.4kB

小结测试题1
1.png-23.7kB


小结测试题2
2.png-22.1kB


小结测试题3
3.png-29kB


小结测试题4
4.png-25.6kB


小结测试题5
5-3.png-56.2kB

解析

  • 对于数值运算(即二者不同时为矩阵)./与/是一回事。如:
>> a=[1 2;3 4];
>> b=[1 2;3 4];
>> a/b
ans =
     1     0
     0     1
>> a./b
ans =
     1     1
     1     1

a/b相当于a乘b的逆,a./b是a的每个元素与b的每个元素对应相除。

>> a=[1 2 3 4 5];
>> b=3;
>> a./b
>> a/b

这种情况下,结果就是一样的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值