(二)逻辑回归算法梳理
1、逻辑回归与线性回归的联系与区别
联系:逻辑回归是线性回归中广义线性模型的应用以进行分类任务。找了一个单调可微函数将分类任务的真实标记与线性回归模型的预测值联系起来。
区别:
- 线性回归是线性模型进行回归学习,逻辑回归是分类学习(二分类)。
- 模型不同:
线性回归模型:
hθ(X)=θTXh_\theta(X) = \theta^TXhθ(X)=θTX
逻辑回归模型:
hθ(X)=11+e−θTX h_\theta(X) = \frac{1}{1+e^{-\theta^TX}} hθ(X)=1+e−θTX1
2、逻辑回归的原理
利用线性回归解决分类问题并不适用。如,二分类,我们需要使得假设的值总是在0到1之间,线性回归无法做到,那么就想到找一个模型的输出是0/1,理想的是单位阶跃函数,而单位阶跃函数不连续(横坐标为0时),无法应用,则找寻了一个单调可微替代函数—对数几率函数来作模型(见1)。
3、逻辑回归损失函数推导及优化
P(y=1∣X;θ)=hθ(X)−−假设在估计y=1的概率P(y=1|X;\theta) = h_\theta(X)--假设在估计y=1的概率P(y=1∣X;θ)=hθ(X)−−假设在估计y=1的概率
则P(y=0∣X;θ)=1−hθ(X)则P(y=0|X;\theta) = 1 - h_\theta(X)则P(y=0∣X;θ)=1−hθ(X)
则P(y∣X;θ)=[hθ(X)]y[1−hθ(X)]1−y则P(y|X;\theta) = [h_\theta(X)]^y[1-h_\theta(X)]^{1-y}则P(y∣X;θ)=[hθ(X)]y[1−hθ(X)]1−y
对此进行参数拟合
L(θ)=P(y⃗∣X;θ)L(\theta) = P(\vec{y}|X;\theta)L(θ)=P(y∣X;θ)
=∏jmP(y∣X;θ)=\prod_{j}^mP(y|X;\theta)=∏jmP(y∣X;θ)
=∏jm[hθ(X)]y[1−hθ(X)]1−y=\prod_{j}^m[h_\theta(X)]^y[1-h_\theta(X)]^{1-y}=∏jm[hθ(X)]y[1−hθ(X)]1−y
to find θ\thetaθ to maximize L(θ)L(\theta)L(θ),则
l(θ)=logL(θ)l(\theta) = logL(\theta)l(θ)=logL(θ)
=∑j=1myj[hθ(X)]+(1−yj)([1−hθ(X)])=\sum_{j=1}^m{y^j[h_\theta(X)]+(1-y^j)([1-h_\theta(X)])}=∑j=1myj[hθ(X)]+(1−yj)([1−hθ(X)])
损失函数:对数损失函数—参数模型的对数似然函数最大化对应损失函数极小化
J(θ)=−1ml(θ)J(\theta) = -\frac{1}{m}l(\theta)J(θ)=−m1l(θ)
=−1m∑j=1myj[hθ(X)]+(1−yj)([1−hθ(X)])= -\frac{1}{m}\sum_{j=1}^m{y^j[h_\theta(X)]+(1-y^j)([1-h_\theta(X)])}=−m1∑j=1myj[hθ(X)]+(1−yj)([1−hθ(X)])
4、正则化与模型评估指标
损失函数后添加的额外项,两种:L1-norm 及L2-norm两种(L1正则化和L2正则化 或 L1范数和L2范数)
可看作是损失函数的惩罚项--------用于对损失函数中某些参数做出一些限制
θ\thetaθ:是回归中表示特征的参数
L1正则化是指权值向量θ\thetaθ中各个元素的绝对值之和,通常表示为||w||1------产生稀疏权值矩阵,用于特征选择(一定程度上也可防止过拟合)
L2正则化是指权值向量θ\thetaθ中各个元素的平方和然后再求平方根,通常表示为||w||2-----防止模型过拟合
5、逻辑回归的优缺点
优点:
直接对分类可能性进行建模,无需事先假设数据分布,避免了假设分布不准带来的问题。
不是仅预测出“类别”,而是可得到近似概率预测—对需要利用概率作辅助决策的任务很有用
模型所用对数几率函数是任意阶可导凸函数,可直接用于求取最优解
缺点:
只适用于二分类,无法解决多分类问题(softmax回归)
6、样本不均衡问题解决办法
- 再缩放:即调整预测值,将原先几率比值y1−y\frac{y}{1-y}1−yy乘上观测几率m+m−\frac{m^+}{m^-}m−m+作新的决策规则,其中y是预测出的y值,y是反应将x视为正例的可能性,1-y是反例可能性,m+指的是训练集中正例数目,m-是训练集中反例数目。
- 欠采样
- 过采样
- 阈值移动
7、sklearn参数
scikit-learn中三个与逻辑回归相关的库:
LogisticRegression、LogisticRegressionCV、logistic_regression_path
solver参数----逻辑回归中损失函数优化:
liblinear:使用坐标轴下降法来迭代优化损失函数
lbfgs:利用损失函数Hessian矩阵来迭代优化损失函数
newton-cg:利用损失函数Hessian矩阵来迭代优化损失函数
sag:随机平均梯度下降,每次迭代仅使用部门样本来计算梯度,适用于样本较多时候
- 算法梳理(二)逻辑回归
- 算法初步梳理 任务二 逻辑回归算法梳理
- 算法梳理之逻辑回归
- 算法梳理二:逻辑回归
- 逻辑回归算法梳理
- Datawhale-初级算法梳理-Day2-逻辑回归算法梳理
- 02算法梳理2-逻辑回归
- task2-逻辑回归算法梳理
- 分类算法之逻辑回归
- Logistic Regression——逻辑回归算法推导
- logistic regression (逻辑回归算法)
- 使用sk-learn开发逻辑回归算法
- 我对逻辑回归算法理论的理解(公式推导)
- 分类-1-逻辑回归(Logistic regression)、感知学习算法(perceptron learning algorithm)、牛顿迭代法
- 局部加权回归、逻辑斯蒂回归、感知器算法—斯坦福ML公开课笔记3
- 机器学习各个算法2---逻辑回归
- Logistic 回归 逻辑回归算法。
- Logistic Regression--逻辑回归算法汇总
- 逻辑回归算法原理
- 吴恩达-DeepLearning.ai-Course1-Week2-实现逻辑回归算法-编程作业笔记