感知机
感知机属于经典的二分类线性模型。今天我们按照统计学习方法中模型+策略+算法的思路,简单介绍从确定模型假设空间、模型选取方向(策略)及确定用何种算法去逼近这个方向的三个方面去了解如何训练出一个好的感知机模型的原理,后文也列举了感知机的简单算例方便理解。
1.基础知识介绍
1.1 超平面
在数学中,超平面(Hyperplane)是 n n n维欧氏空间中 n − 1 n-1 n−1维的线性子空间。设 F F F为域(可考虑 F = R F=R F=R )。 n n n 维空间 F n F^n Fn中的超平面是由方程: a 1 x 1 + ⋯ + a n x n = b . a_1x_1+\dots+a_nx_n=b. a1x1+⋯+anxn=b.定义的子集,其中 a 1 , . . . , a n ∈ F a_1,...,an\in F a1,...,an∈F是不全为零的常数。
例如:平面的“超平面”是直线、空间的“超平面”是平面。但是超平面一般指维度大于等于3的子空间.
以上要是觉得很难理解的话,建议想象三维空间被任意一个二维平面所切分为两个部分的场景,其中二维平面就是三维空间的超平面。
1.2 偏导数和梯度
一维函数
对于函数 y = f ( x ) y=f(x) y=f(x),其中 y y y关于 x x x连续可导,导数为 f ′ ( x ) = l i m h → 0 f ( x + h ) − f ( x ) h f'(x)= lim_{h\rightarrow0} \frac{f(x+h)-f(x)}{h} f′(x)=limh→0hf(x+h)−f(x),表示在x点的无穷小的邻域内y的变化率。
二维函数
现在我们考虑函数 z = f ( x , y ) z=f(x,y) z=f(x,y),其中 z z z关于 x x x, y y y连续可微。
z关于x的偏导数看作是在 假设y是一个常数下,z关于x的导数,表示为 ∂ z ∂ x = ∂ f ( x , y ) ∂ x = f ∇ x ( x , y ) \frac{\partial z}{\partial x}=\frac{\partial f(x,y)}{\partial x}=f_{\nabla x}(x,y) ∂x∂z=∂x∂f(x,y)=f∇x(x,y),同理 ∂ z ∂ y = ∂ f ( x , y ) ∂ y = f ∇ y ( x , y ) \frac{\partial z}{\partial y}=\frac{\partial f(x,y)}{\partial y}=f_{\nabla y}(x,y) ∂y∂z=∂y∂f(x,y)=f∇y(x,y)
图像表示三维空间下的偏导数
用图像来表示,我们假设三维空间中 z z z为 x x x, y y y的函数,现在来看 z z z关于 y y y的偏导数。
我们先假设 x x x为一个常数,此时任取 x x x为某一常数值 a a a,此时 z z z是在 x = a x=a x=a平面上关于y的函数。下图中黑线的部分是 x = a x=a x=a截面与 z z z的相交线,该线表示 z = f ( y , x = a ) z=f(y,x=a) z=f(y,x=a)。小球沿着黑线经过所有 z = f ( x , y ) z=f(x,y) z=f(x,y)在 x = a x=a x=a上的点。
下面,我们来表示在 x = a x=a x=a截面下 z z z关于 y y y的斜率,用穿过小球的线来表示在该点处 z z z关于 y y y的斜率,这就是 z z z关于 y y y的偏导。
现在我们换一边,换成y值固定为常数 b b b, z z z为在 y = b y=b y=b下关于 x x x的函数。黑线部分为 y = b y=b y=b与 z = f ( x , y ) z=f(x,y) z=f(x,y)的相交线,小球在相交线上滚动。
此时我们在小球上画一个箭头,该点处 z z z关于 x x x的斜率为正则箭头方向指向 X X X轴正方向,反之指向负方向; z z z关于 x x x的斜率大小为箭头的长度。此时我们可以将该点处 z z z关于 x x x的偏导数值用箭头的大小和方向表示出来,称为偏导向量。
z z z关于 x x x偏导数的向量代表了 z z z值增长最快的 x x x方向,小球沿着该 x x x轴方向前进 z z z增加的更快。
相应地,每个点存在分别固定了 x x x(或 y y