浏览量: 166 次浏览

Regression线性回归

2019年7月11日 0 作者 Nie Hen

回归分析(Regression)

比如输入几十年的股票涨跌情况,能够使用一个function,输出下一步股票的预测。
enter description here =525*350

Loss function :估测误差
误差的平方再求和 算出loss function 越大说明效果越差
用来判断 function好坏
loss function =525*350

获取到Best function
可能的w b值都带进去,寻找到一个loss function最下的情况,就是best function
enter description here =525*350
偏导数:在数学中,一个多变量的函数的偏导数(英语:partial derivative)是它关于其中一个变量的导数,而保持其他变量恒定(相对于全导数,在其中所有变量都允许变化)。

梯度下降法(Gradient Descent)

获取最小的损失函数(可能会是局部最小的。)
通过求积分,小于0,曲线下降,往下走,(步数由积分大小决定),到达地方之后再计算积分,小于0,继续往下走,大于0,则说明曲线上升,往反方向走,(步数依旧有积分大小决定),这样不断迭代就会走到谷底,最小值的地方。(也可以理解为求极值点)
参考资料
线性回归模型中的损失函数为平方差损失函数,其是凸函数(可以通过求二次积分可知是凸函数),所以可以使用梯度下降法获取到最小的损失函数。

Gradient Descent =525*350

计算误差
根据loss function找到了最小的损失函数对应的各个参数值
再找到新的测试数据,再进行计算模型误差。
testing data =525*350

构建复杂模型 (Complex Model)

如果误差很大,可以重新设计模型,(可以根据曲线走势来构建合适的模型) 然后分别计算average error(误差)找出最小时的model
可以从一次的函数,到二次函数,三次四次函数。
模型越复杂,训练误差会越小,但是测试误差不一定会越低,越复杂的模型会包含简单的模型,(overfitting)所以有一个较复杂的模型,可以找到较好的模型。

Model selection =525*350

正则化(Regularization)

模型很简单的时候会欠拟合(或叫高偏差,表示没有很好地拟合训练数据)。
模型很复杂的时候会过拟合(或叫高方差,拟合一个高阶多项式,那么这个函数能很好的拟合训练集(能拟合几乎所有的训练数据),但这也就面临函数可能太过庞大的问题,变量太多。)(同时如果我们没有足够的数据集(训练集)去约束这个变量过多的模型,那么就会发生过拟合。)
为了找到一个很好的模型,有两种方法。
第一个方法:人工检查,减少不太重要的变量,保留比较重要的变量(参数),来降低模型的复杂度。
第二个方法就是使用正则化:改变loss function.

其中的参数λ是正则化参数,可以改变。当加上这个参数之后,为了获取到更低的loss function则wi参数值就会降低,相当于要把所有的参数值w都要降低。
我们添加一个额外的正则化项的时候,我们收缩了每个参数。
没有添加b 在实践中这只会有非常小的差异。但是按照惯例,通常情况下我们还是只从 θ1 到 θn 进行正则化。
λ 要做的就是控制在两个不同的目标中的平衡关系。
第一个目标就是我们想要训练,使假设更好地拟合训练数据。我们希望假设能够很好的适应训练集。
而第二个目标是我们想要保持参数值较小。(通过正则化项)
从而来保持假设的形式相对简单,来避免过度的拟合。
如果λ非常的大,则会导致所有的参数接近与0.
通过不同的λ和相应的实验误差和测试误差来得到较好的模型


在这个里面λ为100时较为合适