logistic回归与正则化
常用损失函数
- 0-1损失函数
一般用于分类。 - 平方损失
一般用于回归,假设误差项服从高斯分布,有极大似然估计可推出平方损失函数。
平方损失函数对异常值敏感,绝对损失函数以及Huber损失函数对异常值鲁棒
以下是Huber损失函数 - 绝对损失
- 对数损失或对数似然损失
- 合页损失函数(hinge loss)
一般用于分类
逻辑回归损失函数
逻辑回归的损失函数、代价函数以及目标 函数如下图所示:
逻辑回归的损失函数可以从两个角度分析:
1. 极大似然
2. 交叉熵
如下图所示:
参数估计
- 极大似然估计
适用于不含隐变量,以最小化经验风险函数为目标函数。 - 最大后验估计(贝叶斯)、
适用于不含隐变量,以最小化经验风险函数和结构风险函数为目标函数的参数求解,即含有正则化项的目标函数。 - EM估计
适用于含有隐变量的模型参数求解,直观理解,k-means过程,将聚类类别个数和各类中心点最为隐变量,赋初值给隐变量,将数据聚成P类,计算P类新的中心点,有该新的中心点进行下一轮的求解计算。
模型选择方法
- 正则化
- 交叉验证
过拟合,欠拟合
- 过拟合:对已知数据建模效果好,对未知数据建模效果不好。
- 欠拟合:对已知数据和未知数据建模效果都不好。
逻辑斯蒂回归
- 对数几率线性回归
- 求解给定实例(实数)x情况下,求该实例属于不同类别的概率,并将概率较大的类别定义为实例x应属于的类别。
- 利用sigmoid分布函数求解实例x的条件概率分布。
- 可做二分类和多分类,模型简单,可解释性好,是一种广义线性模型,方便做大规模分布式计算。
- 损失函数为对数损失函数,优化目标函数为交叉熵即:
- 可用极大似然估计求解模型参数。
梯度下降跟新参数:
优化目标函数对参数的导数为: - 有多种模型调整方式,方便做模型维护,增加特征数,加正则化项,对于非线性性可分,可进行特征融合等处理方式,另外对二值特征有较好的表现。
- 模型输出为概率,可做分类和排序,模型结果易于解释。
- 连续特征二值化,onehot编码的好处对于logistic回归来说:
1)引入非线性化,形成特征交叉
2)增加模型鲁棒性,稳定性,即对异常输入不敏感。
3)稀疏向量内积乘法运算速度快,计算结果方便存储,容易scalable(扩展)。
L1、L2、L0正则化
L0正则化的值是模型参数中非零参数的个数。
L1正则化表示各个参数绝对值之和。
L2正则化标识各个参数的平方的和的开方值。
- L1正则假设参数的先验分布是Laplace分布,可以保证模型的稀疏性,也就是某些参数等于0;
- L2正则假设参数的先验分布是Gaussian分布,可以保证模型的稳定性,也就是参数的值不会太大或太小 ;
- 在实际应用过程中,L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。Lasso在特征选择时候非常有用,而Ridge就只是一种规则化而已。在所有特征中只有少数特征起重要作用的情况下,选择Lasso比较合适,因为它能自动选择特征。而如果所有特征中,大部分特征都能起作用,而且起的作用很平均,那么使用Ridge也许更合适。
参考文献
1. 不同分类算法的优缺点是什么?
2. 常见机器学习算法优缺点比较
3. L0,L1,L2正则化浅析
4. 逻辑回归LR的特征为什么要先离散化