利用Logistic回归进行分类的主要思想是:根据现有数据对分类边界线建立回归公式,以此进行分类。这里的“回归”一词源于最佳拟合,表示要找到最佳拟合参数集。训练分类器时的做法就是寻找最佳拟合参数,使用的是最优化算法。
一、 Logistic分布
二、 Logistic回归模型(二分类模型)
其中,sigmoid函数:
换言之,直接利用sigmoid函数理解二分类Logistic回归模型:
P(Y=1|x)=sigmoid(z);P(Y=0|x)=1-P(Y=1|x)=sigmoid(z)。其中,z的表达式如下:
三、 模型参数估计
3.1 极大似然函数的方式估计参数:
3.2 梯度上升法估计参数
梯度上升算法用来求函数的最大值,而梯度下降算法用来求函数的最小值。
梯度上升算法迭代公式:
推导第一个:其中e是误差,样本矩阵x,类别标签y,回归系数w,步长a。
梯度上升的目的是最小化误差:
四、基于梯度上升算法估计最佳参数
4.1 代码实现
# -*- coding: utf-8 -*-
"""
Created on Wed Apr 18 19:07:15 2018
file name:logRegres.py
@author: lizihua
"""
import numpy as np
from numpy import exp,mat,shape,ones,array,random
import matplotlib.pyplot as plt
#Logistic回归梯度上升优化算法
#加载数据
#注意,返回的是列表!!!
def loadDataSet():
dataMa