L-BFGS算法由于其高效的性能而被广泛运用在实际工程中,本文首先介绍L-BFGS算法和其它算法的比较,然后详细介绍该算法的主要思想以及每一步迭代时近似矩阵的更新细节。...
分类:
编程语言 时间:
2014-11-27 10:48:46
阅读次数:
214
实现了 Prime算法求最小生成树 (邻接表)的普通算法和最小堆优化算法。...
分类:
编程语言 时间:
2014-11-26 21:02:49
阅读次数:
663
实现了 Prime算法求最小生成树 (邻接矩阵)的普通算法和最小堆优化算法。...
分类:
编程语言 时间:
2014-11-26 14:20:25
阅读次数:
342
不懂优化的人希望能有通用的方法来解决他手头的问题,但不幸的事没有这种方法存在,快速的方法都需要某些条件,比如常见的有强凸,线性,可分解啥的。目前研究的比较成熟的就是强凸光源可分解
非凸没有特别有效的方法来解,如果是强凸的,何必用那么复杂的方法求最优解?正是因为不是强凸的,才用到优化方法。就算是凸的,也分好几种不同的情况,只用一阶梯度,达到牛顿梯度法的收敛速度,在convex问题中,还有no...
分类:
编程语言 时间:
2014-11-18 14:50:00
阅读次数:
755
堆排序是利用堆进行排序的高效算法,其能实现O(NlogN)的排序时间复杂度,具体算法分析可以点击堆排序算法时间复杂度分析。
算法实现:
调整堆:
void sort::sink(int* a, const int root, const int end)
{
int i=root;
while(2*i +1 <= end)
{
int k = 2*i+1;
if(k+1<=e...
分类:
编程语言 时间:
2014-11-16 23:09:56
阅读次数:
447
1.优化算法时间复杂度算法的时间复杂度对程序的执行效率影响最大,在Python中可以通过选择合适的数据结构来优化时间复杂度,如list和set查找某一个元素的时间复杂度分别是O(n)和O(1)。不同的场景有不同的优化方式,总得来说,一般有分治,分支界限,贪心,动态规划等思想。2.减少冗余数据如用上三...
分类:
编程语言 时间:
2014-11-16 22:58:35
阅读次数:
430
在分析插入排序的算法性能的过程时知道,当数组规模较小或者存在较多的有序子序列时,插入排序将会在很短的时间内完成数组的排序,为此可以设计一个单调序列h[n],将数组分为多个小的序列,然后这些小的序列使用插入排序。h[n]={1,4,7,10,13,16,19……,3*x+1}。
算法实现:
void sort::shell_sort(int* a, const int n)
{
int h =...
分类:
编程语言 时间:
2014-11-12 22:59:51
阅读次数:
224
运行前调度:优点:容易满足实现约束、可以采用优化算法。 ????????????????????缺点:不能有效处理复杂约束、系统开销大,以及处理器资源利用率低、系统运行???????????????...
分类:
其他好文 时间:
2014-11-10 12:14:25
阅读次数:
142
只能说,有些错误实在太隐蔽了,刚觉得自己会考虑如何更简洁优化的写出程序了,但是反而会因为自己的进一步而犯进一步的错误(但这是另人高兴的错误是不哈哈,不能因为怕犯错误而不向前),例子来自经典教材
看似两个一样的程序,自加类常回出现这种错觉
void twiddle1(int* xp, int * yp)
{
*xp += *yp;
*xp += *yp;
}...
分类:
其他好文 时间:
2014-11-05 23:16:14
阅读次数:
187
1:简单概念描写叙述如果如今有一些数据点,我们用一条直线对这些点进行拟合(改线称为最佳拟合直线),这个拟合过程就称为回归。训练分类器就是为了寻找最佳拟合參数,使用的是最优化算法。基于sigmoid函数分类:logistic回归想要的函数可以接受全部的输入然后预測出类别。这个函数就是sigmoid函数...
分类:
其他好文 时间:
2014-11-02 16:28:04
阅读次数:
263