目录:
一、逻辑回归原理
二、预测函数
三、损失函数推导与求解
四、正则化与模型评估
五、类型不平衡问题
六、sklearn参数
算法梳理之逻辑回归(Logistic Regression)
逻辑回归(Logistic Regression简称LR)是机器学习中很重要的一种分类模型,应用很广泛,同时逻辑回归也叫对数几率回归。
一、逻辑回归原理
在我们处理一个回归或者分类问题时,通常会使用逻辑回归,此时需要建立损失函数,然后通过优化方法迭代求解出最优的模型参数,然后通过测试集验证我们所求解的模型的健壮性。
具体概括逻辑回归就是三个步骤:
- 选择合适的预测函数
- 建立损失函数
- 使用最优化方法求解使得损失函数最小的回归参数
二、预测函数
逻辑回归中选择 Sigmoid函数作为预测函数。
Sigmoid函数:
g
(
z
)
=
1
1
+
e
−
z
g(z)=\frac{1}{1+e^-z}
g(z)=1+e−z1
由这个函数可得:当z趋于正无穷时,g(z)趋于1,而当z趋于负无穷时,g(z)趋于0。
对该函数求导有:
g
′
(
z
)
=
g
(
z
)
(
1
−
g
(
z
)
)
g'(z)=g(z)(1-g(z))
g′(z)=g(z)(1−g(z))
三、损失函数推导与求解
损失函数推导:
二元逻辑回归:样本输出为0或1
牛顿法求解:
四、正则化与模型评估
正则化主要用来解决过拟合(overfitting)的问题,思想就是给代价函数后面加个“惩罚项”,从而降低它对数据的拟合能力。
模型在训练集上的误差通常称为 “训练误差” 或 “经验误差”,而在新样本上的误差称为 “泛化误差”。显然,机器学习的目的是得到泛化误差小的学习器。然而,在实际应用中,新样本是未知的,所以只能使训练误差尽量小。
当模型在训练集上表现很好而在新样本上误差很大时,称为 “过拟合”;反之,模型在训练集上误差就很大时,称为 “欠拟合”。
欠拟合通常容易解决,如 增加数据、增大训练次数、增大学习率或使用更复杂的模型 等。
过拟合则很难解决,常用的方法包括 简化模型,减少特征,更多的数据,交叉验证,正则化,Dropout,Shuffling 等。
奥卡姆剃刀定律:如无必要,勿增实体。即机器学习模型越简单,那么久越可能获得泛化误差小的学习器。
所以,为了得到泛化误差小的模型,并避免过拟合,在构建机器模型时,通常将 数据集拆分 为相互独立的训练数据集、验证数据集和测试数据集等,而在训练过程中使用验证数据集来评估模型并据此更新超参数,训练结束中使用测试数据集评估训练好的最终模型的性能。
五、类型不平衡问题
类别数据不均衡是分类任务中一个典型的存在的问题。就是指在一个具体的分类问题中,基于给定的数据集关于几个类别进行分类,类别间划分到的数据差距过大,也可以借用数据处理过程中经常发生的一种现象描述:数据倾斜。
六、sklearn参数
LR sklearn参看
LogisticRegression类的各项参数的含义
class sklearn.linear_model.LogisticRegression(penalty='l2',
dual=False, tol=0.0001, C=1.0, fit_intercept=True,
intercept_scaling=1, class_weight=None,
random_state=None, solver='liblinear', max_iter=100,
multi_class='ovr', verbose=0, warm_start=False, n_jobs=1)
参考文章:
西瓜书
https://feisky.xyz/machine-learning/basic/evaluation.html
https://blog.youkuaiyun.com/heyongluoyao8/article/details/49408131
https://www.jianshu.com/p/e51e92a01a9c