对于连续的问题使用线性回归和多项式回归是有效的,但是对于数据特征呈现出较强的离散性时,则必须使用逻辑回归。如下图所示:
橙色和青色的点如果直接用线性回归来拟合显然是效果不好的。
一个很自然的感觉是上述两种数据呈现阶跃函数形状,这是由信号与系统的知识背景联想得到。但是阶跃函数本身的性质不好处理(如微分),对于计算机来说并没有太大的实际意义,因此研究者们找到了sigmoid函数来替代阶跃函数。
s
i
g
m
o
i
d
(
x
)
=
1
1
+
e
−
x
(1)
\begin{aligned} sigmoid(x)=\frac{1}{1+e^{-x}}\tag{1} \end{aligned}
sigmoid(x)=1+e−x1(1)
按照线性回归对数据进行处理,得到如下的直线方程:
y
(
x
)
=
a
x
+
b
(2)
\begin{aligned} y(x)=ax+b\tag{2} \end{aligned}
y(x)=ax+b(2)
sigmoid函数接受任意大小实数为输入值,输出值将其限制在
0
−
1
0 -1
0−1之间。如果我们将得到的直线方程
(
2
)
(2)
(2)作为sigmoid函数的输入,那么最终模型的输出值将在
0
−
1
0-1
0−1之间,这又于概率联系起来。
P
(
x
)
=
1
1
+
e
−
(
a
x
+
b
)
(3)
\begin{aligned} P(x)=\frac{1}{1+e^{-(ax+b)}}\tag{3} \end{aligned}
P(x)=1+e−(ax+b)1(3)
对
(
3
)
(3)
(3)式整理得到:
l
o
g
P
(
x
)
1
−
P
(
x
)
=
a
x
+
b
(4)
\begin{aligned} log\frac{P(x)}{1-P(x)}=ax+b\tag{4} \end{aligned}
log1−P(x)P(x)=ax+b(4)
l
o
g
P
(
x
)
1
−
P
(
x
)
log\frac{P(x)}{1-P(x)}
log1−P(x)P(x)被称为对数几率函数
(
L
o
g
−
o
d
d
s
)
(Log-odds)
(Log−odds),
P
(
x
)
1
−
P
(
x
)
\frac{P(x)}{1-P(x)}
1−P(x)P(x)被称为几率
(
o
d
d
s
)
(odds)
(odds)。
因此,逻辑回归模型只需要设置合理的阈值即可完成分类任务,比如此处设置阈值为
0.5
0.5
0.5。需要注意的是逻辑回归只能用于解决二分类问题,将他推广为多项逻辑回归模型,也就是
s
o
f
t
m
a
x
softmax
softmax回归,可以处理多类分类问题。
逻辑回归具有如下的优点:
1.直接对分类概率建模,无需实现假设数据的分布;
2.不仅可以预测出类别,还可以预测出近似概率;
3.对数几率函数性质好,任意阶可导且是凸函数;
逻辑回归(logistic regression)由统计学家David Cox于1958年提出,同年,美国心理学家 Frank Rosenblatt提出了感知机,此时的感知机激活函数仍然为传统的阶跃函数。可以说,逻辑回归的思想影响了人工神经网络的发展,将单纯的离散分类问题转换为了求解概率的连续问题,也为后来大名鼎鼎的 B P BP BP算法打下基础。如今,具有惊人效果的神经网络中必不可少的激活函数机制,其根在逻辑回归,可见科学的大厦就是这样一步一步建成的。