机器学习之逻辑回归

   逻辑回归其实是一个分类算法而不是回归算法。通常是利用已知的自变量来预测一个离散型因变量的值(像二进制值0/1,是/否,真/假)。简单来说,它就是通过拟合一个逻辑函数(logit fuction)来预测一个事件发生的概率。所以它预测的是一个概率值,自然,它的输出值应该在0到1之间。--计算的是单个输出

1.假设函数(Hypothesis function)

首先要先介绍一下Sigmoid函数,也称为逻辑函数(Logistic function):

机器学习之逻辑回归_第1张图片
sigmoid函数图像

从上图可以看到sigmoid函数是一个s形的曲线,它的取值在[0, 1]之间,在远离0的地方函数的值会很快接近0或者1。它的这个特性对于解决二分类问题十分重要

因为在二分类中,输出y的取值只能为0或者1,所以在线性回归的假设函数外包裹一层Sigmoid函数,使之取值范围属于(0,1),完成了从值到概率的转换。逻辑回归的假设函数形式如下:

则若P(y=1|x;)=0.7,表示输入为x时,y=1的概率为70%。

2.决策边界--假设函数的一个属性,决定于其参数

决策边界,也称为决策面,是用于在N维空间,将不同类别样本分开的直线或曲线,平面或曲面。

根据以上假设函数表示概率,我们可以推得

所以 h(x)=0.5, 即=0 时为决策边界。

线性决策边界:


机器学习之逻辑回归_第2张图片
决策边界为:x1+x2=3

非线性决策边界:


机器学习之逻辑回归_第3张图片
决策边界为:

3.代价函数(优化目标):

在线性回归中,我们给出代价函数定义:

由于它是一个凸函数,所以可用梯度下降直接求解,局部最小值即全局最小值。

但在逻辑回归中,是一个复杂的非线性函数,属于非凸函数,直接使用梯度下降会陷入局部最小值中。类似于线性回归,逻辑回归的J()的具体求解过程如下:

对于输入x,分类结果为类别1和类别0的概率分别为:

P(y=1|x;)=h(x);        P(y=0|x;)=1-h(x);

则整合之后为:P(y|x;)=

似然函数为:

机器学习之逻辑回归_第4张图片
似然函数

对数似然函数为:

机器学习之逻辑回归_第5张图片
对数似然函数

根据最大似然估计,此时应该使用梯度上升求最大值,为了便于使用梯度下降法,这里将J()=-

求解的最小值可以使用梯度下降法,根据梯度下降可得的更新过程为:

下面来求偏导,式中α学习步长:

机器学习之逻辑回归_第6张图片

由此,的更新过程可以写成:(下式的一般省略)

除了梯度下降之外,还有以下优化代价函数的方法:

1. 共轭梯度法(Conjugate Gradient)

2. BFGS

3. L-BFGS

在这些方法中,相比梯度下降,有以下优点和缺点:

1. 不需要主观的选择学习率α,算法中的内循环会自动调节

2. 速度更快

3. 算法更复杂

多元分类:一对多

多分类(multi-classification)是指分类的结果不只两类,而是有多个类别。

逻辑回归本质上是一种二分类的算法,但是可以通过搭建多个二分类器的思想,实现多分类。

针对类别A ,设 A 为正类,非A 为反类,搭建二分类器 

针对类别B ,设  B为正类,非B 为反类,搭建二分类器 

针对类别 ,设  为正类,非 为反类,搭建二分类器 

.......


这是我在进行机器学习的过程中关于逻辑回归的笔记和总结,希望能够帮助大家,如果文章中有错误,希望大家指出,我们一起进步。

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