deep learning 练习 多变量线性回归
多变量线性回归(Multivariate Linear Regression)
这次的多变量线性回归问题,输入特征向量X是二维的,一个维度表示房间面积,一个维度表示房间数量,输出Y是房子的价格。
这一次试着自己找了一下合适的学习速率和迭代次数
合适的学习速率通过看损失函数J()的下降曲线来判断
其中损失函数这样计算:
合适的损失函数下降曲线该是这样:

在线法进行迭代的时候,大约200次就会很好的收敛到真值。
而离线法的计算公式为:
可以很精确的计算出回归模型的参数。
作者多次提醒,在线法计算的时候,需要对各个维度的数据进行归一化,这样大大有利于参数收敛,可以很快的收敛到真值附近。
而离线算法是精确的求解线性方程组,不需要数据预处理,只需要特征向量X拓展一个截距项就行。
但是-------离线算法需要求解矩阵的逆,当数据量较大的时候,这个方法就不适合了。
clc
clear all;
close all;
x = load('ex3x.dat');%加载数据
y = load('ex3y.dat');
%%%%--------------------数据预处理----------------------%%%%%%
m = length(y);
x = [ones(m, ), x]; theta2=(x'*x)^(-1)*x'*y;%%%%%%%%%%%%--离线算法计算---%%%%%%%%%% sigma = std(x);%取方差
mu = mean(x);%取均值
x(:,) = (x(:,) - mu())./ sigma();%归一化
x(:,) = (x(:,) - mu())./ sigma();%归一化 theta = zeros(size(x(,:)))'; % initialize fitting parameters
alpha = 0.08; %% Your initial learning rate %%
J = zeros(, ); %初始化损失函数 for num_iterations = :
J(num_iterations) = //m*sum(x*theta-y)^;%批量梯度下降
theta = theta-alpha./m.*x'*(x*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(:, J(:), '-')
xlabel('Number of iterations')
ylabel('Cost J') x_test=[,,];%测试样本
y2=x_test*theta2 %------离线算法结果测试 x_test() = (x_test() - mu())./ sigma();%归一化
x_test() = (x_test() - mu())./ sigma();%归一化 y1=x_test*theta %-------在线迭代算法结果测试
deep learning 练习 多变量线性回归的更多相关文章
- deep learning 练习1 线性回归练习
线性回归练习 跟着Andrew Ng做做练习:http://openclassroom.stanford.edu/MainFolder/DocumentPage.php?course=DeepLear ...
- 吴恩达Machine Learning学习笔记(二)--多变量线性回归
回归任务 多变量线性回归 公式 h为假设,theta为模型参数(代表了特征的权重),x为特征的值 参数更新 梯度下降算法 影响梯度下降算法的因素 (1)加速梯度下降:通过让每一个输入值大致在相同的范围 ...
- [Machine Learning] 多变量线性回归(Linear Regression with Multiple Variable)-特征缩放-正规方程
我们从上一篇博客中知道了关于单变量线性回归的相关问题,例如:什么是回归,什么是代价函数,什么是梯度下降法. 本节我们讲一下多变量线性回归.依然拿房价来举例,现在我们对房价模型增加更多的特征,例如房间数 ...
- 转载 Deep learning:三(Multivariance Linear Regression练习)
前言: 本文主要是来练习多变量线性回归问题(其实本文也就3个变量),参考资料见网页:http://openclassroom.stanford.edu/MainFolder/DocumentPage. ...
- Reading | 《DEEP LEARNING》
目录 一.引言 1.什么是.为什么需要深度学习 2.简单的机器学习算法对数据表示的依赖 3.深度学习的历史趋势 最早的人工神经网络:旨在模拟生物学习的计算模型 神经网络第二次浪潮:联结主义connec ...
- Top Deep Learning Projects in github
Top Deep Learning Projects A list of popular github projects related to deep learning (ranked by sta ...
- Deep Learning 6_深度学习UFLDL教程:Softmax Regression_Exercise(斯坦福大学深度学习教程)
前言 练习内容:Exercise:Softmax Regression.完成MNIST手写数字数据库中手写数字的识别,即:用6万个已标注数据(即:6万张28*28的图像块(patches)),作训练数 ...
- Stanford机器学习---第二讲. 多变量线性回归 Linear Regression with multiple variable
原文:http://blog.csdn.net/abcjennifer/article/details/7700772 本栏目(Machine learning)包括单参数的线性回归.多参数的线性回归 ...
- 机器学习(Machine Learning)&深度学习(Deep Learning)资料【转】
转自:机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一 ...
随机推荐
- 深入理解javascript中实现面向对象编程方法
介绍Javascript中面向对象编程思想之前,需要对以下几个概念有了解: 1. 浅拷贝和深拷贝:程序在运行过程中使用的变量有在栈上的变量和在堆上的变量,在对象或者变量的赋值操作过程中,大多数情况先是 ...
- B - Dividing
Time Limit:1000MS Memory Limit:10000KB 64bit IO Format:%I64d & %I64u Submit Status Descr ...
- android库站点
图片加载库picasso:让本地图片.网络图片的加载变得如此简单. 引导页面的开源框架 guideshow自带小动画,但sdk要求18+ AppIntro界面很简约漂亮 circleindicator ...
- 用python+selenium抓取豆瓣读书中最受关注图书并按评分排序
抓取豆瓣读书中的(http://book.douban.com/)最受关注图书,按照评分排序,并保存至txt文件中,需要抓取书籍的名称,作者,评分,体裁和一句话评 方法一: #coding=utf-8 ...
- 更新系统没有mac dashboard 问题解决
今天更新了mac的系统到EL Capitan,结果出来以后发现平时经常使用的mac dashboard没了,就是这玩意: 找了半天方法,终于知道了这个叫“dashboard” (md之前完全不知道,无 ...
- CvMat结构
一.创建矩阵的方式: 1.cvCreateMat(int rows,int cols,int type),Type可以使任何预定义类型.Type的写法规则:CV_<bit_depth>(S ...
- Apache2 部署 Django
环境: debian8 apache2.4.10 #请注意自己的apache版本,不同版本配置文件结构差异很大 django1.10 python3.4 默认ap ...
- HDU 5936 Difference
题意: 有一个函数f(y, k) = y的每个十进制位上的数字的k次幂之和 给x, k 求 有多少个y满足 x = f(y, k) - y 思路: (据说这叫中途相遇法?) 由于 x >= 0 ...
- 流编辑器-sed
sed 参数: 1.'s' 替换 sed 's/search-word/replace-word/' file-name 替换file-name文件中的search-word为replace-word ...
- CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH
CentOS上安装软件错误提示:configure: error: no acceptable C compiler found in $PATH 因为是centos linux,默认可以采用yum方 ...