一碗酸梅汤提示您:看后求收藏(宜小说jmvip5.com),接着再看更方便。
“……
我们定义损失函数如下L,b=?(1||||)∑yi?xi+b,根据预设的学习率η,不断调整权重和偏置b,直到损失函数到达极小点,即可得到可用的函数模型。
综上所述,学习算法如下
先选定训练数据集T=x1,y1,x2,y2,...,xn,yn,yi∈{?1,+1}并指定一个学习率ηo<η<1;
1、任意选定权重和偏置b;
2、读入数据点(xi,yi);
3、判断该数据点是否为误分类点,如果yi?xi+b≤o则更新=+ηyixi;b=b+ηyi;
4、重复进行2、3步,直到没有误分类点。
此时,我们就获得了最佳的和b,把它们代入y=x+b,就得到了一个数学模型。”
感知机的学习过程,有个非常形象的比喻。
假设在一个棋盘上,有一堆黑子,和一堆白子,它们不相混合。
下面,拿一根细棍放上去。
我们希望这根棍子,能恰好将黑子和白子分开,棍子的一边全是黑子,另一边全是白子。
先把棍子随机扔到棋盘上,如果恰好将黑子和白子分开了,那就皆大欢喜,否则的话,就平移和调整棍子的角度,直到所有白子和黑子恰好分开……
那根棍子就是感知机,而挪动棍子的过程,就是感知机在学习。
棍子的角度和平移量,就是要寻找的参数和b,也就是直线(棍子)在平面直角坐标系(棋盘)里的函数解析式。
瞧,够通俗易懂吧?
可惜写论文就不能这么写了。
感知机是人工神经网络的雏形,其中有个关键概念,叫激活函数,它决定了一个神经元是否有输出。
江寒在这里,用一个阶跃函数signx作为激活函数,其定义为x<o时函数取值-1;x≥o时函数值为1。
只要将sign换成sigmoid或者其他非线性函数,就是真正的单层前馈神经网络了。
但江寒并没有着急将sign之外的函数抛出去。
在第一篇论文里,最重要的是提出概念,其他东西完全可以在下一篇论文中再讨论。
能多水几篇,岂不更加美滋滋?
搞定了输入空间是1维的情况,接下来,就可以扩展到n维。
“对于一般情况,当有n个输入信号时,假设输入空间是x∈Rn,输出空间是y∈{+1,-1}。输入x∈x表示实例的特征向量,对应于输入空间的点;输出y属于y表示实例的类别。
由输入空间到输出空间的如下函数Ψ(x)=rsign(1x1+2x2+……+nxn+b)=rsign(Tx+b),就可以称之为感知机,其中∈Rn,b∈R为感知机算法的参数……”
在讨论完n个输入信号的情况后,江寒指出
“模型建立之后,经过训练,就可以得到一组权重和偏置,这些参数确定了一个分离平面(定义为n维空间上的一个n-1维子空间),此平面可以将训练集中的数据,完全正确地分成两份,一份为正,一份为负(或者o,可以自己定义)。”
取得了模型的参数后,就可以把测试数据放进去,根据模型函数运算的结果,就能对数据进行分类。
感知器用处很广泛,几乎所有二分类问题,都可以用它来试一试。
当然,必须是线性可分的问题,线性不可分的问题,是不能用单层感知器解决的。
例如年龄和有没有生活经验,就不存在线性关系;长得帅不帅和学习好不好,也没有线性关系……
关于如何高效地判断数据是否线性可分,江寒还真研究过,只是这个题目比较大,三言两语说不清楚。
嗯……好像又能多水一篇或几篇scI?
喜欢重生学神有系统请大家收藏重生学神有系统本站更新度全网最快。