深入浅出梯度下降法1
梯度下降法是一个一阶最优化算法,通常也称为最速下降法。我之前也没有关注过这类算法。最近,听斯坦福大学的机器学习课程时,碰到了用梯度下降算法求解线性回归问题,于是看了看这类算法的思想。今天只写了一些入门级的知识。
我们知道,函数的曲线如下:
编程实现:c++ code
- /*
- * @author:郑海波
- * blog.csdn.net/nuptboyzhb/
- * 2012-12-11
- */
- #include <iostream>
- #include <math.h>
- using namespace std;
- int main()
- {
- double e=0.00001;//定义迭代精度
- double alpha=0.5;//定义迭代步长
- double x=0;//初始化x
- double y0=x*x-3*x+2;//与初始化x对应的y值
- double y1=0;//定义变量,用于保存当前值
- while (true)
- {
- x=x-alpha*(2.0*x-3.0);
- y1=x*x-3*x+2;
- if (abs(y1-y0)<e)//如果2次迭代的结果变化很小,结束迭代
- {
- break;
- }
- y0=y1;//更新迭代的结果
- }
- cout<<"Min(f(x))="<<y0<<endl;
- cout<<"minx="<<x<<endl;
- return 0;
- }
- //运行结果
- //Min(f(x))=-0.25
- //minx=1.5
- //Press any key to continue
问题:
迭代步长alpha为什么要选择0.5??选择其他的值可以吗?它的取值与迭代的次数、收敛性及结果的准确性有何关系?如果选择alpha的值?下次好好的探讨。
============================================================
来源:知乎 http://www.zhihu.com/question/20822481
转载请声明:http://blog.csdn.net/nuptboyzhb/article/details/8281923
深入浅出梯度下降法1相关推荐
- 深入浅出--梯度下降法及其实现
梯度下降的场景假设 梯度 梯度下降算法的数学解释 梯度下降算法的实例 梯度下降算法的实现 Further reading 本文将从一个下山的场景开始,先提出梯度下降算法的基本思想,进而从数学上解释梯度 ...
- 【梯度下降法】详解优化算法之梯度下降法(原理、实现)
本文收录于<深入浅出讲解自然语言处理>专栏,此专栏聚焦于自然语言处理领域的各大经典算法,将持续更新,欢迎大家订阅! 个人主页:有梦想的程序星空 个人介绍:小编是人工智能领域硕士,全栈工 ...
- 梯度下降法原理解析(大白话+公式推理)
目录 摘 要 第一章:梯度下降法原理解析 1.1梯度下降算法的浅层解析(深入浅出的理解,有些专业名词在这一节只需混个眼熟即可, 1.2中就会通过前后呼应的方式进行解析.) 1.2 梯 ...
- ubuntu之路——day8.1 深度学习优化算法之mini-batch梯度下降法
所谓Mini-batch梯度下降法就是划分训练集和测试集为等分的数个子集,比如原来有500W个样本,将其划分为5000个baby batch,每个子集中有1000个样本,然后每次对一个mini-bat ...
- 机器学习入门(09)— 偏导数、梯度概念、梯度下降法理论和实现
1. 偏导数概念 对于式 4-6 而言 式(4.6)有两个变量,求导数时有必要区分对哪个变量求导数,即对 x0 和 x1 两个变量中的哪一个求导数.另外,我们把这里讨论的有多个变量的函数的导数称为偏导 ...
- 机器学习最常用的优化算法 — 梯度下降法
1. 学习目标 每一个机器学习模型都有一个目标函数,而学习的目标,就是最小化目标函数.直观而言,当我们已经获得了一个函数,最小化该函数其实就是,在其自变量取值范围内,找到使得因变量最小的那个自变量取值 ...
- 线性回归介绍及分别使用最小二乘法和梯度下降法对线性回归C++实现
回归:在这类任务中,计算机程序需要对给定输入预测数值.为了解决这个任务,学习算法需要输出函数f:Rn→R.除了返回结果的形式不一样外,这类问题和分类问题是很像的.这类任务的一个示例是预测投保人的索赔金 ...
- 机器学习中的梯度下降法
1. 机器学习中为什么需要梯度下降 梯度下降是机器学习中常见优化算法之一,梯度下降法有以下几个作用: (1)梯度下降是迭代法的一种,可以用于求解最小二乘问题. (2)在求解机器学习算法的模型参数,即无 ...
- 通俗易懂讲解梯度下降法!
Datawhale干货 作者:知乎King James,伦敦国王大学 知乎 | https://zhuanlan.zhihu.com/p/335191534 前言:入门机器学习必须了解梯度下降法,虽然 ...
- 线性回归之梯度下降法介绍
线性回归之梯度下降法介绍 上一篇博文中介绍了最基本的梯度下降法实现流程,常见的梯度下降算法有: 全梯度下降算法(Full gradient descent), 随机梯度下降算法(Stochastic ...
最新文章
- dubbo与springboot的集成
- jvm性能调优实战 - 44Metaspace区域是如何因为类太多而发生内存溢出OOM
- dijkstra算法PHP,单源最短路径(dijkstra算法)php实现
- IOS工作笔记002---windows给VmWare虚拟机OS系统安装VMTools
- win10连Android机,Windows10电脑可以和安卓手机无缝连接使用了,实用性干翻Mac-win10手机...
- word下禁止显示回车符号
- android导航软件安装,【图】手把手教你安装免费且无需流量的安卓版本凯立德导航软件!...
- 百度图片api获取(包含获取原网址)
- Android 批量修改文件名称
- 椭圆积分函数和雅各比椭圆函数
- 跨时钟域信号如何处理(一、单bit信号)
- Vue绑定<audio>/<video>标记的muted属性无效问题随记
- 一个网站广告位的极致使用
- IOS多线程使用GCD与信号量实现生产者与消费者模式
- [电影]小蚁雄兵(Antz)
- Centos7.6 Install GMT
- 我最近一年的奋斗目标
- 使用vxe-table 制作编辑表格
- Win10系统安装MySQL5.5.62 解压版
- 【调剂】浙江理工大学【杭州】欢迎凝聚态物理、电子信息等专业优秀学子调剂深造...