最优化学习笔记(三)——梯度下降法

     本来这周计划写下逻辑回归的学习笔记,但是其中用到了最优化对数似然函数,因此决定先复习下梯度方法和拟牛顿法。本节先从纯数学的角度总结下梯度下降法。

一、柯西-施瓦茨不等式

对于 Rn中的任意两个向量 xy, 有:

|<x,y>|||x||||y||

成立。当且仅当对于某个 αRn,x=αy

二、梯度下降法

     函数 f:RnR水平集的概念。水平集是指能够满足f(x)=c的所有x组成的集合,其中c为常数。如下图所示:

水平集示例

     如果函数fx0处的梯度f(x0)不是零向量,那么它与水平集f(x)=c中任意一条经过x0处的光滑曲线的切向量正交。在梯度方向上,自变量的细微变动,导致的目标函数值的增加幅度要超过其他任意方向。证明如下:函数 f在点x处,在方向d上的增长率为: <f(x),d>,||d||=1<script type="math/tex" id="MathJax-Element-50"><\triangledown f( \boldsymbol{x}), \boldsymbol{d}>, ||\boldsymbol{d}|| = \boldsymbol{1}</script>。由柯西-施瓦茨不等式得:

f(x),d||f(x)||

若令 d=f(x)||f(x)||,则有:
f(x),f(x)||f(x)||=||f(x)||

     因此,可以看出梯度方向 f(x)就是函数 fx处增加最快的方向。反之,梯度负方向 f(x)就是函数 fx处减少最快的方向。

     令x(0)作为初始搜索点,并沿着梯度负方向构造一个新点x(0)αf(x(0)),由泰勒定理可得:

f(x(0)αf(x(0)))=f(x(0))α||f(x(0))||2+o(α)

因此,如果 f(x(0))0, 那么当 α>0足够小时,有
f(x(0)αf(x(0)))<f(x(0))

给定一个搜索点 x(k),由此点出发,根据向量 αkf(x(k)))指定的方向和幅度运动,构造一个新点 x(k+1)αk>0,称为步长,那么迭代公式如下:
x(k+1)=x(k)αkf(x(k))

这称为梯度下降方法。在搜索过程中,梯度不断变化,当接近极小点的时候梯度应该趋于0.可以设置很小的步长,这时计算量比较大,每次梯度都要重新计算;也可以设置很大的步长,这样,计算量会小一些,但是会在极小点附近产生锯齿状的收敛路径。下面会继续总结梯度下降法中的最速下降法。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/576638.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ElasticSearch外部版本控制

#外部版本控制机制| PUT /library/books/1?version5&version_typeexternal {"title": "Elosticsearch: The Definitive Guide" ,"name":{"first" : "Zachary","last" : "Tong"},"publish_dat…

ElasticSearch映射Mapping

1.1 什么是映射 (1) 映射(mapping): 定义index的元数据, 指定要索引并存储的文档的字段类型. 也就是说映射决定了Elasticsearch在建立倒排索引、进行检索时对文档采取的相关策略, 如数字类型、日期类型、文本类型等等. 需要注意的是: 检索时用到的分析策略, 要和建立索引时的分…

机器学习笔记(十)——Logistic Function AND Softmax Function

一、说明 在逻辑回归和一些机器学习算法中&#xff0c; Logistic函数和Softmax函数是常用到的&#xff0c;今天就先讨论下这两个函数。 二、Logistic Function Logistic function一般用于二分类问题&#xff0c;它的函数定义如下&#xff1a; f(x)11e−x(1)f(x) = \frac{1}{1…

kibana客户端工具操作ElasticSearch(增删改查三)

之前一直我们讲的是添加文档和查看文档&#xff0c;下面我们看下怎么修改文档&#xff0c; 第一种方式PUT 覆盖原来的文档 修改文档&#xff08;覆盖原来的&#xff09;&#xff1a; PUT /lib/user/1 {"first_name":"Jane","last_name":"…

Word2Vec学习笔记(三)

三、Hierarchical Softmax模型 3.1 词向量 词向量目前常用的有2种表示方法&#xff0c;One-hot representation 和 distributed representation. 词向量&#xff0c;顾名思义就是将一个词表示为向量的形式&#xff0c;一个词&#xff0c;怎么可以将其表现为向量呢&#xff1f;…

Word2Vec学习笔记(三)续

三、&#xff08;续&#xff09;Skip-gram模型介绍 Skip-gram模型并不是和CBOW模型相反的&#xff0c;它们的目的都是计算出词的向量&#xff0c;只不过在作者的论文中给出的图看样子是反的而已。Skip-gram模型是用每个当前词去预测一定范围内除当前词之外前后的词。同样的&…

ElasticSearch关于映射mapping介绍

#首先我们还是先增加几个文档 PUT /myindex/article/1 {"post_date": "2020-03-14","title": "Java","content": "java is the best language","author_id": 119 }PUT /myindex/article/2 {"post…

ElasticSearch的Object数据类型

上一篇mapping文章我们知道数字类型和日期类型要精确查找&#xff0c;以及mapping的两个重要的作用。 所以创建索引的时候,是不是可以预先定义字段的类型以及相关属性&#xff0c;这样就能够把日期字段处理成日期&#xff0c;把数字字段处理成数字&#xff0c;把字符串字段处理…

Word2Vec学习笔记(四)——Negative Sampling 模型

前面讲了Hierarchical softmax 模型&#xff0c;现在来说说Negative Sampling 模型的CBOW和Skip-gram的原理。它相对于Hierarchical softmax 模型来说&#xff0c;不再采用huffman树&#xff0c;这样可以大幅提高性能。 一、Negative Sampling 在负采样中&#xff0c;对于给定…

HDU1071_数学几何

题目大意&#xff1a; 给你三个点p1,p2,p3,p1是最高点&#xff0c;然后算出面积。 解题思路&#xff1a; 我的解题思路有点水&#xff0c;就是直接求抛物线系数&#xff0c;直线系数&#xff0c;最后求积分搞定e.尽量少用中间变量吧。代码有点丑。虽然这道题目是1a&#xff0c;…

ElasticSearch vs. Solr

为何日志服务商Loggly选择ElasticSearch而非Solr. 原文链接: http://loggly.wpengine.com/bl... 在Gen2产品的早期阶段, 我们事实上是失败的, 这促使我们重新审视我们现有的技术栈. 我们仔细分析系统中的每个独立的组件,并记录下来, 当然其中也包括构成我们核心功能的搜索引擎技…

android 工程结构,它到底是怎么运行的。

为了帮助理解&#xff0c;我决定先上传一个工程截图&#xff0c;这个是我做的一个小作业&#xff0c;3、4个小时完成&#xff0c;没什么含金量&#xff0c;就是交差用的&#xff0c;这里给大家做个模板吧。 我把一个工程分6个部分&#xff0c;如左面的图所示&#xff0c;然后…

从FLC中学习的设计模式系列-创建型模式(3)-工厂方法

工厂方法是一组方法&#xff0c; 他们针对不同条件返回不同的类实例&#xff0c;这些类一般有共同的父类。 工厂方法模式 来自&#xff1a; http://zh.wikipedia.org/wiki/工厂方法模式 工厂方法模式 是一种面向对象的设计模式。通过调用不同的方法返回需要的类&#xff0c;而不…

HTML简单实例加表单的显示效果

HTML可以说是一种十分简单的标记语言&#xff0c;但是对于Web开发还是必不可少的&#xff0c;所以对HTML的标记进行适当的了解 还是十分有必要的。下面我们来演示一下基本的HTML效果和一些简单的标签&#xff0c;以及在表单界面的各种提交方式。 首先是HTML的常用简单标签。 &l…

机器学习笔记(十三)——隐马尔科夫模型

一、隐马尔科夫模型 在马尔科夫模型中&#xff0c;每一个状态代表了一个可以观察的事件&#xff0c;所以&#xff0c;马尔科夫模型有时称为可视马尔科夫模型&#xff08;visible Markov model&#xff0c;VMM&#xff09;&#xff0c;这在某种程度上限制了模型的适应性。在隐马…

elasticsearch基本查询三(英文分词)match查询

#match查询 #match query知道分词器的存在&#xff0c;会对filed进行分词操作, 然后再查询 GET /ib3/user/_search { "query":{ "match":{ "name": "zhaoliu" }} } GET /lib3/user/_search { "query":{ "match"…

solr 3.5 配置及应用(二)

在 solr 3.5 配置及应用(一) 讲过一了 solr 3.5的详细配置&#xff0c;本节我们讲利用solr 的客户端调用solr的应用了&#xff01; 一、利用SolrJ操作solr API 使用SolrJ操作Solr会比利用httpClient来操作Solr要简单。SolrJ是封装了httpClient方法&#xff0c;来操作solr的API的…

elasticsearch控制返回字段查询三(英文分词)match查询

#_source指定查询返回的字段信息 #_source指定查询返回的字段信息 GET /lib3/user/_search {"from":0, "size": 2, "_source": ["address" , "name"] ,"query": {"match": {"interests": &…

通过日志恢复MSSQL数据例子

这段时间看了关于在SQL server 中通过日志和时间点来恢复数据。也看了一些网上的例子&#xff0c;看如何通过日志来恢复数据。 前提条件&#xff1a; 数据库的故障恢复改为非简单模式&#xff0c;去掉自动关闭和自动收缩两个选项 如果是简单模式&#xff1a; 类似下面的语…

ElasticSearch通配符 * 查询(英文检索)

#如果你要查询的字段信息记得不太清楚, 我们也可以使用通配符 * GET /lib3/user/_search {"from":0, "size": 2,"_source": {"includes": "addr*","excludes": ["name" , "bir*"]},"…