前面几篇文章我们学习了线性回归的相关知识,今天我们学习逻辑回归。

一、介绍

逻辑回归是一个非常经典的机器学习算法,逻辑回归又称logistic回归分析,看到名字,大家是不是自然而然的认为这是一个回归模型?

其实不然,逻辑回归是一个分类模型,常用于二分类,在经济预测,疾病诊断等领域应用较多,下面我们就正式进入本文主题吧~

二、步骤

寻找h函数(预测函数)
构造J函数(损失函数)
使J函数最小并求回归参数(θ)

1、寻找预测函数h

对于线性边界的情况,边界形式如下:

逻辑回归模型建模结果汇报 逻辑回归建模步骤_python


最佳参数为:

逻辑回归模型建模结果汇报 逻辑回归建模步骤_python_02


那么我们怎么将一个线性问题转化成分类问题呢?这里就用到一个sigmoid函数来进行转换,函数形式为:

逻辑回归模型建模结果汇报 逻辑回归建模步骤_机器学习_03

############### sigmoid函数图像
import numpy as np
import pandas as pd
z = np.arange(-10,10)
g_z = 1/(1+np.e**(-z))

from matplotlib import pyplot as plt
plt.plot(z,g_z)
plt.xlabel('z')
plt.ylabel('g(z)')
plt.title('sigmoid')

逻辑回归模型建模结果汇报 逻辑回归建模步骤_损失函数_04


我们的预测函数就可以写成:

逻辑回归模型建模结果汇报 逻辑回归建模步骤_python_05


函数h(x)的值有特殊的含义,它表示结果取1的概率,因此对于输入x分类结果为类别1和类别0的概率分别为:

逻辑回归模型建模结果汇报 逻辑回归建模步骤_机器学习_06

2、构造损失函数J

我们知道结果为类别1与类别0的概率之后,将其合并:

逻辑回归模型建模结果汇报 逻辑回归建模步骤_损失函数_07


取似然函数为:

逻辑回归模型建模结果汇报 逻辑回归建模步骤_损失函数_08


对数似然函数为:

逻辑回归模型建模结果汇报 逻辑回归建模步骤_机器学习_09


这里我们将损失函数表示为:

逻辑回归模型建模结果汇报 逻辑回归建模步骤_损失函数_10

3、求使J 最小的参数

最大似然估计就是求

逻辑回归模型建模结果汇报 逻辑回归建模步骤_逻辑回归_11


最大时

逻辑回归模型建模结果汇报 逻辑回归建模步骤_逻辑回归模型建模结果汇报_12


的参数,这里我们采用梯度下降法来求解。

逻辑回归模型建模结果汇报 逻辑回归建模步骤_逻辑回归_13


逻辑回归模型建模结果汇报 逻辑回归建模步骤_损失函数_14


的更新过程为:

逻辑回归模型建模结果汇报 逻辑回归建模步骤_python_15


梯度下降迭代过程中用到下式:

逻辑回归模型建模结果汇报 逻辑回归建模步骤_python_16