大家好,我是Mac Jiang,今天和大家分享一下coursera网站上Stanford University的Machine Learning公开课(吴恩达老师)课程第六次作业:Programming Exercise 6:Support Vector Machines。写这篇博客的目的是为在课程学习中遇到困难的同学提供一些帮助,同时帮助自己巩固这周的课程内容。欢迎博友转载此文章,但希望您在转载之前与我联系并标明文章的出处,谢谢!
由于Programming Exercise 6的作业内容可以分为两大块,即1Support Vector Machines 2Span Classification.其中,第一块主要是描述SVM算法的具体实现过程,是本周课程内容的基础,第二块垃圾邮件分类是基于第一块代码的基础上的具体实际应用。由于文章篇幅有限,本文只讲述第一部分Support Vector Machines的实现过程,第二部分的内容我将在下一篇博客中给出,地址为http://blog.csdn.net/a1015553840/article/details/50826728。
好的,话不多说,开始讲述第一部分的实现过程。
数据集有:ex6data1.mat
ex6data2.mat
ex6data3.mat
实现过程与函数:ex6.m ---控制实验的进程,不用修改
svmTrain.m ---训练SVM算法,是已经开发完善的包,不用修改,直接调用
svmPredict.m ---对新样本进行预测,已开发的包,不用修改,直接调用
plotData.m ----绘制2D图像,不用修改,直接调用
visualizeBoundaryLinear,visualizeBoundaty.m ----可视化决策线,不用修改,直接调用
linearKernel.m ----线性核函数(无核函数),是以完善的包,不用修改,直接调用
guassianKernel.m ----高斯核函数,需要修改
dataset3Pa

本文是Coursera上Stanford University吴恩达老师的Machine Learning课程的第六次编程作业解析,主要涉及Support Vector Machines的实现。作者Mac Jiang分享了如何使用线性核函数和高斯核函数训练SVM,以及如何找到最佳参数C和σ。内容包括数据集ex6data1至ex6data3的加载和可视化,SVM训练和决策线绘制,以及在不同数据集上的应用。

1653

被折叠的 条评论
为什么被折叠?



