Questions tagged «algorithms»

查找一类问题的解决方案所涉及的计算步骤的明确清单。

1
L-BFGS如何工作?
本文的目的是通过最大化正则对数似然来优化一些参数。然后他们计算偏导数。然后作者提到,他们使用标准准牛顿程序L-BFGS优化方程,以优化许多变量的平滑函数(没有更多细节)。 它是如何工作的 ?

1
线性高斯卡尔曼滤波器的LogLikelihood参数估计
我已经编写了一些代码,可以对n维状态向量进行线性高斯状态空间分析(使用许多不同的Kalman型滤波器[Information Filter等])。筛选器效果很好,我得到了一些不错的输出。但是,通过对数似然估计进行参数估计会使我感到困惑。我不是统计学家,而是物理学家,所以请保持友好。 让我们考虑线性高斯状态空间模型 yt=Ztαt+ϵt,yt=Ztαt+ϵt,y_t = \mathbf{Z}_{t}\alpha_{t} + \epsilon_{t}, αt+1=Ttαt+Rtηt,αt+1=Ttαt+Rtηt,\alpha_{t + 1} = \mathbf{T}_{t}\alpha_{t} + \mathbf{R}_{t}\eta_{t}, 其中是我们的观察向量,我们在时间步处的状态向量。粗体为状态空间模型的变换矩阵,这些变换矩阵是根据所考虑的系统的特性设置的。我们还有ytyty_{t}αtαt\alpha_{t}ttt η 吨〜Ñ 我d (0 ,Q 吨),α 1〜Ñ 我d (一个1,P 1)。ϵt∼NID(0,Ht),ϵt∼NID(0,Ht),\epsilon_{t} \sim NID(0, \mathbf{H}_{t}), ηt∼NID(0,Qt),ηt∼NID(0,Qt),\eta_{t} \sim NID(0, \mathbf{Q}_{t}), α1∼NID(a1,P1).α1∼NID(a1,P1).\alpha_{1} \sim NID(a_{1}, \mathbf{P}_{1}). 其中。现在,我已经通过猜测初始参数和方差矩阵和来推导并实现了该通用状态空间模型的Kalman滤波器的递归,我可以生成图喜欢H 1 Q 1t=1,…,nt=1,…,nt = 1,\ldots, nH1H1\mathbf{H}_{1}Q1Q1\mathbf{Q}_{1} 其中的点是100年1月的尼罗河水位,线是“卡拉姆估计”状态,虚线是90%的置信度。 现在,对于此一维数据集,矩阵和分别只是标量和。所以现在我想使用卡尔曼滤波器的输出和对数似然函数为这些标量获取正确的参数Q 吨 σ ε σ …

1
LDA的代数。变量的Fisher判别力和线性判别分析
显然, Fisher分析的目的是同时最大化类之间的距离,同时最小化类内离散。因此,对角线量给出了变量判别力的有效度量。Bii/WiiBii/WiiB_{ii}/W_{ii} http://root.cern.ch/root/htmldoc/TMVA__MethodFisher.html 我了解p x p之间(B)和内部类(W)矩阵的大小()由输入变量的数量给出p。鉴于此,Bii/WiiBii/WiiB_{ii}/W_{ii}如何成为单个变量的“有用的判别量”?构造矩阵B和W至少需要两个变量,因此各个迹线将代表一个以上的变量。 更新:我是否认为不是隐含总和的迹线,而是矩阵元素除以的迹线?目前,这是使表达式与概念保持一致的唯一方法。 B 我我 W¯¯ 我我Bii/WiiBii/WiiB_{ii}/W_{ii}BiiBiiB_{ii}WiiWiiW_{ii}

1
套索的LARS与坐标下降
使用LARS [1]与使用坐标下降来拟合L1正则化线性回归有什么优缺点? 我主要对性能方面感兴趣(我的问题往往有N成千上万且p小于20。)但是,任何其他见解也将受到赞赏。 编辑:自从我发布问题以来,chl亲切地指出了Friedman等人的论文[2],其中坐标下降比其他方法快得多。如果是这样,作为执业医生,我是否应该忘掉LARS来支持协调下降? [1]埃弗隆·布拉德利;海蒂·特雷弗;约翰·斯通,伊恩和蒂布希拉尼·罗伯特(2004)。“最小角度回归”。统计年鉴32(2):第407-499页。 [2] Jerome H. Friedman,Trevor Hastie,Rob Tibshirani,“通过坐标下降的广义线性模型的正则化路径”,《统计软件》,第1卷。33,第1期,2010年2月。



5
自动化机器学习是一个梦想吗?
当我发现机器学习时,我看到了不同的有趣技术,例如: 使用以下技术自动调整算法grid search: 打通的相同的“类型”的不同算法的组合更准确的结果,那就是boosting, 通过对不同算法的组合得到更准确的结果(但不是同一个类型的算法),这就是stacking, 可能还有更多我仍要发现... 我的问题是:所有这些部分。但是,是否有可能将它们组合在一起,以形成一种算法,该算法通过充分利用所有技术中的优势来将输入的清洁数据作为输入并输出良好的结果?(当然,专业数据科学家的工作效率可能会降低,但他会比我更好!)如果是,您是否有示例代码,或者您知道可以做到这一点的框架吗? 编辑:经过一些答案后,似乎必须进行一些缩小。让我们举个例子,我们有一列包含分类数据,我们称之为它,y并且我们希望从X虚拟数据或实际数值数据(高度,温度)的数值数据进行预测。我们假设以前已经清洁过。是否存在可以获取此类数据并输出预测的现有算法?(通过测试多种算法,对其进行调整,增强等),如果是,它的计算效率是否很高(如果与正常算法进行比较,是否可以在合理的时间内完成计算),您是否有代码示例?

1
与PCA中完成的步骤相比,因素分析中完成的步骤
我知道如何执行PCA(主要成分分析),但是我想知道应该用于因子分析的步骤。 为了执行PCA,让我们考虑一些矩阵,例如:AAA 3 1 -1 2 4 0 4 -2 -5 11 22 20 我已经计算出其相关矩阵B = corr(A): 1.0000 0.9087 0.9250 0.9087 1.0000 0.9970 0.9250 0.9970 1.0000 然后,我完成了特征值分解[V,D] = eig(B),生成了特征向量: 0.5662 0.8209 -0.0740 0.5812 -0.4613 -0.6703 0.5844 -0.3366 0.7383 和特征值: 2.8877 0 0 0 0.1101 0 0 0 0.0022 PCA背后的总体思路是选择重要的分量,形成具有列特征向量的新矩阵,然后我们需要投影原始矩阵(在PCA中,它是零中心的)。但是在因子分析中,例如,我们应该选择具有大于奇异值的组件,然后我们还要使用因子旋转,请告诉我它是如何完成的?例如在这种情况下。111 请帮助我了解与PCA步骤相比的因素分析步骤。


1
定义加权样本的分位数
我有一个加权样本,我希望为其计算分位数。1个 理想情况下,在权重相等的情况下(无论是否等于1),结果将与scipy.stats.scoreatpercentile()和的结果一致quantile(...,type=7)。 一种简单的方法是使用给定的权重“乘以”样本。这样可以有效地在权重> 1的区域中提供局部“平坦”的ecdf,这在样本实际上是次采样时在直觉上似乎是错误的方法。特别是,这意味着权重均等于1的样本与权重均等于2或3的样本具有不同的分位数。(但是,请注意,[1]中引用的论文确实使用了这种方法。) http://en.wikipedia.org/wiki/Percentile#Weighted_percentile提供了加权百分比的另一种表示方式。在此公式中尚不清楚是否应首先合并具有相同值的相邻样本并对其权重求和,无论如何quantile(),在未加权/相等加权的情况下,其结果似乎与R的默认类型7不一致。关于分位数的维基百科页面根本没有提到加权情况。 R的“类型7”分位数函数有加权概括吗? [使用Python,但实际上只是在寻找一种算法,因此任何语言都可以使用] 中号 [1]权重是整数;权重是在http://infolab.stanford.edu/~manku/papers/98sigmod-quantiles.pdf中描述的在“折叠”和“输出”操作中组合的缓冲区的权重。本质上,加权样本是整个未加权样本的子采样,子样本中的每个元素x(i)代表整个样本中的weight(i)元素。

2
随机森林是否表现出预测偏差?
我认为这是一个直截了当的问题,尽管为什么或为什么不是背后的原因可能不是。我问的原因是,我最近编写了自己的RF实施,尽管它的性能很好,但性能却不如我预期(根据Kaggle照片质量预测比赛数据集,获胜得分以及一些有关使用了哪些技术的后续信息)。 在这种情况下,我要做的第一件事是模型的图形预测误差,因此对于每个给定的预测值,我都确定了偏离正确目标值的平均偏差(或偏差)。对于我的RF,我得到以下图: 我想知道这是否是RF的常见偏差模式(如果不是,则可能是数据集和/或我的实现所特有的)。我当然可以使用该图通过补偿偏差来改善预测,但我想知道RF模型本身是否存在更基本的误差或缺点,需要解决。谢谢。 ==附录== 我的初步调查是在此博客条目随机森林偏见-更新

3
极少量检测异常值
给定十二个样本亮度值,我需要获得尽可能精确的主要稳定光源的亮度值。传感器不完美,光线有时会“闪烁”变亮或变暗,可以忽略不计,因此我需要进行异常检测(我认为?)。 我已经在这里阅读了各种方法的一些知识,但无法决定采用哪种方法。离群数事先未知,通常为零。闪烁通常与稳定的亮度有很大的偏差(足以与当前存在的平均值相混淆),但不一定如此。 以下是12个测量值的示例集合,以确保问题的完整性: 295.5214、277.7749、274.6538、272.5897、271.0733、292.5856、282.0986、275.0419、273.084、273.1783、274.0317、290.1837 我的直觉是,尽管292和295看起来有点高,但在特定的集合中可能没有异常值。 因此,我的问题是,这里最好的方法是什么?我应该提到的是,这些值是从零(黑色)点取光的RG和B分量的欧几里得距离得出的。如果需要,返回到这些值在程序上会很痛苦,但有可能。欧几里德距离被用作“整体强度”的量度,因为我对颜色不感兴趣,而对输出强度不感兴趣。但是,我提到的闪烁有一个合理的机会与通常的输出具有不同的RGB组成。 目前,我正在玩某种功能,该功能会重复执行,直到通过以下方式达到允许的措施的稳定成员身份为止: 求标准偏差 将外面的所有内容说2个SD放入忽略列表 重新计算平均值和标准差(不包括忽略列表) 根据新的平均值和SD重新确定要忽略的人(评估所有12个) 重复直到稳定。 这种方法有什么价值? 感谢所有评论!



1
算法:不确定值时的二进制搜索
当每一步的测试可能给出错误的结果时,我需要一种算法来进行二进制搜索。 背景: 我需要让学生处于12个难度等级中最合适的位置。当前的方法是蛮力,并提出60个4答案的多项选择题,难度越来越大,在三个错误之后停下来,使学生处于等级:floor((score - 1) / 5) + 1最低为1。 我们担心客户在面对多达60个问题的考试之前会被关闭,然后才能真正使用该程序,因此我们希望最大程度地减少测试中提出的问题数量。我们还担心客户会跳过分班测试(因为它看起来很长),然后因为看起来太容易而放弃了该程序。 中位数排名实际上是2级,因此50%以上的学生得分<11(即回答<14个问题)。有趣的是,这可能是因为他们感到无聊并且不再认真对待问题(他们是年幼的孩子)。 建议的解决方案: 将测试作为对十二个项目的二进制搜索来实施,以难度级别6/7的问题开始,然后根据问题是对还是错来进行。从理论上讲,这可以在3-4个问题中找到适合他们的难度级别。 问题: 您可能会从现有的测试中猜到只有在三个错误的答案之后才结束,并使用60个问题在12个级别中进行选择,所以我们想让学生承认正确的答案(他们应该在25%的时间里做)提供不正确的答案(胖手指,错误阅读的问题等)。这对于二进制搜索尤为重要,因为即使第一个问题都错了,对第一个问题的正确回答也会使您处于难度的上半部分。 那么,有没有一种公认的二进制搜索算法可以保证单个测试的准确性? 天真的,我可能会在每个步骤中尝试3到5个问题,并且,由于较早的问题对最终结果的影响要大于对较晚的问题的影响,因此可能仅将这些附加问题添加到较早的步骤中,而不是对较后的问题。还有什么呢?
11 algorithms 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.