转行程序员2 机器学习 线性回归 Linear Regression II 纯属敦促自己学习
来源:互联网 发布:pdf文件修改软件 编辑:程序博客网 时间:2024/04/29 04:02
主要学习了Andrew Ng的公开课 machine learning 之Linear Regression II,其exercise网址如下
http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=MachineLearning&doc=exercises/ex3/ex3.html
scale 后的 normal equation 所得到的 theta2与 梯度下降法得到的theta 数值相同
而均与未经scale处理,利用normal equation所得的theta1不同。
编写的代码如下:
%%%%%%%%%%%%%%%%%%%%%%%%Linear regression2clear all; close all; clc
x = load('ex3x.dat');
y = load('ex3y.dat');
m = length(y); % store the number of training examples 样本数量
x = [ones(m, 1), x]; % Add a column of ones to x
%%%%%%%%%%%%%%%%%%%%%%%%% normal equations
theta1=(x'*x)\x'*y;
% scale
sigma = std(x);
mu = mean(x);
x(:,2) = (x(:,2) - mu(2))./ sigma(2);
x(:,3) = (x(:,3) - mu(3))./ sigma(3);
theta=zeros(3,1);
alpha=1;% learning rate
J = zeros(50, 1);
for inter=1:50 % 迭代次数
h_theta=x*theta;
J(inter) = 1/2/m*(h_theta-y)'*(h_theta-y);
theta=theta-alpha/m*x'*(h_theta-y);
end
% now plot J
% technically, the first J starts at the zero-eth iteration
% but Matlab/Octave doesn't have a zero index
figure;
plot(0:49, J(1:50), '-')
xlabel('Number of iterations')
ylabel('Cost J')
%%%%%%%%%%%%%%%%%%%%%%%%% normal equations
theta2=(x'*x)\x'*y;
0 0
- 转行程序员2 机器学习 线性回归 Linear Regression II 纯属敦促自己学习
- 转行程序员1 机器学习 线性回归 Linear Regression 纯属敦促自己学习
- 转行程序员3 机器学习 Logistic Regression 纯属敦促自己学习
- 转行程序员4 机器学习 Regularization 纯属敦促自己学习
- 机器学习:线性回归(Linear Regression)
- 【机器学习】线性回归Linear Regression
- 机器学习1 线性回归 Linear Regression
- 机器学习II. Linear Regression with One Variable (Week 1) 单特征线性回归
- 斯坦福大学机器学习——线性回归(Linear Regression)
- 机器学习手记[9]--线性回归linear regression
- 机器学习(1)---线性回归(Linear Regression)
- 机器学习(一)------- 线性回归(Linear regression )
- Andrew机器学习笔记1:线性回归 linear regression
- 机器学习之线性回归(Linear Regression)
- 机器学习1——线性回归Linear Regression
- [笔记]机器学习(Machine Learning) - 01.线性回归(Linear Regression)
- 机器学习二-线性回归(linear regression)
- 机器学习算法之线性回归(Linear Regression)
- 谷歌chrome浏览器的源码分析(六)
- ListView控件的应用
- 科技公司钟爱的50款开源工具
- 内存管理总结-ARC和非ARC
- Interview Q&A and Experience
- 转行程序员2 机器学习 线性回归 Linear Regression II 纯属敦促自己学习
- PAT:二分查找
- Java源码解析-BlockingQueue
- 有用的链接
- android监听SD卡挂载并获取路径
- 谷歌chrome浏览器的源码分析(七)
- Vmstat 2 详解
- Redis+Spring缓存实例(windows环境,附实例源码及详解)
- c语言学习之数组指针