这节我们介绍监督学习中分类方法的感知机、逻辑回归、贝叶斯分类。在线性回归中,我们将特征的系数乘以它们各自的特征值,并加上截距,从而得到我们的预测,其范围可以从负无穷到正无穷。分类可以理解为限制了线性回归函数的输出为离散固定的,如+1,-1;猫,狗。
感知机
感知机(perceptron)是感知(perception)和神经元(neuron)的组合叫法,我们的神经元是一节接着一节的结构:
这是百度找的一张神经元图,多条树突输入的信号共同作用于中心的细胞,细胞会对信号进行综合处理,若满足一定条件则会被激活,然后将新的信号沿着轴突传给下一个神经元,多个神经元组成了一个神经网络,这也就是深度学习中借鉴我们大脑的重要概念。
这张百度的图形象说明了单个感知机的基本原理,若我们把拟合函数定为
h
(
x
)
=
s
i
g
n
(
w
T
x
)
h(x) =sign( w^Tx )
h(x)=sign(wTx), w是我们要求的目标,当输入x参数后,乘上所有w,会得到一个值,由于sign函数,如果这个值大于0,则输出+1,反之输出-1. 利用前面学的损失函数概念,我们就可以建一个损失函数然后衡量每一个数据的拟合准确率。
对于感知机有一个最简单的算法,PLA(感知机算法):
w
←
w
+
y
n
x
n
w\leftarrow w + y_nx_n
w←w+ynxn
y
n
y_n
yn是第n个数据的标签,按照这个算法可以不断优化h(x)的准确率。
逻辑回归
与感知机其实很像,对于 s = w T x s = w^Tx s=wTx, 我们不做sign函数处理,我们做将它代进 θ ( s ) = 1 1 + e − s \theta(s) = \frac{1}{1+e^{-s}} θ(s)=1+e−s1 这个sigmoid函数里得到0和+1输出
贝叶斯分类
P ( A ∣ B ) = P ( A B ) P ( B ) = P ( B ∣ A ) P ( A ) P ( B ) P(A|B) = \frac{P(AB)}{P(B)} = \frac{P(B|A)P(A)}{P(B)} P(A∣B)=P(B)P(AB)=P(B)P(B∣A)P(A) 就是这个公式,非常简单,但蕴含的智慧很大。可以看成 后 验 = ( 概 率 × 先 验 ) / 根 据 后验 = (概率 \times 先验 ) / 根据 后验=(概率×先验)/根据, 后验与先验的概念很重要,先验指的是由统计或经验得到的概率,如P(X = 学习)=0.3,P(X = 摸鱼)=0.7。我们已知学习的人和摸鱼的人男女比例都是0.5后,就可以求P(X = 摸鱼 | Y = 男) 这一后验概率 P ( X = 摸 鱼 ∣ Y = 男 ) = P ( Y = 男 ∣ X = 摸 鱼 ) P ( X = 摸 鱼 ) P ( Y = 男 ) P(X = 摸鱼 | Y = 男) = \frac{P(Y = 男 | X = 摸鱼) P(X = 摸鱼) }{P(Y = 男)} P(X=摸鱼∣Y=男)=P(Y=男)P(Y=男∣X=摸鱼)P(X=摸鱼)
因为男女比例限制为0.5,所以算出来还是0.7哈哈,反正计算过程就是这么个意思。还有个连续分布的公式:
P
(
θ
∣
D
)
=
P
(
D
∣
θ
)
P
(
θ
)
P
(
D
)
=
P
(
D
∣
θ
)
P
(
θ
)
∫
P
(
D
∣
θ
)
P
(
θ
)
d
θ
P(\theta|D) =\frac{P(D|\theta)P(\theta)}{P(D)}= \frac{P(D|\theta)P(\theta)}{\int P(D|\theta)P(\theta)d\theta}
P(θ∣D)=P(D)P(D∣θ)P(θ)=∫P(D∣θ)P(θ)dθP(D∣θ)P(θ)
朴素贝叶斯(Naive Bayesian):
P
(
w
∣
x
1
,
…
,
x
p
)
∝
P
(
x
1
,
…
,
x
p
∣
w
)
⋅
P
(
w
)
P(w|x_1,\dots,x_p)\propto P(x_1,\dots,x_p|w)\cdot P(w)
P(w∣x1,…,xp)∝P(x1,…,xp∣w)⋅P(w) 这个关系是最重要的,朴素就是指变量之间都是独立同分布(iid),所以
P
(
x
1
,
…
,
x
p
∣
w
)
P(x_1,\dots,x_p|w)
P(x1,…,xp∣w) 可以写成
P
(
x
1
∣
w
)
⋅
P
(
x
2
∣
w
)
…
P
(
x
p
∣
w
)
P(x_1|w)\cdot P(x_2|w)\dots P(x_p|w)
P(x1∣w)⋅P(x2∣w)…P(xp∣w) 现在就可以去做题目啦。
题目一般是给一个数据表,有特征a, b, c加一个标签yes或no,然后求a=1, b=0, c=1时是yes还是no(肯定表中没有这个数据的哈,不然直接读表就行了哈哈)。直接套公式:
P
(
y
e
s
∣
a
=
1
,
b
=
0
,
c
=
1
)
=
P
(
a
=
1
∣
y
e
s
)
P
(
b
=
0
∣
y
e
s
)
P
(
c
=
1
∣
y
e
s
)
P
(
y
e
s
)
P
(
a
=
1
)
P
(
b
=
0
)
P
(
c
=
1
)
P(yes|a=1,b=0,c=1) = \frac{P(a=1|yes)P(b=0|yes)P(c=1|yes)P(yes)}{P(a=1)P(b=0)P(c=1)}
P(yes∣a=1,b=0,c=1)=P(a=1)P(b=0)P(c=1)P(a=1∣yes)P(b=0∣yes)P(c=1∣yes)P(yes)
P
(
n
o
∣
a
=
1
,
b
=
0
,
c
=
1
)
=
P
(
a
=
1
∣
n
o
)
P
(
b
=
0
∣
n
o
)
P
(
c
=
1
∣
n
o
)
P
(
n
o
)
P
(
a
=
1
)
P
(
b
=
0
)
P
(
c
=
1
)
P(no|a=1,b=0,c=1) = \frac{P(a=1|no)P(b=0|no)P(c=1|no)P(no)}{P(a=1)P(b=0)P(c=1)}
P(no∣a=1,b=0,c=1)=P(a=1)P(b=0)P(c=1)P(a=1∣no)P(b=0∣no)P(c=1∣no)P(no) 然后比较这俩数谁大,如yes的大,则我们估计a=1, b=0, c=1时是yes。仔细看上面式子发现分母是一样的,所以我们只用算分子就可以比较了,就是如此简单。
附上其他笔记的链接:
《无废话的机器学习笔记(一)》
《无废话的机器学习笔记(二)(线性回归)》
《无废话的机器学习笔记(三)(梯度下降)》
《无废话的机器学习笔记(五)(SVM)》
《无废话的机器学习笔记(六)(决策树,KNN)》
《无废话的机器学习笔记(七)(聚类: kmeans、GMM、谱聚类)》
《无废话的机器学习笔记(番外)(数据集,方差-偏差,过拟合,正则化,降维)》