斯坦福机器学习课程 Exercise 习题二
来源:互联网 发布:java有趣的程序 编辑:程序博客网 时间:2024/05/23 02:01
Exercise 2: Linear Regression
话说
Matlab代码
迭代并且画出拟合曲线
Linear regression 公式如下
batch gradient descent update rule
x = load('L:\\MachineLearning2016\\ex2x.dat');y = load('L:\\MachineLearning2016\\ex2y.dat');m = length(y);x = [ones(m, 1), x];theta=[0,0];%row vectorfigure % open a new figure windowplot(x(:,2), y, 'o');ylabel('Height in meters')xlabel('Age in years')hold on % Plot new data without clearing old plotplot(x(:,2), x*transpose(theta), '-')legend('Training data', 'Linear regression')%迭代方式1 newTheta1 =theta(1,1) - transpose(x(:,1)) * (x*transpose(theta) -y) *0.07 * 0.02; newTheta2 =theta(1,2) - transpose(x(:,2)) * (x*transpose(theta) -y) *0.07 * 0.02; theta=[newTheta1,newTheta2]; %迭代方式2 for ii = 1:1500 theta = theta - transpose( x*transpose(theta) -y ) * x * 0.07 * 0.02; if rem(ii,100) == 0 hold on % Plot new data without clearing old plot plot(x(:,2), x*transpose(theta), '-') end end hold on % 打印最后一条拟合曲线 plot(x(:,2), x*transpose(theta), '+')
画出J(θ) 的图像
Understanding
J_vals = zeros(100, 100); % initialize Jvals to 100x100 matrix of 0'stheta0_vals = linspace(-3, 3, 100);theta1_vals = linspace(-1, 1, 100);for i = 1:length(theta0_vals) for j = 1:length(theta1_vals) t = [theta0_vals(i); theta1_vals(j)];%column vector J_vals(i,j) = sum( (x*t' -y).^2 ) * 0.01; endend% Plot the surface plot% Because of the way meshgrids work in the surf command, we need to % transpose J_vals before calling surf, or else the axes will be flippedJ_vals = J_vals';figure;surf(theta0_vals, theta1_vals, J_vals)xlabel('\theta_0'); ylabel('\theta_1')
0 0
- 斯坦福机器学习课程 Exercise 习题二
- 斯坦福机器学习课程 Exercise 习题三
- 斯坦福机器学习课程 Exercise 习题四
- 斯坦福机器学习课程
- 斯坦福机器学习课程目录
- 斯坦福机器学习在线课程笔记
- UFLDL教程[斯坦福机器学习课程]
- 斯坦福机器学习课程笔记(第五讲)
- 斯坦福NG机器学习课程:Dimensionality_reduction笔记
- 机器学习-斯坦福课程系列1【基本概念】
- (斯坦福机器学习课程笔记)EM算法
- 斯坦福机器学习课程笔记1
- 斯坦福机器学习笔记二
- (斯坦福机器学习课程笔记)牛顿法算法学习
- 斯坦福机器学习笔记(二)
- 斯坦福NG机器学习课程:Anomaly Detection笔记
- 斯坦福机器学习课程笔记week4&5-神经网络
- 机器学习(斯坦福课程2)梯度下降
- iOS开发 3D Touch的简单使用
- Android多屏幕适配资源生成
- python 快速排序
- 今天创建博客了
- mysql insert_select ID 自增长
- 斯坦福机器学习课程 Exercise 习题二
- android 动画之 属性动画propertyAnimator(一)
- atitit.网络文件访问协议.unc smb nfs ftp http的区别
- iOS 从摄像头获取YUV420SP数据
- sqlite基础语法
- bootstrap学习网站
- MapReduce Kmeans聚类算法
- 在项目中常见的问题,是时候总结点常见的小的问题了
- Ext.js5的数组表格(3)