DataWhale基础算法第一次作业---线性回归

目录

1.线性回归损失函数的极大似然推导:西瓜书公式3.4除了用最小二乘法以外,怎么用极大似然推得?

2:一元线性回归的参数求解公式推导:西瓜书公式3.7和3.8怎么推来的?

公式3.7,3.8推导:(一不小心就出错了,哈哈)

3:多元线性回归的参数求解公式推导:西瓜书公式3.10和3.11怎么推来的?

则3.10推导:

3.11推导:

4:线性回归损失函数的最优化算法:

(1)批量梯度下降(Batch Gradient Descent)

(2)随机梯度下降(Stochastic Gradient Descent)

(3)小批量梯度下降(Mini Batch Gradient Descent)


线性回归是一种回归分析技术,回归分析本质上就是一个函数估计的问题(函数估计包括参数估计和非参数估计),就是找出因变量和自变量之间的因果关系。回归分析的因变量是应该是连续变量,若因变量为离散变量,则问题转化为分类问题,回归分析是一个有监督学习问题。

线性其实就是一系列一次特征的线性组合,在二维空间中是一条直线,在三维空间中是一个平面,然后推广到n维空间,可以理解维广义线性吧。


1.线性回归损失函数的极大似然推导:西瓜书公式3.4除了用最小二乘法以外,怎么用极大似然推得?

线性回归(linear regression):

试图学得一个线性模型以尽可能准确的预测实值。

极大似然估计:

估计类条件概率的一种常用策略是先假定其具有某种确定的概率分布形式,再基于训练样本对概率分布的参数进行估计

推导:

为了使得似然函数lnL(θ)最大,即要最后一行括号内最小,前两项为定值,也就是第三项最小化。也就是误差平法和最小。


2:一元线性回归的参数求解公式推导:西瓜书公式3.7和3.8怎么推来的?

公式3.7,3.8推导:(一不小心就出错了,哈哈)


3:多元线性回归的参数求解公式推导:西瓜书公式3.10和3.11怎么推来的?

先认识下矩阵转置的运算和转置矩阵的偏导数运算规则:

则3.10推导:

3.11推导:


4:线性回归损失函数的最优化算法:

首先,说下梯度下降的原理:

导数的数学定义:

由公式可见,对点x0的导数反映了函数在点x0处的瞬时变化速率,或者叫在点x0处的斜度,也就是x0处切线的斜率。推广到多维函数中,就有了梯度的概念,梯度是一个向量组合,反映了多维图形中变化速率最快的方向。

借用吴恩达在课程中讲解到的梯度下降法更新参数的部分:

(1)批量梯度下降(Batch Gradient Descent)

批量梯度下降法是梯度下降法最原始的形式,它的具体思路是在更新每一参数时都使用所有的样本来进行更新

优点:易于并行运算;

缺点:算法会非常耗时,因为每调整一次模型参数需要都要遍历所有样本;假设max_step固定,耗时将成倍增加。

(2)随机梯度下降(Stochastic Gradient Descent)

意如其名,在每次迭代时,随机的选取一个样本进行运算,反向更新模型参数。

优点:计算一个样本就优化一次参数,训练速度很快;

缺点:由于样本随机性太强,易于陷入局部最优而无法自拔,不易于并行实现。

(3)小批量梯度下降(Mini Batch Gradient Descent)

批量梯度下降计算了所有的样本才更新模型一次;随机梯度下降计算一个样本就更新模型一次,这两种明明就是两个极端啊。

思考:有没有介于两者之间的,别那么傻的,稍微聪明一点的。那就是小批量梯度下降(Mini Batch Gradient Descent)。批量梯度下降是把整个样本集当作一个批量,小批量就是把整个样本集进行拆分了,batch=64,或者32,这样一个小批量集计算一次,然后更新一次参数。

优点:

  • 易于并行实现;
  • 通过矩阵运算,每次在一个batch上优化神经网络参数并不会比单个数据慢太多。

缺点:样本集大小选取不当可能会带来某些问题。

ok.欢迎评论批评指正。

猜你喜欢

转载自blog.csdn.net/wsLJQian/article/details/86652979