之前学到的感知机线性回归中说过,一个分离超平面S将特征空间分成两个部分,实例在不同的子空间中被分为相对应的类。但是当一个样本点与超平面的距离非常近时,被分成类A的可能性为51%,分成类B的可能性为49%,此时线性回归会直接给出该样本点属于A类的结论,并没有告诉我们它属于A类的概率是多少,这样就忽略了49%分成B类的可能性。
为了得到这个概率,引出了Sigmoid函数(也叫Logistic,逻辑斯谛函数)。
关于函数的简介,可以在百度中自行了解:
https://baike.baidu.com/item/Sigmoid%E5%87%BD%E6%95%B0/7981407
Sigmoid函数经常在深度学习中作为激励函数使用,它的基本形式如下:
S
i
g
m
o
i
d
(
x
)
=
1
1
+
e
x
Sigmoid(x)=\frac{1}{1+e^{x}}
Sigmoid(x)=1+ex1
Sigmoid函数能够将线性回归产生的值
x
∈
(
−
∞
,
+
∞
)
x\in{(-\infty,+\infty)}
x∈(−∞,+∞) 转换到
y
∈
(
0
,
1
)
y\in(0,1)
y∈(0,1) 区间内,而概率的取值也在(0,1)内,这样,就可以得到一个样本被分为一个类的概率是多少了。
引入Sigmoid函数之后,加入形状参数
γ
\gamma
γ和位置参数
μ
\mu
μ,便得到了逻辑斯谛分布:
当连续随机变量X服从逻辑斯谛分布时,X具有下列分布函数:
F
(
x
)
=
1
1
+
e
−
(
x
−
μ
)
/
γ
F(x)=\frac{1}{1+e^{-(x-\mu)/\gamma}}
F(x)=1+e−(x−μ)/γ1
分布函数求导后得到密度函数:
f
(
x
)
=
e
−
(
x
−
μ
)
/
γ
γ
(
1
+
e
−
(
x
−
μ
)
/
γ
)
2
f(x)=\frac{e^{-(x-\mu)/\gamma}}{\gamma(1+e^{-(x-\mu)/\gamma})^2}
f(x)=γ(1+e−(x−μ)/γ)2e−(x−μ)/γ
其中,形状参数
γ
\gamma
γ越小,曲线在中心附近越陡,增长的越快。
当
μ
=
0
,
γ
=
1
\mu=0,\gamma=1
μ=0,γ=1,随机变量Y只有两个取值0或1时,二项逻辑斯谛回归模型的形式为:
P
(
Y
=
0
∣
x
)
=
1
1
+
e
(
ω
⋅
x
+
b
)
P(Y=0|x)=\frac{1}{1+e^{(\omega \cdot x+b)}}
P(Y=0∣x)=1+e(ω⋅x+b)1
P
(
Y
=
1
∣
x
)
=
1
−
1
1
+
e
(
ω
⋅
x
+
b
)
=
e
(
ω
⋅
x
+
b
)
1
+
e
(
ω
⋅
x
+
b
)
P(Y=1|x)=1- \frac{1}{1+e^{(\omega \cdot x+b)}} = \frac{e^{(\omega \cdot x+b)}}{1+e^{(\omega \cdot x+b)}}
P(Y=1∣x)=1−1+e(ω⋅x+b)1=1+e(ω⋅x+b)e(ω⋅x+b)
当输入一个样本点x时,二项逻辑斯谛回归模型比较P(Y=0|x)和P(Y=1|x)的大小,将x分到概率值较大的那一类。
例如当P(Y=0|x)=0.49,P(Y=1|x)=0.51时,x的类别为y=1,属于类1的概率为0.51。
这样,当一个样本点x输入到感知机模型sign(w•x+b)中时,只能得到样本点的类别;
当x输入到二项逻辑斯谛回归模型中时,不仅可以得到样本点的类别,还可以得到属于该类别的概率。