深度学习(线性回归练习)
2016-08-17 16:58
302 查看
线性回归
我是在博客园中找到了一些深度学习的编程链接,打算最近练习一下。深度学习编程练习
今天复习了一下使用梯度下降法求解线性回归问题,忘记了梯度下降法,找了一个链接看了一下,主要记住代价函数公式定义和参数更新的过程。
梯度下降法
下面是我在Matlab上做的链接中的练习题,题目内容大致是对给定的一组年龄和身高的关系进行线性拟合。
%%导入数据 clear; clc; close all; x=load('ex2x.dat'); y=load('ex2y.dat'); %画图 figure; plot(x,y,'o'); hold on; %%梯度下降法 x=[ones(50,1),x]; theta=zeros(length(x(1,:)),1); MAX_intera=1000; %最大迭代次数 m=size(x,1); %样本个数 alpha=0.01; %学习速率 for i=1:MAX_intera grad=(1/m).*x'*(x*theta-y); theta=theta-alpha.*grad; end %% 画图表示 %画出预测结果 plot(x(:,2),x*theta,'--'); legend('Training data', 'Linear regression'); hold off figure; theta0=linspace(-3,3,100); theta1=linspace(-3,3,100); J=zeros(length(theta0),length(theta1)); for i=1:length(theta0) for j=1:length(theta1) t=[theta0(i),theta1(j)]; J(i,j)=(0.5/m).*((x*t')-y)'*((x*t')-y); end end [x,y]=meshgrid(theta0,theta1); surf(theta0,theta1,J); figure; contour(theta0, theta1,J, logspace(-2, 2, 15));
结果显示
相关文章推荐
- Several ports (8005, 8080, 8009) required by Tomcat v7.0 Server at localhost are already in use.
- CopyOnWriteArrayList源码分析
- RSYNC实现文件同步
- 安装Rstudio-server步骤
- Laravel 5.2 教程 - 数据填充
- 移动H5前端性能优化指南
- 笨笨种西瓜(差分约束)题解
- 欢迎使用CSDN-markdown编辑器
- 代码重构书籍推荐
- Linux入门之常用命令(11)复制cp及scp
- 如何参与linux 内核开发
- JS与OC互调,JS打开系统相机,JS获取iOS系统图片,iOS中JS调OC
- iOS中 扫描二维码/生成二维码详解
- 求子序列 DP
- jQuery 全选 全部选 反选 实现代码
- 解决Hash冲突的办法
- 转载_我们离DevOps有多远:持续集成思想的延伸
- Mobile开发之meta篇 - 秋尘
- sphinx架构设计 -- 高并发rt实时索引
- JZOJ4709. Matrix