Programming Exercise 6:Support Vector Machines

        大家好,我是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    ----高斯核函数,需要修改

                            dataset3Params.m    ---这个是计算最优C,sigma的函数,需要修改

所以,这部分实验我们实际上只要修改两个文件就可以了,非常简单。



1.好的,我们先看算法的实现流程,实现流程是在ex6.m这个文件中:

%% Initialization
clear ; close all; clc
%% =============== Part 1: Loading and Visualizing Data ================
%  We start the exercise by first loading and visualizing the dataset. 
%  The following code will load the dataset into your environment and plot
%  the data.
%

fprintf('Loading and Visualizing Data ...\n')

% Load from ex6data1: 
% You will have X, y in your environment
load('ex6data1.mat');

% Plot training data
plotData(X, y);

fprintf('Program paused. Press enter to continue.\n');
pause;

%% ==================== Part 2: Training Linear SVM ====================
%  The following code will train a line
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
"Robot Programming by Demonstration: A Probabilistic Approach"(RPD)源码是以概率为基础的机器人示教编程方法的源代码。该方法通过展示给机器人示范操作,机器人可以学习并模仿这些操作,实现自主编程。 在该源码中,概率被用于建立机器人对示范动作的理解和学习能力。它通过概率模型来捕捉示范者的意图和行为模式,并帮助机器人从示范数据中进行推断和学习。 源码中可能包含以下部分: 1. 数据采集:通过传感器或摄像头等设备收集示范者的动作数据。 2. 数据处理:对示范数据进行预处理、分析和特征提取,以便机器人能够更好地理解示范者的动作。 3. 概率建模:使用概率方法建立示范者的行为模型,这可以是基于统计模型、贝叶斯推理或其他概率模型。 4. 推理和学习:利用示范者的行为模型,机器人可以从示范数据中进行推断和学习,并生成类似的操作序列。 5. 运动控制:生成的操作序列可以通过机器人的运动控制系统来实施,使机器人按照示范者的方式执行任务。 对于使用者来说,可以使用该源码来实现以下功能: 1. 通过示教来训练机器人执行特定任务,而无需手动编程每个步骤。 2. 提供高度灵活性和个性化,因为用户可以直接展示所需操作,而不需要事先编写复杂的指令。 3. 可用于各种机器人应用领域,如服务机器人、工业自动化、医疗机器人等。 4. 可能具有一定的学习和改进能力,因为机器人可以通过概率推理和再学习来提高执行任务的效率和准确性。 总而言之,“Robot Programming by Demonstration: A Probabilistic Approach”源码提供了一种通过示范来编程机器人的方法,其中概率模型被用于建立示范者的行为模型,以便机器人可以从示范数据中进行学习并自主执行任务。该源码具有广泛的应用潜力,并且可以在不同领域中提供更加灵活和个性化的机器人编程解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值