电信保温杯笔记——《统计学习方法(第二版)——李航》第2章 感知机
论文
原论文:《The perceptron: A probabilistic model for information storage and organization in the brain》
介绍
电信保温杯笔记——《统计学习方法(第二版)——李航》
本文是对原书的精读,会有大量原书的截图,同时对书上不详尽的地方进行细致解读与改写。
1967年1月发表的文章,提出了感知机,一个线性二分类模型,是神经网络与支持向量机的基础。输入为实例的特征向量,输出为实例的类别,取+1和-1;感知机对应于输入空间中将实例划分为正负两类的分离超平面,属于判别模型;导入基于误分类的损失函数;利用随机梯度下降法对损失函数进行极小化;
特点
感知机学习算法具有简单而易于实现的优点,分为原始形式和对偶形式;
感知机因为是线性模型,所以不能表示复杂的函数,如异或 (XOR)。
模型结构
损失函数
计算误分类点到超平面的总距离
优化目标
感知机学习算法的原始形式
举例
# 对于线性可分数据集可以用while(True)至训练结束,对于线性不可分数据集,把while(True)改为 for epoch in epochs
m = 50 # 样本数量
w = 0
b = 0
eta = 0.1 # 学习率
datas = int[50]
labels = int[50]
while(True):
n = m
for i in range(m):
x = datas[m]
y = labels[m]
if(y*(x*m+b) < 0): # 错误分类时更新参数
w = w + eta * y * x
b = b + eta * y
n -= 1 # 正确分类的样本数
if (n == 50): # 所有样本都没有被错误分类,代表训练结束
break
算法收敛性
γ
\mathbf{\gamma}
γ 表示离超平面最近的点离超平面的距离。
感知机学习算法的对偶形式
n
i
n_i
ni 代表多轮迭代至结束,样品一共被误分多少次,因为每次误分都会用于更新参数。
G矩阵的元素代表2个样本的点积
感觉应该把
y
j
y_j
yj 也列入到G矩阵中,进一步简化计算
相关视频
相关的笔记
hktxt /Learn-Statistical-Learning-Method
相关代码
Dod-o /Statistical-Learning-Method_Code