斯坦福机器学习第七周作业中找出最佳C和sigma的代码
来源:互联网 发布:java定义数组并赋值 编辑:程序博客网 时间:2024/06/05 07:30
C_vec = [0.01 0.03 0.1 0.3 1 3 10 30]'; %为C拟定一组初值
sigma_vec = [0.01 0.03 0.1 0.3 1 3 10 30]'; %为sigma拟定一组初值
for i = 1:length(C_vec)
for j = 1:length(sigma_vec)
model = svmTrain(X,y, C_vec(i), @(x1, x2) gaussianKernel(x1, x2, sigma_vec(j))); %通过调用svmTrain函数来计算
predictions = svmPredict(model,Xval); %预测
error_val(i,j) = mean(double(predictions~=yval)); %保存误差
end
end
[minval,ind] = min(error_val(:)); %保存最小误差所在的行列
sigma = sigma_vec(J) % 0.100
sigma_vec = [0.01 0.03 0.1 0.3 1 3 10 30]'; %为sigma拟定一组初值
error_val = zeros(length(C_vec),length(sigma_vec)); %用于保存验证集误差
error_train = zeros(length(C_vec),length(sigma_vec)); %用于保存训练集误差for i = 1:length(C_vec)
for j = 1:length(sigma_vec)
model = svmTrain(X,y, C_vec(i), @(x1, x2) gaussianKernel(x1, x2, sigma_vec(j))); %通过调用svmTrain函数来计算
predictions = svmPredict(model,Xval); %预测
error_val(i,j) = mean(double(predictions~=yval)); %保存误差
end
end
[minval,ind] = min(error_val(:)); %保存最小误差所在的行列
[I,J] = ind2sub([size(error_val,1) size(error_val,2)],ind);
%在 FreeMat、 Matlab中,该函数用于把 数组中元素索引值转换为该元素在数组中对应的下标
%Example1:
IND = [3 4 5 6]
s = [3,3];
[I,J] = ind2sub(s,IND)
I = 3 1 2 3
J = 1 2 2 2
IND表示索引值,s表示数组的大小,i,j表示索引值所在的位置(按列优先)
C = C_vec(I) % 1sigma = sigma_vec(J) % 0.100
0 0
- 斯坦福机器学习第七周作业中找出最佳C和sigma的代码
- coursera斯坦福Andrew Ng的机器学习编程作业答案
- 斯坦福机器学习课程神经网络作业的Python实现
- 斯坦福机器学习Coursera课程:第二周作业--一元和多元线性回归
- 斯坦福机器学习Coursera课程:第三周作业--逻辑回归
- 关于Coursera上的斯坦福机器学习课程的编程作业提交问题
- 斯坦福机器学习公开课第一次编程作业
- (斯坦福机器学习课程笔记)正则化和机器学习应用的建议
- 斯坦福斯坦福机器学习第六周课后练习
- 斯坦福:机器学习系统的设计
- c语言学习平时作业和未来关于学习机器学习方面的计划
- 斯坦福机器学习1
- 斯坦福机器学习课程
- 斯坦福机器学习
- 斯坦福 机器学习 ex1
- 斯坦福 机器学习 ex2
- 斯坦福机器学习记录
- Coursera机器学习 week5 神经网络的学习 编程作业代码
- SQLi Labs Lesson1
- 过滤器应用案例分析
- C++常见知识点总结
- 写一个宏可以将一个数字的奇数位和偶数位交换
- 错误: 找不到或无法加载主类 Main
- 斯坦福机器学习第七周作业中找出最佳C和sigma的代码
- IScroll 实践指南(上)
- PL/SQL Developer(解压版)连接64位的Oracle11g
- Struts2支持的结果类型
- 最大生成树
- hdu 4276 The Ghost Blows Light 树形dp 时间优化技巧
- Linux知识点小结One
- IScroll 实践指南(中)
- Android中Toolbar的使用