1、线性回归
1.1 单变量线性回归
x ——> hypothesis(假设)——> y,此处假设为线性函数,y输出为数值(若是分类则为0或1)
为了让hypothesis尽量根据数据拟合好曲线,需要设计损失函数,并对此损失函数优化。损失函数是参数$\theta$ 的 Cost function:
优化损失函数用到梯度下降法:
为了 $min J(\theta)$,我们采用随机梯度下降方法。(其实也可以用一些矩阵直接计算的方法,最优化里的牛顿法、BFGS等等)
repeat until convergence{
}
展开就是:
注意:
1,学习率影响了梯度下降的步长,一般越大下降越快(但如果最初就在靠近局部最优处,则容易震荡发散),一般设置在0.001~0.003, 取比最大值稍小一点的值即可。
2,不同的初始$\theta$ 可能下降到不同的局部最优点(因此,我们希望损失函数最好是凸函数,线性回归的$J$就是凸函数,是碗面)。
3,数据处理的小技巧,将特征归一化到0-1或者-1-1可以避免量纲影响 x- mean / std。
4,特征工程非常重要,特征组合,平方,开根号等等。
2,逻辑回归LR
逻辑回归是用来解决二分类问题的机器学习方法,用于估计某种事物的可能性。
逻辑回归中x ——> hypothesis(假设)——> y,sigmoid函数将预测值转换为0-1之间的值。
解释:$h_{\theta}(x)$ 是对输入x,y=1的概率估计,$h_{\theta}(x)=P(y=1 / x ; \theta)$ 给定特征x与参数$\theta$时,y=1的概率。也可以这样理解,一个事件的发生几率指的是该事件发生的概率p与该事件不发生的概率1-p的比值。
LR中,输出Y=1的对数几率是输入x的线性函数。
损失函数这里有所不同,因为sigmoid函数代入到平方误差中得到$J$ 是非凸函数,所以cost function用的是交叉熵(信息量中度量不确定性的度量)。
这个非常像似然函数。
LR的梯度下降公式(对各个参数的偏导 or 链式求导),因为sigmoid函数求导特殊g(z)’ = g(z) (1-g(z))’。
推导过程:
最后代入化简即可。
其实逻辑回归还可以用于多分类问题上,分别拟合三个分类器$h_{\theta}^{(i)}(x)$,选择 $max {h_{\theta}^{(i)}(x)}$的类i。
注意:
优点:
1,对逻辑回归来说,多重共线性并不是问题,它可以结合L2正则化来解决
2,属于判别式模型
3,在线梯度下降算法-online gradient descent
4,便利的观测样本概率分数
缺点
1,特征空间很大时,逻辑回归的性能不是很好(不能很好地处理大量多类特征或变量,one hot很大)
2,容易欠拟合,一般准确度不太高;
3,对于非线性特征,需要进行转换。
3,过拟合与正则化
3.1 欠拟合与过拟合
欠拟合:模型过于简单,underfit,带来高偏差high bias,就是说模型偏见很强;
过拟合:模型复杂,overfit,太过于拟合训练数据,经验误差虽小但结构误差大,无法拟合新数据。
避免过拟合的方法:数据增强more data,简化模型(早停,限制权值正则化,多种模型Bagging,Boosting),增加噪声,集成ensemble,贝叶斯等。
3.2 正则化
正则化,损失部分尽量拟合数据,后面部分尽量保持参数较小,起到正则化作用。
线性回归的损失函数:
逻辑回归的损失函数
另外可以参考 https://zhuanlan.zhihu.com/p/25707761
4,优化方法复习
4.1 最速下降法即负梯度方向
则需要$min{P^T \nabla f(x_k)}$
此处$\alpha$是学习率
一般来说,损失函数偏碗状的时候,比较圆的时候,下降比较快。如果,函数形状椭圆形,会来回震荡着走。
4.2 牛顿法
牛顿法考虑二阶导信息
则$P = - \nabla^2 f(x_k)^{-1} \nabla f(x_k)$
此处二阶导大于0,即要求$\nabla^2 f(x_k)$ 正定。
总结:逻辑回归主要是增加了一个sigmoid函数,将预测值映射为概率。为了避免损失函数变为非凸函数,损失函数变为对数损失函数。