数值分析:最小二乘与岭回归(Pytorch实现)

本文介绍了最小二乘法的数值计算和统计学视角,并从这两种角度推导了正规方程。此外,还探讨了Ridge回归与Lasso正则化,展示了它们在防止过拟合中的作用。文章通过Python和Pytorch实现了这些概念。
摘要由CSDN通过智能技术生成

Python微信订餐小程序课程视频

https://edu.csdn.net/course/detail/36074

Python实战量化交易理财系统

https://edu.csdn.net/course/detail/35475

Chapter 4

1. 最小二乘和正规方程

1.1 最小二乘的两种视角

从数值计算视角看最小二乘法
我们在学习数值线性代数时,学习了当方程的解存在时,如何找到Ax=b\textbf{A}\bm{x}=\bm{b}的解。但是当解不存在的时候该怎么办呢?当方程不一致(无解)时,有可能方程的个数超过未知变量的个数,我们需要找到第二可能好的解,即最小二乘近似。这就是最小二乘法的数值计算视角。

从统计视角看最小二乘法
我们在数值计算中学习过如何找出多项式精确拟合数据点(即插值),但是如果有大量的数据点,或者采集的数据点具有一定的误差,在这种情况下我们一般不采用高阶多项式进行拟合,而是采用简单模型近似数据。这就是最小二乘法的统计学视角。

1.2 数值计算的角度推导正规方程

对于线性方程组Ax=b\textbf{A}\bm{x}=\bm{b},A\textbf{A}为n×mn\times m的矩阵,我们将A\textbf{A}看做Fm→Fn\textbf{F}^m \rightarrow \textbf{F}^n的线性映射。对于映射A\textbf{A},方程组无解的情况对应于b∉range(A)\bm{b}∉\text{range}(\textbf{A}),即b\bm{b}不在映射A\textbf{A}的值域内,即b∉{Ax|x∈Rm}b∉ {\textbf{A}\bm{x} | \bm{x}∈\textbf{R}^{m}}。(而这等价于b\bm{b} 不在矩阵A\textbf{A}的列向量 的张成空间中)。我们对于

(111−111)(x1x2)=(213)\left (
\begin{matrix}
1 & 1 \
1 & -1 \
1 & 1
\end{matrix}
\right)
\left(
\begin{matrix}
x_1 \
x_2
\end{matrix}
\right)=
\left(
\begin{matrix}
2 \
1 \
3
\end{matrix}
\right)
将(111)\left( \begin{matrix} 1\ 1\ 1 \end{matrix}\right)视为列向量a1\bm{a}_1,(1−11)\left(\begin{matrix}1\-1\1\end{matrix}\right)视为列向量a2\bm{a}_2,(213)\left(\begin{matrix}2\1\3\end{matrix}\right)视为列向量b\bm{b},则该线性系统如下图所示:
电影爱好者的评分情况示意图

虽然解x\bm{x}不存在,但我们仍然想要找到所有候选点构成的平面Ax\textbf{A}\bm{x}中存在的与b\bm{b}最接近的点¯x\overline{\bm{x}}(读作x\bm{x}_bar)。

观察图1,我们发现特殊向量A\textbf{A}具有以下特点:余项b−A¯x\bm{b}-\textbf{A}\overline{\bm{x}}和平面{Ax|x∈Rn}{\textbf{A}\bm{x} | \bm{x} \in \textbf{R}^n }垂直。即对于Rn\textbf{R}^n上的所有x\bm{x},都有向量Ax\textbf{A}\bm{x}和向量b−A¯x\bm{b}-\textbf{A}\overline{\bm{x}}正交,即⟨Ax,b−A¯x⟩⩾0\langle \textbf{A}\bm{x},\bm{b}-\textbf{A}\overline{\bm{x}}\rangle \geqslant0,写成矩阵乘法的形式,我们有:

(Ax)T(b−A¯x)=0(\textbf{A}\bm{x})^T(\bm{b}-\textbf{A}\overline{\bm{x}})=0
基于矩阵转置的性质,我们有:

xTAT(b−A¯x)=0\bm{x}T\textbf{A}T(\bm{b}-\textbf{A}\overline{\bm{x}})=0
因为对x\bm{x}取任意值该式子都满足,那我们必须有:

AT(b−A¯x)=0\textbf{A}^T(\bm{b}-\textbf{A}\overline{\bm{x}})=0
然后我们就得到了正规方程(因为我们这里用法线推导出来的,也可称为法线方程):

ATA¯x=ATb\textbf{A}T\textbf{A}\overline{\bm{x}}=\textbf{A}T\bm{b}
该方程的解¯x\overline{\bm{x}}是方程组Ax=b\textbf{A}\bm{x} = \bm{b}的最小二乘解。如果我们采用数值优化的形式而不是解析的形式,这个最小二乘解也可以看做优化式子argminx12||Ax−b||2\underset{x}{\text{argmin}} \frac{1}{2} ||\textbf{A}\bm{x} − \bm{b}||^2的解。

1.3 统计的角度推导正规方程

统计里面有一个常用的模型叫做线性回归,将数据矩阵X∈Rm×n\textbf{X}∈\textbf{R}^{m\times n}(mm 个样本, nn 个特征维度)做为输入,预测的向量y∈Rm\bm{y}∈\textbf{R}^m(m\bm{m}个样本,每个样本一个标签)做为输出。线性回归的输出是输入的线性函数,令ˆy\hat{\bm{y}}表示模型预测y\bm{y}应该取的值。 我们定义

ˆy=Xw \hat{\bm{y}}=\textbf{X}\bm{w}
其中w∈Rn\bm{w}∈\textbf{R}^n是参数(parameter)向量。

接下来我们采用机器学习的视角。《机器学习:一种人工智能方法》中Tom.Mitchell 对机器学习的定义是&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值