机器学习逻辑回归(LR)

基本原理

也称为对数几率回归
知识点

  1. 首先LR是一个分类模型,经典的二分类算法。
  2. 逻辑回归就是这样的一个过程:面对一个回归或者分类问题,建立代价函数,然后通过优化方法迭代求解出最优的模型参数,然后测试验证我们这个求解的模型的好坏。
  3. 回归模型中,y 是一个定性变量,比如 y = 0 或 1,logistic 方法主要应用于研究某些事件发生的概率。
  4. 逻辑回归的本质:极大似然估计
  5. 激活函数:sigmoid
  6. loss function:交叉熵

优缺点
优点:
速度快,适合二分类问题
简单易于理解,可以直接看到各个特征的权重
缺点:
对数据和场景的适应能力有局限性,不如决策树算法适应性那么强

逻辑回归中最核心的概念是 Sigmoid 函数,Sigmoid函数可以看成逻辑回归的激活函数。
对于一个定义域在RR中的输入,sigmoid函数将输入变换为区间(0, 1)上的输出。因此,sigmoid通常称为挤压函数(squashing function):它将范围(-inf, inf)中的任意输入压缩到区间(0, 1)中的某个值
对数几率函数(Sigmoid):
在真实情况下,我们最终得到的y的值是在 [0, 1] 这个区间上的一个数,然后我们可以选择一个阈值,通常是 0.5,当 y > 0.5 时,就将这个 x 归到 1 这一类,如果 y< 0.5 就将 x 归到 0 这一类。阈值是可以自己调整的

Regression 常规步骤

  1. 寻找h函数(即预测函数)
  2. 构造J函数(损失函数)
  3. 想办法(迭代)使得J函数最小并求得回归参数(θ)

函数h(x)的值有特殊的含义,它表示结果取1的概率,于是可以看成类1的后验估计。因此对于输入x分类结果为类别1和类别0的概率分别为:

P(y=1│x;θ)=hθ (x)

P(y=0│x;θ)=1-hθ (x)

交叉熵代价函数如下所示:

问题

  1. 简单介绍一下LR
    逻辑回归主要用来解决分类问题,线性回归的结果带入一个非线性变换的Sigmoid函数中,得到之间取值范围的数,可以把它看成是一个概率值,如果我们设置概率阈值为0.5,那么大于0.5可以看成是正样本,小于0.5看成是负样本,就可以进行分类了。
  2. 简单介绍一下Sigmoid函数
    sigmoid函数取值范围为(0,1),它可以将一个实数映射到(0,1)的区间,可以用来做二分类。
    函数公式如下:

    函数中无论取什么值,其结果都在的区间内,我们假设分类的阈值是0.5,那么超过0.5的归为1分类,低于0.5的归为0分类,阈值是可以自己设定的

下来我们把线性回归的输出 带入 中就得到了逻辑回归的假设函数

结果也可以理解为概率,换句话说概率大于0.5的属于1分类,概率小于0.5的属于0分类,这就达到了分类的目的。

  1. LR为什么要使用sigmoid函数
  • 线性模型的输出都是在之间的,而Sigmoid能够把它映射到之间。正好这个是概率的范围。
  • Sigmoid是连续光滑的。
  • 根据Sigmoid函数,最后推导下来逻辑回归其实就是最大熵模型,根据最大似然估计得到的模型的损失函数就是logloss。这让整个逻辑回归都有理可据。
  • Sigmoid也让逻辑回归的损失函数成为凸函数,这也是很好的性质。
  • 逻辑回归的损失函数是二元分类的良好代理函数,这个也是Sigmoid的功劳。
  1. LR的损失函数是什么LOSS function
    逻辑回归的损失函数是交叉熵损失函数

    两式合并得到概率分布表达式

    对数似然函数最大化得到似然函数的代数表达式为 :


取反得到损失函数表达式——(负对数损失函数)

  1. 逻辑回归如何进行多分类
    多分类问题一般将二分类推广到多分类的方式有三种,一对一,一对多,多对多。
  • 一对一:

    • 将个类别两两配对,产生个二分类任务,测试阶段新样本同时交给所有的分类器,最终结果通过投票产生。
  • 一对多:

    • 每一次将一个例作为正例,其他的作为反例,训练个分类器,测试时如果只有一个分类器预测为正类,则对应类别为最终结果,如果有多个,则一般选择置信度最大的。从分类器角度一对一更多,但是每一次都只用了2个类别,因此当类别数很多的时候一对一开销通常更小(只要训练复杂度高于即可得到此结果)。
  • 多对多:

    • 若干各类作为正类,若干个类作为反类。注意正反类必须特殊的设计。
  1. 逻辑回归的优缺点
  • 优点
    LR的可解释性强、可控度高、训练速度快

  • 缺点
    对模型中自变量多重共线性较为敏感
    例如两个高度相关自变量同时放入模型,可能导致较弱的一个自变量回归符号不符合预期,符号被扭转。需要利用因子分析或者变量聚类分析等手段来选择代表性的自变量,以减少候选变量之间的相关性;

    • 预测结果呈型,因此从向概率转化的过程是非线性的,在两端随着值的变化,概率变化很小,边际值太小,slope太小,而中间概率的变化很大,很敏感。 导致很多区间的变量变化对目标概率的影响没有区分度,无法确定阀值。
  1. 逻辑斯特回归为什么要对特征进行离散化。
  • 逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合; 离散特征的增加和减少都很容易,易于模型的快速迭代;
  • 稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;
  • 方便交叉与特征组合:离散化后可以进行特征交叉,由个变量变为个变量,进一步引入非线性,提升表达能力;
  • 简化模型:特征离散化以后,起到了简化了逻辑回归模型的作用,降低了模型过拟合的风险。
  • 稳定性:特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人;
  • 离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰。

8.LR 可以用核函数么?
9.为什么 LR 用交叉熵损失而不是平方损失?
10.LR 能否解决非线性分类问题?
11.逻辑回归是处理线性问题还是非线性问题的?

  1. 线性回归与逻辑回归(LR)的区别
  2. 为什么逻辑回归比线性回归要好?
  3. 逻辑回归有哪些应用
  4. 如果label={-1, +1},给出LR的损失函数?
  5. 逻辑回归在训练的过程当中,如果有很多的特征高度相关或者说有一个特征重复了100遍,会造成怎样的影响?
  6. LR如何进行并行计算?

你可能感兴趣的:(机器学习逻辑回归(LR))