机器学习 | 分类算法原理——逻辑回归
Hi,大家好,我是半亩花海。接着上次的线性可分继续更新《白话机器学习的数学》这本书的学习笔记,在此分享逻辑回归这一回归算法基础。本章的回归算法基础基于《基于图像大小进行分类》项目,欢迎大家交流学习!
目录
一、逻辑回归概述
二、案例分析
1. sigmoid 函数
2. 决策边界
一、逻辑回归概述
逻辑回归(Logistic Regression)也称作 Logistic 回归分析,是一种广义的线性回归分析模型,属于机器学习中的监督学习。它实际上主要是用来解决二分类问题。通过给定的 组数据(训练集)来训练模型,并在训练结束后对给定的一组或多组数据(测试集)进行分类,其中每一组数据都是由
个指标构成。
二、案例分析
我们还是用之前博客中的分类案例,即按横向和纵向对图像进行分类的例子。为了处理简便,这里设横向的值为 1、纵向的值为 0。
1. sigmoid 函数
我们在学习回归的时候,定义过一个带参数的函数:
这是通过最速下降法或随机梯度下降法来学习参数 的表达式。使用这个
能够求出对未知数据
的输出值。
这里的思路是一样的。我们需要能够将未知数据分类为某个类别的函数 。 这是和感知机的判别函数
类似的东西,使用与回归时同样的参数
,函数的形式如下:
式中, 的全称是 exponential,即指数函数。
与
含义相同, 只是写法不同。
是自然常数,具体的值为 2.7182......(ps:
可以换成
这样的写法,指数部分如果过于复杂,上标的字号太小会很难看清,所以这时候使用
写法的情况比较多)。
上述函数的名字叫 sigmoid 函数,设 为横轴,
为纵轴,那么它的图形如下所示。
通过观察这个函数,我们会发现来个特征:
- 当
时,
刚才说到我们要用概率来考虑分类。因为 sigmoid 函数的取值范围是 ,所以它可以作为概率来使用。
2. 决策边界
刚才说到把上述表达式 当作概率来使用,那么接下来我们就把未知数据
是横向图像的概率作为
,其表达式如下。
上述式子叫条件概率。这是在给出 数据时
,即图像为横向的概率。假如
的计算结果是 0.8,意思是图像为横向的概率为 80%、纵向的概率为 20%,这种状态可以分类为横向。
实际上,我们应该是以 0.5 为阈值(注意一下这个阈值 0.5,在 sigmoid 函数图像中也出现过),然后把 的结果与它相比较, 从而分类横向或纵向。
当 时,
。从图中还可以看出,在
时,
;反过来,在
时,
。
我们可以把上述表达式 改写为以下这种形式。
下面我们像学习感知机时那样,设横轴为图像的宽()、纵轴为 图像的高(
),并且画出图来考虑。然后把训练数据都展示在图上,像学习回归时那样,先随便确定
再具体地去考虑。
比如当 是如下这样的向量时,我们来画一下
的图像。
先代入数据,把表达式变为容易理解的形式。如此看来,下面这个不等式表示的范围也就是图像被分类为横向(,
)的范围。
我们还可以试着画出不等式所对应的图,这样会更加清晰直观。
同理,分类为纵向的范围即为另一侧,所对应的图如下。
也就是说,我们将 这条直线作为边界线,就可以把这条线两侧的数据分类为横向和纵向了,这样用于数据分类的直线称为决策边界。
实际项目应用时这个决策边界似乎不能一开始就能正确地分类图像,实际效果如上图所示,通过前几节的学习,可以清晰地知道这是因为:和回归的时候一样,我们一开始决定参数时太随意了。为了求得正确的参数 而定义目标函数,再对目标函数进行微分,然后求参数的更新表达式,这种算法就称为逻辑回归。