应用遗传算法优化,我们就可以直接优化SVM的最初情势了也就是最直不雅的情势:
趁便再安利下本身的遗传算法框架,在此框架的赞助下,优化SVM算法我们只须要写几十行的Python代码即可。个中最重要的就是编写适应度函数,根据膳绫擎的公式我们须要计算数据集中每个获得瓜分线的距离并返回最小的距离即可,然后放到遗传算法中进行进化迭代。
遗传算法框架GAFT项目地址: https://github.com/PytLab/gaft , 应用办法详见README。
创建个别与种群
对于二维数据点,我们须要优化的参数只有三个也就是[w1,w2]和b, 个别的定义如下:
种群大年夜小这里取600,创建种群
创建遗传算子和GA引擎
这琅绫腔有什么特其余,直接应用框架中内置的算子就好了。
适应度函数
这一部分只要把膳绫擎svm初始情势描述出来就好了,只须要三行代码:
媒介
开端迭代
这里迭代300代种群
KKT前提许可必定的误差
绘制遗传算法优化的瓜分线

获得的瓜分曲线如下图:
完全的代码详见: https://github.com/PytLab/MLBox/blob/master/svm/svm_ga.py
总结
本文对SVM的优化进行了介绍,重要实现了Platt SMO算法优化SVM模型,尝尝试应用遗传算法框架GAFT对初始SVM进行了优化。
推荐阅读
沙龙晃荡 | 去哪儿、陌陌、ThoughtWorks在主动化运维中的实践!10.28不见不散!比利时研究人员 10 月 16 日表示:WPA2 安然加密协定已经被破解。如不亚妹同伙圈里有一两个略懂一些技巧的石友,那么他必>>>详细阅读
本文标题:机器学习算法实践-Platt SMO和遗传算法优化SVM
地址:http://www.17bianji.com/lsqh/38007.html
1/2 1