传统机器学习与模式识别
seasermy
专注AI算法研究与应用,AI软硬件协同优化,AI系统解决方案
展开
-
L-BFGS
关于优化算法的求解,书上已经介绍了很多的方法,比如有梯度下降法,坐标下降法,牛顿法和拟牛顿法。梯度下降法是基于目标函数梯度的,算法的收敛速度是线性的,并且当问题是病态时或者问题规模较大时,收敛速度尤其慢(几乎不适用);坐标下降法虽然不用计算目标函数的梯度,但是其收敛速度依然很慢,因此它的适用范围也有局限;牛顿法是基于目标函数的二阶导数(海森矩阵)的,其收敛速度较快,迭代次数较少,尤其是在最优值附近转载 2015-11-05 16:35:33 · 2062 阅读 · 0 评论 -
LSH一族
在项目中碰到这样的问题:互联网用户每天会访问很多的网页,假设两个用户访问过相同的网页,说明两个用户相似,相同的网页越多,用户相似度越高,这就是典型的CF中的user-based推荐算法。算法的原理很简单,只要两两计算用户的相似性,针对每个用户,获取最相似的K个用户即可。但是在实际的工程上,假定用户规模在亿的规模N,计算复杂度为N*N,即使是分布式,也是非常可怕的复杂度。转载 2016-12-28 11:13:24 · 551 阅读 · 0 评论 -
false positive误检率 准确率 召回率
从目标检测的结果评测时,一直要与false positve, precision rate, recall rate这几个名词。总是在用的时候比较清楚这几个词的意思,但是时间一长,又给忘了。前几天跟师兄讨论这个问题,还是迷迷糊糊,模棱两可。决定干脆总结并记下来,以备不时之需。 这三个词的中文意思分别是:误检率(也可以被称作虚警率),查准率和查全率。它们是怎么通过计算得出,可以看下图转载 2016-12-21 16:11:28 · 31108 阅读 · 8 评论 -
解析解和数值解
数值解:是指用近似的方法获得的解,如各种最优化方法,获得的解一般与真实解有误差的存在;比如 {yi, xi},为N个样本点,拟合一条最优曲线 y = a1*x^1 + a2 * x^2+......+ an * x^n,使得拟合差最小,则最终获得的系数an(n : 1....n), 为最优数值解;解析解,也叫做闭式解,在论文中经常有如此的表述形式close-form, 如在Late原创 2016-03-18 10:05:35 · 3901 阅读 · 0 评论 -
DPM目标检测-1
DPM是非常具有代表性的目标检测算法,熟悉dpm的原理并至精通,对于DPM的训练与识别优化,算法改进具有重要的意义:这里先简单开头一个段子,后续将以理解的形式,发出帖子:dpm大致流程:// 初始化模型beta (beta为模型参数向量,由根滤波器、部件滤波器、形变系数等组成)for(int i = 0; i {(1)// 遍历所有正样本,为每个正样原创 2016-01-13 14:37:53 · 1949 阅读 · 0 评论 -
随机梯度下降与梯度下降
循环次数表面上相同,实质有效执行次数来说,随机梯度下降比梯度下降需要更少的迭代次数1. 随机梯度下降: 循环所有样例,单个样例更新所有维度权值;2. 梯度下降:循环所有维度,所有样例更新单个维度权值梯度下降能够得到全局最优解(对于单peak objective function),有时陷入局部最优解(multi peak objective function);原创 2016-01-12 19:00:54 · 923 阅读 · 0 评论 -
坐标下降优化算法
坐标下降优化方法是一种非梯度优化算法。为了找到一个函数的局部极小值,在每次迭代中可以在当前点处沿一个坐标方向进行一维搜索。在整个过程中循环使用不同的坐标方向。一个周期的一维搜索迭代过程相当于一个梯度迭代。坐标下降法基于最小化多变量目标函数可以通过每次沿一个方向最小化目标函数来求解。与梯度方法的变化的梯度方向不同,坐标下降方法固定其他的梯度方向。例如,坐标方向为e1,e2,…,en。每次沿一个坐转载 2016-01-12 17:43:06 · 4585 阅读 · 0 评论 -
SIMHASH算法原理与实现
simhash是google用来处理海量文本去重的算法。 google出品,你懂的。 simhash最牛逼的一点就是将一个文档,最后转换成一个64位的字节,暂且称之为特征字,然后判断重复只需要判断他们的特征字的距离是不是原理simhash值的生成图解如下大概花三分钟看懂这个图就差不多怎么实现这个simhash算法了。特别简单。谷歌出品嘛,简单实用。算法过程大概如下:转载 2015-11-30 17:28:43 · 452 阅读 · 0 评论 -
simhash_1
通过 采集系统 我们采集了大量文本数据,但是文本中有很多重复数据影响我们对于结果的分析。分析前我们需要对这些数据去除重复,如何选择和设计文本的去重算法?常见的有余弦夹角算法、欧式距离、Jaccard相似度、最长公共子串、编辑距离等。这些算法对于待比较的文本数据不多时还比较好用,如果我们的爬虫每天采集的数据以千万计算,我们如何对于这些海量千万级的数据进行高效的合并去重。最简单的做法是拿着待比较的文本转载 2015-11-30 18:50:04 · 387 阅读 · 0 评论 -
L-BFGS优化算法
关于优化算法的求解,书上已经介绍了很多的方法,比如有梯度下降法,坐标下降法,牛顿法和拟牛顿法。梯度下降法是基于目标函数梯度的,算法的收敛速度是线性的,并且当问题是病态时或者问题规模较大时,收敛速度尤其慢(几乎不适用);坐标下降法虽然不用计算目标函数的梯度,但是其收敛速度依然很慢,因此它的适用范围也有局限;牛顿法是基于目标函数的二阶导数(海森矩阵)的,其收敛速度较快,迭代次数较少,尤其是在最优值附近转载 2015-11-02 14:40:56 · 4071 阅读 · 0 评论 -
BFGS校正
转载 2015-11-05 14:38:52 · 983 阅读 · 0 评论 -
拟牛顿算法
最近在看条件随机场中的优化算法。其中就设计到了无约束化的最优化方法,也就是牛顿法。 在CRF(conditional random field)中,使用的是L-BFGS法。费了好大的劲把算法的原理及推导算是看明白了,可是到了具体实现上,又碰到问题了,比如在求搜索方向的时候,使用 但是程序中如何实现呢? 现在转载一篇文章,看过之后,会非常受益。使用导数的最优化算法中转载 2015-11-05 14:34:58 · 2957 阅读 · 0 评论 -
在分类中如何处理训练集中不平衡问题
在分类中如何处理训练集中不平衡问题 在很多机器学习任务中,训练集中可能会存在某个或某些类别下的样本数远大于另一些类别下的样本数目。即类别不平衡,为了使得学习达到更好的效果,因此需要解决该类别不平衡问题。Jason Brownlee的回答:原文标题:8 Tactics to Combat Imbalanced Classes in Your Machine Learning转载 2017-06-15 16:20:30 · 856 阅读 · 0 评论