模拟退火 一:概括 1.爬山算法 所谓的爬山算法实际上就是简单的贪心算法,贪心算法通过从当前解的临近空间选择一个最优的解作为新的当前解,因此这个解很有可能是局部最优解,而不是全局最优的。因为A的领域周围没有比他更优的解了。 2.模拟算法 模拟退火算法可以有效的解决这个陷入局部最优解的...
分类:
其他好文 时间:
2015-01-17 20:52:45
阅读次数:
271
题目:
Given an array of non-negative integers, you are initially positioned at the first index of the array.
Each element in the array represents your maximum jump length at that position.
Your...
分类:
编程语言 时间:
2015-01-17 18:12:27
阅读次数:
239
题目:
Given an array of non-negative integers, you are initially positioned at the first index of the array.
Each element in the array represents your maximum jump length at that position.
Dete...
分类:
编程语言 时间:
2015-01-17 13:59:48
阅读次数:
200
程序员思维释放:打破常态
我们要学会用局部最优来代替全局最优程序员有三种思维,情商,智商,逆境商,对...
分类:
其他好文 时间:
2014-12-21 18:03:28
阅读次数:
294
问题描述:通过键盘输入一个高精度的正整数n(n的有效位数≤240),去掉其中任意s个数字后,剩下的数字按原左右次序将组成一个新的正整数。编程对给定的n和s,寻找一种方案,使得剩下的数字组成的新数最小。问题分析:这个问题是最优子结构问题,即局部最优能决定全局最优解,可以使用贪心算法进行解决。n个正整数...
分类:
编程语言 时间:
2014-12-05 00:41:00
阅读次数:
695
首先是转载,觉得写得真好一. 爬山算法 ( Hill Climbing ) 介绍模拟退火前,先介绍爬山算法。爬山算法是一种简单的贪心搜索算法,该算法每次从当前解的临近解空间中选择一个最优解作为当前解,直到达到一个局部最优解。 爬山算法实现很简单,其主要缺点是会陷入局部最优解,而不一定能搜索到全局最优...
分类:
编程语言 时间:
2014-11-21 01:17:40
阅读次数:
350
一般的线性回归使用的cost function为:但由于logistic function:本身非凸函数(convex function), 如果直接使用线性回归的cost function的话,很难到达全局最优解。相反,很容易陷入局部最优解然后就认为到达收敛条件了。因此,logistic regr...
分类:
其他好文 时间:
2014-11-13 08:16:45
阅读次数:
221
贪心策略适用的前提是:局部最优策略能导致产生全局最优解。
实际上,贪心算法适用的情况很少。一般,对一个问题分析是否适用于贪心算法,可以先选择该问题下的几个实际数据进行分析,就可做出判断。...
分类:
编程语言 时间:
2014-10-27 15:42:47
阅读次数:
183
题意:
给出N幢摩天大楼的位置和高度,有Q次查询,问在某点处能看见天空的角度范围。
分析:
一开始的想法是维护一个单调栈,首先离线数据并排序排序,然后左右扫两边。单调栈内大楼的高度要递减,然后判断栈顶元素是否比它的前一个更优,如果不是则出栈。但是如果栈顶元素比它前一个优,并不能保证是全局最优的。
正确的维护方法是保证单调栈内的大楼高度递减,而且要使得这些大楼的最高点构成一个类似凸包的形状,或者说是凸包的一部分,然后再判断栈顶元素和它前一个比是否更优,如果不是则出栈。这样最后的栈顶元素就是待查询点在某方向的视...
分类:
其他好文 时间:
2014-09-21 23:18:21
阅读次数:
307
最小值:梯度下降;最大值:梯度上升(1)批量梯度下降---最小化所有训练样本的损失函数,使得最终求解的是全局的最优解,即求解的参数是使得风险函数最小。(2)随机梯度下降---最小化每条样本的损失函数,虽然不是每次迭代得到的损失函数都向着全局最优方向, 但是大的整体的方向是向全局最优解的,最终的结果往...
分类:
其他好文 时间:
2014-09-14 15:12:47
阅读次数:
295