多变量线性回归程序实现
2014-06-27 17:46
288 查看
第一步:变量归一化
用函数mean和std求均值和标准差[cpp]
view plaincopyprint?
mu = mean(X);
sigma = std(X);
for i=1:n
X_norm(:,i) = (X_norm(:,i) - mu(i)) ./ sigma(i);
end
第二步:多变量的代价函数计算法
[cpp]view plaincopyprint?
J = (theta'*X'-y')*(X*theta-y)/(2*m);
第三步:多变量的梯度下降法求θ
[cpp]view plaincopyprint?
for iter = 1:num_iters
J_history(iter) = computeCostMulti(X, y, theta);
end
第四步:选取不同的学习速率α,观察代价函数J随迭代量的变化
α=0.001α=0.01
α=0.1
α=1
α=10
第五步:常规方程法求θ
[cpp]view plaincopyprint?
theta = pinv(X'*X)*X'*y;
第六步:用两种方法得到的θ分别检验
注意:常规方程法不需要用变量归一化处理结果:
相关文章推荐
- 单变量线性回归程序实现
- 机器学习入门学习笔记:(2.2)线性回归python程序实现
- 设置环境变量实现使用“运行“快速打开QQ等程序
- 用matlab实现多元线性回归
- 局部加权线性回归及岭回归之Python实现
- 机器学习入门系列二(关键词:多变量(非)线性回归,批处理,特征缩放,正规方程)
- 线性回归的java实现
- PHP实现简单线性回归之数据研究工具(1)
- Linux下搭建Java环境变量并实现第一个Java小程序
- 线性回归梯度下降matlab实现
- 学习日志---线性回归实现
- perl实现设置环境变量并运行程序
- 练习2-1 编写一个程序一确定分别由signed及unsigned限定的char,short,int及long类型变量的取值范围。采用打印标准头文件中的相应值以及直接计算两种方式实现。通过直接计算来确定浮点类型的取值范围是一项难度很大的任务。
- Stanford机器学习---第二讲. 多变量线性回归Linear Regression with multiple variables
- 加权最小二乘回归方法的程序实现范例
- 【SAS NOTES】proc reg 单变量线性回归
- 使用VBScript实现设置系统环境变量的小程序
- Coursera2014 机器学习第一周 单变量线性回归
- n个并发进程共用一个公共变量Q,写出用信号灯实现n个进程互斥的程序描述,给出信号灯值得取值范围,并说明每个取值范围的物理意义。
- 机器学习门户网站——单变量线性回归