寻找分类决策平面

本文深入探讨了超平面概念,包括其在不同维度空间的表现形式、法向量及其在二分类问题中的应用。通过解析样本点到决策平面的距离计算公式,介绍了如何利用感知机模型解决二分类问题,同时详细讲解了寻找最优分类超平面的算法流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.超平面

在2维空间中的超平面是一条线,在3维空间中的超平面是一个平面。

2.平面的法向量

如果一非零向量垂直于一平面,这向量就叫做该平面的法向量。容易知道,平面上的任一向量均与该平面的法线向量垂直。

3.超平面的正反

一个超平面可以将它所在的空间分为两半, 它的法向量指向的那一半对应的一面是它的正面, 另一面则是它的反面。如果利用数学来判断的话,需要利用到法向量 w。
超平面的正反

4.样本点到决策平面的距离

空间中任意一点x0x_0x0到超平面SSS的距离公式:∣w⋅x0+b∣∣∣w∣∣\frac{|w\cdot x_0+b|}{||w||}wwx0+b.

推导过程:

取点空间中一点x0x_0x0,,超平面SSSw⋅x+b=0w\cdot x+b=0wx+b=0,其中x0,w,xx_0,w,xx0,w,x均为N维向量;

设点x0x_0x0到平面SSS的距离为ddd,点x0x_0x0在平面SSS上的投影点为x1x_1x1,则x1x_1x1满足w⋅x1+b=0w\cdot x_1+b=0wx1+b=0;

因为向量x0x1→\overrightarrow{x_0x_1}x0x1平行于SSS平面的法向量www,故有

∣w.x0x1→∣=∣w∣∣x0x1→∣=w12+w22+...wn22d=∣∣w∣∣d|w.\overrightarrow{x_0x_1}|=|w||\overrightarrow{x_0x_1}|=\sqrt[2]{w_1^2+w_2^2+...w_n^2}d=||w||dw.x0x1=wx0x1=2w12+w22+...wn2d=wd

其中||w||为向量wwwL2L_2L2范数;

又因,

w⋅x0x1→w\cdot \overrightarrow{x_0x_1}wx0x1

=w1(x01−x11)+w2(x02−x12)+...+wn(x0n−x1n)=w^{1}(x_{0}^{1}−x_{1}^{1})+w^{2}(x_{0}^{2}−x_{1}^{2})+...+w^{n}(x_{0}^{n}−x_{1}^{n})=w1(x01x11)+w2(x02x12)+...+wn(x0nx1n)

=w1x01+w2x02+...+wnx0n−(w1x11+w2x12+...+wnx1n)=w^{1}x_{0}^{1}+w^{2}x_{0}^{2}+...+w^{n}x_{0}^{n}−(w^{1}x_{1}^{1}+w^{2}x_{1}^{2}+...+w^{n}x_{1}^{n})=w1x01+w2x02+...+wnx0n(w1x11+w2x12+...+wnx1n)

=w⋅x0+b=w\cdot x_0+b=wx0+b

∣w⋅x0x1→∣=∣w⋅x0+b∣=∣∣w∣∣d|w\cdot \overrightarrow{x_0x_1}|=|w\cdot x_0+b|=||w||dwx0x1=wx0+b=wd

得,d=∣w⋅x0+b∣∣∣w∣∣d=\frac{|w\cdot x_0+b|}{||w||}d=wwx0+b

5.二分类问题

对于二分类问题,假设有m个训练样本{(X(1),y(1)),(X(2),y(2)),...,(X(m),y(m))}\{ (X^{(1)},y^{(1)}), (X^{(2)},y^{(2)}),..., (X^{(m)},y^{(m)})\}{(X(1),y(1))(X(2),y(2))...(X(m),y(m))},其中,y∈{−1,1}y\in\{-1,1\}y{1,1}。那么,应该如何从训练样本中得到分割超平面w⋅x+b=0w\cdot x+b=0wx+b=0呢?

对于二分类问题,可以使用感知机模型来解决。其基本原理就是逐点修正,首先在超平面上随意取一条分类面,统计分类错误的点;然后随机对某个错误点就行修正,即变换直线的位置,使该错误点得以修正;接着再随机选择一个错误点进行纠正,分类面不断变化,直到所有的点都完全分类正确了,就得到了最佳的分类面。

感知机
对上图的二分类问题,我们试图找到图中的分隔超平面,能够分割图中的正负样本,其中,分隔超平面为:
w⋅x+b=0w\cdot x+b=0wx+b=0
如果我们有m个样本,每个样本对应于n维特征和一个二元类别输出,如下:
 (x1(0),x2(0),...xn(0),y0),(x1(1),x2(1),...xn(1),y1),...(x1(m),x2(m),...xn(m),ym)(x_1^{(0)},x_2^{(0)},...x_n^{(0)},y_0),(x_1^{(1)},x_2^{(1)},...x_n^{(1)},y_1),...(x_1^{(m)},x_2^{(m)},...x_n^{(m)},y_m)(x1(0),x2(0),...xn(0),y0),(x1(1),x2(1),...xn(1),y1),...(x1(m),x2(m),...xn(m),ym)
我们的目标是找到这样一个超平面,即:
w0+w1x1+...+wnxn=0w_0+w_1x_1+...+w_nx_n=0 w0+w1x1+...+wnxn=0
为了简化这个超平面的写法,我们增加一个特征x0=1x_0=1x0=1,这样超平面为∑i=0nwixi=0∑_{i=0}^nw_ix_i=0i=0nwixi=0

寻找决策面的算法过程

输入:m个训练样本{(X(1),y(1)),(X(2),y(2)),...,(X(m),y(m))}\{ (X^{(1)},y^{(1)}), (X^{(2)},y^{(2)}),..., (X^{(m)},y^{(m)})\}{(X(1),y(1))(X(2),y(2))...(X(m),y(m))},其中y∈{−1,1}y\in\{-1,1\}y{1,1}

输出:w,bw,bwb(即找到了分类的决策平面)

  1. 赋初值:w0,b0w_0,b_0w0b0
  2. 从训练集中选取一个样本(xi,yi)(x_i,y_i)xiyi
  3. 判断该数据点是否为当前模型的误分类点,即判断 yi(w⋅xi+b)y_i(w\cdot x_i+b)yi(wxi+b)的值,是大于0还是小于0,如果yi(w⋅xi+b)&lt;0y_i(w\cdot x_i+b)&lt;0yi(wxi+b)<0则更新;
    w=w+ηyixiw=w+\eta y_ix_iw=w+ηyixi
    b=b+ηyib=b+\eta y_ib=b+ηyi
  4. 转到2,直到训练集中没有误分类点
利用余弦相似度进行分类,慢慢向点积靠拢

现在我们假设,有m个训练样本(x1(0),x2(0),...xn(0),y0),(x1(1),x2(1),...xn(1),y1),...(x1(m),x2(m),...xn(m),ym)(x_1^{(0)},x_2^{(0)},...x_n^{(0)},y_0),(x_1^{(1)},x_2^{(1)},...x_n^{(1)},y_1),...(x_1^{(m)},x_2^{(m)},...x_n^{(m)},y_m)(x1(0),x2(0),...xn(0),y0),(x1(1),x2(1),...xn(1),y1),...(x1(m),x2(m),...xn(m),ym)yiy_iyi是第iii个数据的分类标签,我们的训练样本可以分成两个类别,所以标签可以假定为+++−-,其中每一类的样本个数为n+n_+n+n−n_-n

正样本的中心点C+=1n+∑yi=+xiC_+=\frac{1}{n_+} \sum_{y_i=+}x_iC+=n+1yi=+xi,负样本的中心点C−=1n−∑yi=−xiC_-=\frac{1}{n_-} \sum_{y_i=-}x_iC=n1yi=xi,

C+C_+C+C−C_-C有一条差向量w=C+−C−w=C_+-C_-w=C+C,而www的中心点为CCC,所以在CCC点垂直于www的超平面就是两类的分类边界。

而想要把某个样本分为+++的依据为,从CCC点到样本点的向量差与www向量的夹角应该小于90°,也即0&lt;cosθ&lt;10&lt;cos\theta&lt;10<cosθ<1;反之,0&gt;cosθ&gt;−10&gt;cos \theta &gt;-10>cosθ>1。即,当内积为正,那就说明在分类1,内积为负,就说明在分类2。即:
y=sgn(&lt;xi−C,w&gt;)y=sgn(&lt;x_i-C,w&gt;)y=sgn(<xiCw>)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值