返回第20章 写论文(2 / 2)一碗酸梅汤首页

关灯 护眼     字体:

上一页 目录 下一章

江寒越写越顺,下笔如飞。

“……

我们定义损失函数如下:L(w,b)=?(1/||w||)∑y i (w?x i +b),根据预设的学习率η,不断调整权重w和偏置b,直到损失函数到达极小点,即可得到可用的函数模型。

综上所述,学习算法如下:

首先选定训练数据集T=(x1,y1),(x2,y2),...,(xN,yN),yi∈{?1,+1}并指定一个学习率η(0<η<1);

1、任意选定权重w和偏置b;

2、读入数据点(xi,yi);

3、判断该数据点是否为误分类点,如果yi(w?xi+b)≤0 则更新w=w+ηyixi;b=b+ηy i;

4、重复进行2、3步,直到没有误分类点。

此时,我们就获得了最佳的w和b,把它们代入y=wx+b,就得到了一个数学模型。”

感知机的学习过程,有个非常形象的比喻。

假设在一个棋盘上,有一堆黑子,和一堆白子,它们不相混合。

下面,拿一根细棍放上去。

我们希望这根棍子,能恰好将黑子和白子分开,棍子的一边全是黑子,另一边全是白子。

先把棍子随机扔到棋盘上,如果恰好将黑子和白子分开了,那就皆大欢喜,否则的话,就平移和调整棍子的角度,直到所有白子和黑子恰好分开……

那根棍子就是感知机,而挪动棍子的过程,就是感知机在学习。

棍子的角度和平移量,就是要寻找的参数w和b,也就是直线(棍子)在平面直角坐标系(棋盘)里的函数解析式。

瞧,够通俗易懂吧?

可惜写论文就不能这么写了。

感知机是人工神经网络的雏形,其中有个关键概念,叫激活函数,它决定了一个神经元是否有输出。

江寒在这里,用一个阶跃函数sign(x)作为激活函数,其定义为: x<0时函数取值-1; x≥0时函数值为1。

只要将sign换成sigmoid或者其他非线性函数,就是真正的单层前馈神经网络了。

但江寒并没有着急将sign之外的函数抛出去。

在第一篇论文里,最重要的是提出概念,其他东西完全可以在下一篇论文中再讨论。

能多水几篇,岂不更加美滋滋?

搞定了输入空间是1维的情况,接下来,就可以扩展到N维。

“对于一般情况,当有n个输入信号时,假设输入空间是x∈Rn,输出空间是y∈{+1,-1}。输入x∈X 表示实例的特征向量,对应于输入空间的点;输出y属于Y 表示实例的类别。

由输入空间到输出空间的如下函数:Ψ(x)=rsign(nxn+b)=rsign(wTx+b),就可以称之为感知机,其中w∈Rn,b∈R为感知机算法的参数……”

在讨论完n个输入信号的情况后,江寒指出:

“模型建立之后,经过训练,就可以得到一组权重和偏置,这些参数确定了一个分离超平面(定义为n维空间上的一个n-1维子空间),此超平面可以将训练集中的数据,完全正确地分成两份,一份为正,一份为负(或者0,可以自己定义)。”

取得了模型的参数后,就可以把测试数据放进去,根据模型函数运算的结果,就能对数据进行分类。

感知器用处很广泛,几乎所有二分类问题,都可以用它来试一试。

当然,必须是线性可分的问题,线性不可分的问题,是不能用单层感知器解决的。

例如年龄和有没有生活经验,就不存在线性关系;长得帅不帅和学习好不好,也没有线性关系……

关于如何高效地判断数据是否线性可分,江寒还真研究过,只是这个题目比较大,三言两语说不清楚。

嗯……好像又能多水一篇或几篇SCI?

本站域名已经更换为m.adouyinxs.com 。请牢记。
『加入书签,方便阅读』

上一页 目录 下一章