机器学习笔记——梯度下降:
来源:互联网 发布:老人摔倒报警器 知乎 编辑:程序博客网 时间:2024/06/05 00:27
Andrew Ng教授在机器学习课程里介绍了两种梯度下降的方法:(1)批梯度下降 (2)随机梯度下降 (增量梯度下降)
(1)批梯度下降算法
公式:
代码:
clear all; close all; %批梯度下降load x.mat; load y.mat; x=[ones(6,1),x];n=size(x,2);%特征维数 m=size(x,1);%样本个数 alpha=0.001; theta=zeros(n,1);%参数初始化为0向量 for k=1:10000 for j=1:m for i=1:n theta(i,1)=theta(i,1)-alpha*(x(j,:)*theta-y(j,1))*x(j,i); end end end figure; plot(x(:,2),y,'r.');%原始数据 hold on; y=theta'*x';%拟合数据 plot(x(:,2),y); for i=1:n fprintf('theta%d=%f;\n',i-1,theta(i,1));%打印估计的参数 end %完
批梯度下降算法的优点是能找到局部最优解,但是若训练样本m很大的话,其每次迭代都要计算所有样本的偏导数的和,时间过慢,于是采用下述另一种梯度下降方法。
随机梯度下降法:
代码:
close all; load x.mat; load y.mat; x=[ones(6,1),x];figure; plot(x(:,2),y,'r.'); n=size(x,2);%特征维数 m=size(x,1);%样本个数 alpha=0.01;%下降速度 theta=zeros(n,1);%参数 t=theta; for iteration=1:1000%迭代次数 for i=1:n t(i,1)=theta(i,1)-alpha*x(:,i)'*(x*theta-y); end theta=t;%同时更新theta值 end figure; plot(x(:,2),y,'r.'); hold on; y=theta'*x'; plot(x(:,2),y); for i=1:n fprintf('theta%d=%f;\n',i-1,theta(i,1));%打印估计的参数 end %完
0 0
- 机器学习笔记——梯度下降:
- 机器学习笔记——梯度下降法
- 机器学习笔记1——线性回归,梯度下降
- 机器学习笔记——梯度下降算法
- 机器学习——梯度下降法
- 机器学习——梯度下降
- 机器学习基础——梯度下降
- 机器学习——梯度下降算法
- 机器学习—梯度下降算法
- 机器学习之梯度下降学习笔记
- 机器学习笔记:线性规划,梯度下降
- CSDN机器学习笔记八 梯度下降
- 机器学习笔记之梯度下降
- 斯坦福机器学习笔记:梯度下降法
- 斯坦福机器学习公开课学习笔记(2)—监督学习 梯度下降
- 《机器学习》 梯度下降
- 《机器学习》 梯度下降
- 机器学习 ~~ 梯度下降
- 递归处理全排列问题的两种方法
- android2.2-froyo移植(freescale i.mx23平台)
- 织梦dedecms模板安装过程的那点事儿
- MAC下mysql的安装配置
- 2017年1月10日 天气:晴
- 机器学习笔记——梯度下降:
- js分页页码显示逻辑实现的两种方法
- android和ios当前流行架构对比学习
- Android app图标在手机桌面显示过小
- 前端学习网站
- Spring Security教程(五)
- JPA学习笔记1——JPA基础
- JAVA设计模式(二)-创建型
- 【ife】任务三十三:听指令的小方块(一)