感知机计算例题,感知机能实现与运算和或运算,但无法解决实现异或运算
1.感知器概念感知器学习算法非常简单,容易实现。一步一步看完,自然就明白了。1.1感知器简介,感知器。它是二级分类的线性分类模型。它的输入是实例的特征向量,输出是实例的类别。类别的取值范围={ 1,-1},即感知器(x)=-1或1。
感知机对应的是在输入空间将实例分为正负两类的分离超平面,即平面一侧的实例为正,平面另一侧的实例为负。你知道,感知器是一个判别模型,就是给感知器一个实例,它返回的结果会告诉你这个实例是正的还是负的。如果为正,感知器将返回值1,如果为负,将返回-1。就这么简单。
感知器使用基于误分类的损失函数,即损失函数的返回值是你的输入实例集被判别后的判别错误数。感知器使用梯度下降法最小化损失函数。
感知机是神经网络和支持向量机的基础。
1.2感知器定义为f(x)=sign(w*x b),称为感知器,其中x为输入空间,f(x)为输出空间,f(x){ 1,-1},w,b为感知器的模型参数,即f(x)由模型参数{w,b}的集合确定并表示。
W称为权重或权重向量,B称为偏差,w*x表示W和x的内积。
Sign是一个符号函数:sign(x)=1,x=0 sign(x)=-1,x01.3感知器线性方程w*x b=0的几何解释对应于特征空间中的一个超平面S,那么w是该超平面的法向量,b是该超平面的截距。
这个超平面将特征空间分为两部分,超平面上下两侧的特征点分为正负两类,所以超平面S称为分离超平面,可以形象地表示如下:
1.4感知机器学习概念感知机器f(x)=sign(w*x b),通过感知机器学习来学习。感知机器学习是通过学习训练数据集获得的。
训练数据集由特征向量和实例类别组成,如下所示:
T={(x1,y1),(x2,y2),(xn,yn)},其中y{ 1,-1},x是特征空间中的特征值,y是x的分类值。
感知器学习通过学习训练数据集T获得感知器模型参数w和b.
1.5感知器预测感知器f(x)=sign(w*x b)是通过感知器学习得到的,其中w和b已经得到。
我们输入一个新的实例X,感知器f(x)给出相应的输出类别——1或1,这就是感知器预测。
2.感知器的学习策略2.1感知器学习的损失函数。感知器的功能是正确分类给定的实例。感知器的学习策略是感知器对输入实例集进行预测后的预测错误总数。
例如,如果有一个输入空间X=[1,3,6,8],输出空间Y=[-1,-1,-1,1]由感知器预测,但正确的输入空间应该是[-1,1,1,1],这意味着感知器预测的错误数=2。
感知器学习定义的损失(经验)函数是感知器预测的错误数,用公式表示。
用上面的例子给出损失函数的计算过程:
以上是误分类点的集合,那么M=[3,6],那么损失函数计算过程:
L (w,b)=-1 *(y2 * f(x2)y3 * f(x3))=-1 *(1 * f(3)1 * f(6))=-1 *(1 *-1 1 *-1)=-1 *(1)
2.2损失函数连续可导显然,损失函数是非负的。如果没有误分类点,损失函数值为0。而且误分类点越少,误分类点越接近超平面,损失函数值越小。
特定样本点的损失函数:误分类时是参数w,b的线性函数,正确分类时为0。因此,给定训练数据集T,损失函数L(w,b)是w,b的连续导函数。
3.感知器学习算法的原始形式来自:《统计学习方法》 ymdlq。
因为算法的思路和步骤非常简单,所以直接看下图,不做详细解释。
Python代码实现见博客:【机器学习】【感知器-2】感知器学习算法原始形式的Python实现。
4.感知机学习算法的对偶形式
出发地:《统计学习方法》
Python代码实现见博客:【机器学习】【感知器-3】Python实现感知器学习算法的对偶形式。
参考《统计学习方法》 ymdlq
(完)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。