逻辑回归(Logistic Regression) 是目前各行业最常用的分类方法,属于 线性回归的拓展。主要用于解决二分类问题,通过学习线性模型和应用逻辑函数(Sigmoid)将输出映射到概率值(0到1之间)。它根据输入特征预测样本属于某一类别的概率,常用于分类任务,如信用风险评估、医疗诊断和用户行为预测。逻辑回归简单高效,易于解释,适合线性可分的数据,同时也能通过扩展支持多分类和非线性特征处理。
特点:
该算法联系了样本的特征和样本发生概率( p ^ = f ( x ) \hat p = f(x) p^=f(x)),在运算上由于 概率值 本身是一个数值,因此该方法分类方法被称为回归方法。算法最终得到样例的预测概率值 p ^ \hat p p^ 用于 分类问题。所以逻辑回归既可以看作是回归算法,也可以看作是分类算法,通常作为分类算法使用,只可以解决二分类问题。
y ^ = { 0 , p ^ ≤ 0.5 ; 1 , p ^ ≥ 0.5 \hat y = \left\{ \begin{aligned} 0,\hat p \le 0.5; \\ 1,\hat p \ge 0.5 \end{aligned} \right. y^={ 0,p^≤0.5;1,p^≥0.5
1、逻辑回归的基本原理
逻辑回归源于线性回归的拓展,具体思路是将线性回归的样本输出预测值到样本概率值的一个转换过程。在线性回归 y ^ = f ( x ) = θ T ⋅ x b \hat y = f(x) = \theta^T \cdot x_b y^=f(x)=θT⋅xb中,有预测的样本标记输出值 y ^ ∈ ( − ∞ , ∞ ) \hat y \in (-\infty,\infty) y^∈(−∞,∞)。为了使样本输出值 y ^ \hat y y^ 转换为概率值 p ^ ∈ [ 0 , 1 ] \hat p \in [0,1] p^∈[0,1],可通过Sigmoid 函数 转换 样本值 到 样本概率 p ^ = σ ( θ T ⋅ x b ) \hat p = \sigma(\theta^T\cdot x_b) p^=σ(θT⋅xb)。
关于Sigmoid 函数
σ ( t ) = 1 1 + e − t \sigma (t) = \frac {1}{1+e^{-t}} σ(t)=1+e−t1
Sigmoid 曲线具有如下性质:
- 函数曲线最左端无限趋近于0,函数曲线最右端无限趋近于1;值域 σ ( t ) ∈ ( 0 , 1 ) \sigma (t) \in (0,1) σ(t)∈(0,1),因此很方便地用于表达概率;
- { p > 0.5 , t > 0 ; p < 0.5 , t < 0 \left \{ \begin{array}{c} p > 0.5, t>0; \\ p<0.5,t<0 \end{array} \right. { p>0.5,t>0;p<0.5,t<0
使用 S i g m o i d Sigmoid Sigmoid 函数转换样本值为样本概率 p ^ = 1 1 + e − ( θ T ⋅ x b ) \hat p = \frac {1}{1+e^{-(\theta^T\cdot x_b)}} p^=1+e−(θT⋅xb)1,进一步基于样本概率进行二分类任务 y ^ = { 1 , p ^ ≥ 0.5 ; 0 , p ^ ≤ 0.5. \hat y = \left\{ \begin{array}{c} 1, \hat p \ge 0.5; \\0,\hat p \le 0.5. \end{array}\right. y^={ 1,p^≥0.5;0,p^≤0.5.
1.2 逻辑回归的优化目标
对于给定的样本集 X X X和样本分类 y y y,找到参数 θ \theta θ, 使得用 Sigmoid 转换可以最大程度获得样本数据集 X X X对应的分类输出 y y y。
1.2.1 目标函数的定义
对于二分类问题,样本输出标记取值为离散变量 y ∈ { 0 , 1 } y\in \{0,1\} y∈{ 0,1}。使用 Sigmoid 框架来获取样本特征到样本概率 ,再实现样本离散值标记的转换的时候。由于原始样本标记是一个离散值,而逻辑回归输出标记是一个分类概率值,意味着不能通过与类似线性回归等算法建立预测值与标记值的误差函数作为优化目标。
逻辑回归的损失函数定义建立在离散的样本标记上,定义如下 惩罚函数 :
c o s t = { 如果 y = 1 , p ^ 越小, c o s t 越大 如果 y = 0 , p ^ 越大, c o s t 越大 cost = \left\{ \begin{array}{c} \small {如果 y=1 , \hat p 越小,cost越大} \\ \small {如果 y=0 , \hat p 越大,cost越大}\end{array}\right. cost={ 如果y=1,p^越小,cost越大如果y=0,p^越大,cost越大
在进行逻辑回归的时候,如果样本 真值为1,当前 θ \theta θ下的预测概率值 p ^ \hat p p^越小,则有 惩罚越大;如果样本 真值为0,当前 θ \theta θ下的预测概率值 p ^ \hat p p^越大,则有惩罚越大;从而回归的目标为取得 最小惩罚下 对应的 参数 θ \theta θ值。
1.2.2 惩罚函数的选取
c o s t = { − l o g ( p ^ ) i f y = 1 − l o g ( 1 − p ^ ) i f y = 0 cost = \left\{ \begin{array}{c} -log(\hat p) \ \ \ \ \ \ \ \ \ \ \ if \ \ \ y = 1 \\ -log(1 - \hat p) \ \ \ \ if \ \ \ y = 0 \end{array}\right. cost={ −log(p^) if y=1−log(1−p^) if y=0
- 当 y = 1 y = 1 y=1时,使用 c o s t ( p ^ ) = − l o g ( p ^ ) cost(\hat p) = -log(\hat p) cost(p^)=−log(p^) 作为惩罚函数, p ^ ∈ [ 0 , 1 ] \hat p \in [0,1] p^∈[0,1] ,当 p ^ → 0 \hat p \to 0