斯坦福机器学习课程 Exercise 习题三
来源:互联网 发布:java 计算法定节假日 编辑:程序博客网 时间:2024/05/16 05:17
Exercise 3: Multivariate Linear Regression
预处理数据
Preprocessing the inputs will significantly increase gradient descent’s efficiency
Matlab代码
x=load('L:\\MachineLearning2016\\ex3x.dat');y=load('L:\\MachineLearning2016\\ex3y.dat');m = length(x(:,1));x = [ones(m, 1), x];sigma = std(x);mu = mean(x);x(:,2) = (x(:,2) - mu(2))./ sigma(2);x(:,3) = (x(:,3) - mu(3))./ sigma(3);%%规整化输入数据theta = zeros( size( x(1,:) ) )';alpha= 0.18;J = zeros(50, 1); %%这里只迭代50次for num_iterations = 1:50 J(num_iterations) = (x*theta - y)' * (x * theta -y) /m/2; %% Calculate your cost function here %% theta = theta -( (x*theta -y)' * x)' * alpha /m /2; %% Result of gradient descent update %%end% now plot J% technically, the first J starts at the zero-eth iteration% but Matlab/Octave doesn't have a zero indexfigure;plot(0:49, J(1:50), '-')xlabel('Number of iterations')ylabel('Cost J')%Predictionrealx =[1,1650,3];realx(2) = (realx(2) - mu(2))./ sigma(2);realx(3) = (realx(3) - mu(3))./ sigma(3);realx*theta
Normal equations
不对数据进行预处理
x=load('L:\\MachineLearning2016\\ex3x.dat');y=load('L:\\MachineLearning2016\\ex3y.dat');m = length(x(:,1));x = [ones(m, 1), x];theta = (x'*x) \(x'*y);J3= (x*theta - y)' * (x * theta -y)/m/2; realx =[1,1650,3];realx*theta;
TIPS:Normal equations 好处是不用对数据进行规整化。缺点是矩阵运算比较占用计算机资源。
这里有个疑问,对要预测的数据的处理,[1,1650,3],规整化是否是直接使用样本数据的均值和标准差。
注:上面的 scale data 只迭代了50次,与Normal equations的结果有较大误差。我就懒得去验证了。
0 0
- 斯坦福机器学习课程 Exercise 习题三
- 斯坦福机器学习课程 Exercise 习题二
- 斯坦福机器学习课程 Exercise 习题四
- 斯坦福机器学习课程
- 斯坦福机器学习课程目录
- 斯坦福机器学习在线课程笔记
- UFLDL教程[斯坦福机器学习课程]
- 斯坦福机器学习课程笔记(第五讲)
- 斯坦福NG机器学习课程:Dimensionality_reduction笔记
- 机器学习-斯坦福课程系列1【基本概念】
- (斯坦福机器学习课程笔记)EM算法
- 斯坦福机器学习课程笔记1
- 斯坦福机器学习笔记三
- (斯坦福机器学习课程笔记)牛顿法算法学习
- 斯坦福NG机器学习课程:Anomaly Detection笔记
- 斯坦福机器学习课程笔记week4&5-神经网络
- 机器学习(斯坦福课程2)梯度下降
- (斯坦福机器学习课程笔记)多项式回归练习
- oracle数据库出现 TNS:no appropriate service handler found 解决办法
- C/C++面试题大集锦
- Hessian学习笔记之Hessian实例
- 存储过程
- 设计模式六大原则
- 斯坦福机器学习课程 Exercise 习题三
- 图像处理中的数学原理详解21——PCA实例与图像编码
- 使用Spring-data-redis操作Redis的Sentinel
- oracle 创建唯一索引
- 29.Which two statements are true regarding constraints?
- EditText
- shell学习(3)-循环语句(for、while、函数)
- android中的分割线
- 兔子增长序列(第1届第3题)