- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
利用梯度下降法的分类实现题 目
利用梯度下降法的分类实现
题 目
二○一八年三月
模 式 识 别
`
院 系
专业班级
学生姓名
学 号
1、问题重述
利用Matlab软件编写梯度下降法函数,利用该函数对以下三组数据进行分类
1)数据一:
第一类:(0,0)(0,1)
第二类:(1,0)(1,1)
2)数据二:
第一类:(90,150)(90,160)(80,150)(60,140)
第二类:(60,105)(50,80)(50,90)(80,125)
3)数据三:
第一类:(0,0)(1,1)
第二类:(1,0)(0,1)
要求在以下不同情况下进行测试,并对结果进行对比分析。
1)初始权值取3种不同的值;
2)步长取不同的值,可以尝试变步长方法;
3) 采用单样本修正法和全样本修正法两种方式;
4) 单样本情况下不同的样本迭代次序,从1到n,和,从n到1。
2、算法流程
梯度下降法利用函数的极值原理来进行寻优,是一种常用的线性分类方法。
2.1算法特性
梯度下降法的运算结果和执行过程具有不定性,这是由算法本身特点所导致的。梯度下降算法往往会随着实验的重复展现不同的结果。最终的寻优结果与初始权值的选择和样本数据的迭代顺序有关。此外,在使用梯度下降法之前最好首先确定所求结果的大致位置,这样可以缩短运算时间,提高运行效率和准确程度。
2.2定步长与变步长
梯度下降的步长直接影响着算法的效率。合理选择步长dt可以极大的减轻运算压力,提高算法的精度。常用的固定增量法是按定步长的方式进行运算的,每次迭代算法以同样的速率前进,直到找到最优结果。
随着运算次数的增加,权向量越来越接近最优结果,此时适当的减小步长,可以提升算法的运行效率。除了定步长方式,本次作业还选择了线性变步长的算法,即dtk+1=a*dtk。根据黄金分隔定律,将a选为0.618,以此实现变步长的梯度下降法。
2.3固定增量法
固定增量法是一种代表性的梯度下降法,它的核心是迭代运算。每次迭代利用误分类的数据修正权向量,直到权向量满足要求或者算法运行时间达到上限。
根据修正方法的不同,固定增量法又分为单样本修正法和批量修正法。
单样本修正法是每出现一个误分类的样本就修正一次权向量。而批量修正法则是将所有样本数据都计算一次后,再根据误分类的样本修正权向量,之后再进入下次迭代。
单样本修正算法和批量修正算法的核心流程如下图所示。
图1 固定增量法算法流程
3、运行结果
3.1数据一
1)在步长为1,单样本修正条件下,三种不同初始权值的分类
图2 三种不同初始权值下的分类结果
表1三种不同初始权值下的分类对比
初始权值
寻优结果
寻优轮数
[0,0,0]
[1,-2,0]
4
[10,10,10]
[1,-4,2]
11
[100,100,100]
[1,-27,24]
79
对比三条输出曲线,可以发现不同的初始权值会导致出现不同的分类函数。此外,初始权值选择的越合理,越接近寻优结果,代码的运行次数越少。因此一个合理的初始权值可以有效的提高代码效率,提升分类结果的满意程度。
2)在初始权值为[0,0,0],单样本修正方法下进行的不同步长的分类
图3 三种不同步长下的分类结果
表2 三种不同步长下的分类结果
步长dt
寻优结果
寻优轮数
5
[5,-10,0]
4
0.1
[0.1,-0.2,0]
4
初值0.1,以0.689的速度线性变化
[0.0236,-0.0382,0]
2
步长的选取会对最后的寻优结果产生一定的影响,但更多的是影响寻优的效率。随着权向量接近越来越接近寻优结果,适当减小步长可以提升算法的运行效率。
3)在初始权值[0,0,0],步长dt=1条件下,单样本与多样本的分类结果对比
图4 单样本修正与批量样本修正下的分类结果对比
表3 三种不同步长下的分类结果
修正方式
寻优结果
寻优轮数
单样本
[1,-2,0]
4
批量
[0.1,-0.2,0]
5
因为算法的不同,单样本修正与批量样本修正下的寻找的分类函数会有一定的不同,代码的运算效率也因此产生差异。
3.2数据二
1) 在步长为0.01,单样本修正方式下,初始权值为[-700,0,0]下进行分类,以直线的形式将线性分类函数的搜索过程展现在下图当中。
图5 单样本搜寻过程
图6 批量修正搜寻过程
图5和图6分别将单样本和多样本修正法对分类函数的寻优过程呈现出来。根据两幅图像,可以明显的发现两种寻优方式的计算轨迹是有所不同的。
2)在步长为0.01,单样本修正方式下进行的,三种不同初始权值的分类
图7 三种不同初始权值下的分类结果
表3三种不同初始权值下的分类对比
初始权值
寻优结果
寻优轮数
[-700,1,10]
[-1559.9,4,
原创力文档


文档评论(0)