机器学习经典算法:逻辑回归(Logistic Regression)
机器学习经典算法:逻辑回归(Logistic Regression)
逻辑回归(Logistic Regression)是机器学习中一种非常重要的分类算法,主要用于解决二分类问题。它通过学习线性模型和应用逻辑函数(Sigmoid)将输出映射到概率值(0到1之间),能够根据输入特征预测样本属于某一类别的概率。逻辑回归简单高效,易于解释,广泛应用于信用风险评估、医疗诊断和用户行为预测等领域。
逻辑回归的基本概念
逻辑回归(Logistic Regression)是目前各行业最常用的分类方法,属于线性回归的拓展。主要用于解决二分类问题,通过学习线性模型和应用逻辑函数(Sigmoid)将输出映射到概率值(0到1之间)。它根据输入特征预测样本属于某一类别的概率,常用于分类任务,如信用风险评估、医疗诊断和用户行为预测。逻辑回归简单高效,易于解释,适合线性可分的数据,同时也能通过扩展支持多分类和非线性特征处理。
特点:
该算法联系了样本的特征和样本发生概率(p ^ = f ( x ) \hat p = f(x)p^ =f(x)),在运算上由于概率值本身是一个数值,因此该方法分类方法被称为回归方法。算法最终得到样例的预测概率值p ^ \hat pp^ 用于分类问题。所以逻辑回归既可以看作是回归算法,也可以看作是分类算法,通常作为分类算法使用,只可以解决二分类问题。
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
逻辑回归的基本原理
逻辑回归源于线性回归的拓展,具体思路是将线性回归的样本输出预测值到样本概率值的一个转换过程。在线性回归y ^ = f ( x ) = θ T ⋅ x b \hat y = f(x) = \theta^T \cdot x_by^ =f(x)=θT⋅xb 中,有预测的样本标记输出值y ^ ∈ ( − ∞ , ∞ ) \hat y \in (-\infty,\infty)y^ ∈(−∞,∞)。为了使样本输出值y ^ \hat yy^ 转换为概率值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 SigmoidSigmoid函数转换样本值为样本概率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.
逻辑回归的优化目标
对于给定的样本集X XXX和样本分类y yyy,找到参数θ \thetaθ, 使得用Sigmoid转换可以最大程度获得样本数据集X XXX对应的分类输出y yyy。
目标函数的定义
对于二分类问题,样本输出标记取值为离散变量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 pp^ 越小,则有惩罚越大;如果样本真值为0,当前θ \thetaθ下的预测概率值p ^ \hat pp^ 越大,则有惩罚越大;从而回归的目标为取得最小惩罚下对应的参数θ \thetaθ值。
惩罚函数的选取
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 = 1y=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