【机器学习】感知机学习---《统计学习方法》学习笔记

开始学习机器学习有一段时间了,一开始认为做应用的只知道简单的理论就够了,因此更加倾向于学习《机器学习实战》、《集体智慧编程》这类书籍,在学习了一段时间后,尤其是看了一段时间斯坦福大学的公开课以后,有一种强烈的欲望想要去学习机器学习中的数学,但是迫于自身数学能力不是很强,啃起《统计学习方法》这本书来,还是有一定难度的。只作为一个笔记,以后可以温故而知新。

在真正开始学习之前,其实统计学习方法中还是有一些基本概念需要理解的,在书中第一章。

基本概念

基本模型:

f(x)=sign(wx+b)

其中:
sign(x)={+1,x01,x<0

这是一种线性分类模型,属于判别模型

定义:假设输入空间(特征空间)是 χRn ,输出空间为 y={+11 ,输入表示实例的特征向量,对应于输入空间的点;输出表示实例的类别。由输入空间到输出空间的如下函数:

f(x)=sign(wx+b)
称为 感知机。其中, ω b 为感知机模型的参数。 ωR 叫做 权值(weight) bR 叫做 偏置(bias)

学习策略

目的:找出一个线性可分的超平面,定义一个损失函数,求 ω b ,并将损失函数极小化。

损失函数的选取:

  1. 自然选择是误分类点的个数,但是这个函数并不是参数的连续可导函数,不易于优化;
  2. 可以选择误分类点到超平面的距离,即:

    1ω|ωx+b|,ωωL2

    推导过程:
    对于任何误分类点来说:

    yi(ωxi+b)>0
    1ω|ωx+b|=1ωyi(ωxi+b)

    因此,所有误分类点到超平面的距离之和为:
    L(ω,b)=1ωxiMyi(ωxi+b)M

    L(ω,b) 即为感知机模型的损失函数。

学习算法

现在的问题变成了求解 L(ω,b) 的最优化问题。在这里有两种形式:原始形式对偶形式

原始形式

描述:给定数据集 T={(x1,y1),(x2,y2)(xn,yn)} 。其中, xiX=R yiY={+1,1}.i=1,2,3,N ,求参数 ωb ,使其成为以下最优化问题的解:

minw,bL(ω,b)=xiMyi(ωxi+b)
其中 M 为误分类点的集合。

随机梯度下降法:建议查阅相关资料。

求解(求梯度):

对于 ω 求偏导:

ω(ω,b)=xiMyixi

对于 b 求偏导:
b(ω,b)=xiMyi

随机选取误分类点 (xi,yi), 对于 ω,b 进行更新:

ωω+ηyixi,
bb+ηyi,
其中, η 表示为步长或者学习率,控制梯度下降的速度。

综上所述,感知机学习算法的原始形式表述如下:

输入:训练数据集 T={(x1,y1),(x2,y2)(xn,yn)} ,其中, xiX=R yiY={+1,1}.i=1,2,3,N ;学习率 η0<η1

输出: ω,b ;感知机模型 f(x)=sign(ωx+b)

步骤:

  1. 选取初值 ω0,b0
  2. 在训练集中选取数据 (xi,yi)
  3. 如果 yi(ωxi+b)0
    ωω+ηyixi,
    bb+ηyi
  4. 转至step2,直到训练集中没有误分类点。

对偶形式

不想写了。。。。。。。

你可能感兴趣的:(统计学习方法)