逻辑回归

比较经典的分类算法,目前工业界用到的最多的模型,很多场景下,都会用到逻辑回归。逻辑回归由于存在易于实现、解释性好以及容易扩展等优点,被广泛应用于点击率预估(CTR)、计算广告(CA)以及推荐系统(RS)等任务中。逻辑回归虽然名字叫做回归,但实际上却是一种分类学习方法。 线性回归完成的是回归拟合任务,而对于分类任务,我们同样需要一条线,但不是去拟合每个数据点,而是把不同类别的样本区分开来。

学习输入到输出的映射python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_线性回归
python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_线性回归_02:输入
python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_条件概率_03:输出
定义条件概率 python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_定义域_04,如何去表示 python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_定义域_04,这相当于用模型来捕获输入X和输出Y之间的关系。

条件概率python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_定义域_04需要满足两个条件:

  1. python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_定义域_07
  2. python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_定义域_08

可以不可以用线性回归python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_定义域_09来表示?

python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_条件概率_10

不能,因为不满足条件1:1. python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_条件概率_11

改进python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_定义域_09使得值域映射到(0,1)区间,

逻辑函数(Logistic Function) Sigmoid:

python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_条件概率_13

python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_线性回归_14


python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_定义域_09python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_条件概率_16里面,定义域为(∞,∞),定义域(0,1)。

所以对于二分类问题,就可以写成如下形式:

  • python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_定义域_17
  • python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_条件概率_18

两个式子可以合并为:
python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_线性回归_19

所以,逻辑回归可以被认为就是一个被Sigmoid函数(logistic方程)所归一化后的线性回归模型!

决策边界

如何判断?判断标准如何?
要看决策边界是线性还是非线性。决策边界上的点判断成各类的概率相等。
可以推导出来逻辑回归的决策边界为:python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_定义域_20

如何求解python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_线性回归_21python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_线性回归_22

模型的实例化 = 定义明确的目标函数
定义优化器,优化算法

已经定义了:
python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_线性回归_19

现在需要最大化目标函数,来求解python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_线性回归_21python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_线性回归_22

如何寻找函数最优解:

  1. 判断是否是凸函数
  2. 选择最优化算法

求解最优解时,当找到一个解,它是全局最优还是局部最优。如果是凸函数,找到的最优解一定是全局最优解,非凸函数的话就不一定是全局最优解。
凸函数:

最优化算法:一步一步的找

  1. GD(梯度下降法)
  2. SGD(随机梯度下降法)
  3. Adamgrad

GD(梯度下降法):

  1. 随机初始化未知的参数
  2. 沿着梯度最大方向,不断更新参数

python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_线性回归_26

  1. 初始化python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_线性回归_27
  2. for t = 1,2,…:
    python 如何输出逻辑回归模型摘要 系数 p值 python逻辑回归结果解读_定义域_28

对于线性回归模型,使用L1正则化的模型建叫做Lasso回归,使用L2正则化的模型叫做Ridge回归(岭回归)。