线性回归总结

假设,对于给定一个样本集


现需要找到一条线去尽可能拟合这些点,对于某一点x(i),满足设这条线的方程是,:


我们引入 \begin{align*} x^{(i)}= \begin{bmatrix} x^{(i)}_{1}\\ x^{(i)}_{2}\\ \vdots \\ x^{(i)}_{n}\\ \end{bmatrix} \end{align*} 表示第 i 个输入值,每个输入值有 n 个数据,我们假设一共有 m 个输入值,完整的输入值 x 就是一个 n\times m 的矩阵, \begin{align*} \theta= \begin{bmatrix} \theta_{1}\\ \theta_{2}\\ \vdots \\ \theta_{n}\\ \end{bmatrix} \end{align*} 表示未知参数, \begin{align*} y= \begin{bmatrix} y_{1}\\ y_{2}\\ \vdots \\ y_{n}\\ \end{bmatrix} \end{align*} 表示输出值。

因为输入值 x^{(i)} 与输出值 y^{(i)} 呈现一定的线性关系,所以:

\begin{align*} y^{(i)}=\mathbf{\theta^{\top}}x^{(i)}+\epsilon^{(i)} \end{align*} ,其中 \epsilon^{(i)} 是截距(误差项)。

接着,我们假设所有的 \epsilon^{(i)} 都服从期望为 0 ,方差为 \sigma^{2} 的正态分布,并相互独立,得到:

即:


我们期望得到的概率最大,这里使用了最大似然估计。似然函数 L(\theta):


接下来,求 \theta 的最大值,对两边取对数


要使 \ell(\theta) 最大,只要使 -\frac{1}{2\sigma^{2}}\sum^{m}_{i=1}(y^{(i)}-\mathbf{\theta^{\top}}x^{(i)})^{2} 最大,所以代价函数为:

J(\theta)=\sum^{m}_{i=1}(y^{(i)}-\mathbf{\theta^{\top}}x^{(i)})^{2}通常,为了方便计算:


way1:梯度下降法:

计算偏导数(Gradient)

对 J(\theta) 关于 \theta 的求导数为:



我们循环以下算法直到到达局部最小值:

Repeat{

[for every j]

}

特征缩放:


学习率alpha的选择

随机梯度下降:

普通的梯度下降算法更新一次theta需要载入所有样本,也就是说一次更新的计算量为m*n^2(m为样本数量,n为参数数量)。这样如果m 非常大,我们需要把所有样本都载入,才能更新一次参数theta,更新一次theta的时间太久了。 
而随机梯度下降算法是每次只取一个样本,马上就更新theta


way2:正规方程


正规方程、梯度下降的选择、比较

ps:本文参考:

https://blog.youkuaiyun.com/Antsypc/article/details/74391257

https://zhuanlan.zhihu.com/p/33526940










评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值