首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“用粒子群优化支持向量机的参数”是什么意思?

“用粒子群优化支持向量机的参数”是什么意思?
EN

Stack Overflow用户
提问于 2016-06-09 21:33:16
回答 1查看 347关注 0票数 1

我可以手动更改参数C和epsilon以获得优化结果,但我发现通过PSO (或任何其他优化算法)可以对SVM进行参数优化。没有算法。这意味着: PSO如何自动优化SVM参数?我读了几篇关于这个主题的论文,但我仍然不确定。

EN

回答 1

Stack Overflow用户

发布于 2016-06-10 01:25:06

粒子群优化是一种使用ML参数(在您的情况下,是SVM参数)作为其特征的技术。

群中的每个“粒子”都由这些参数值来表征。例如,您的初始坐标可能是

代码语言:javascript
运行
复制
   degree  epsilon  gamma   C
p1    3     0.001    0.25  1.0
p2    3     0.003    0.20  0.9
p3    2     0.0003   0.30  1.2
p4    4     0.010    0.25  0.5
...
pn   ...........................

每个粒子(这里显示的是n粒子总数中的p1-p4)的“适合度”是通过生成的模型的准确性来衡量的:粒子群优化算法为每个粒子训练和测试一个模型,返回该模型的错误率作为与训练损失函数(它是如何计算该值)的错误率类似的值。

在每次迭代中,粒子都会向最适合的邻居移动。重复这个过程,直到出现一个最大值(希望是全局最大值)作为一个收敛点。这个过程只是一个熟悉的梯度下降家族的过程。

有两种基本的PSO变体。在全局最佳( gbest )中,每个粒子都会影响其他粒子,这是一种万有引力原理。在lbest (局部最佳)中,粒子仅对其k最近邻居做出响应。这可以形成局部集群;它收敛得更慢,但更有可能在非凸空间中找到全局最大值。

我将尽量简短地解释一下,以回答您的澄清问题。如果这不起作用,恐怕你必须找人在白板前讨论这个问题。

要使用PSO,您必须决定要尝试优化哪些SVM参数,以及要使用多少粒子。粒子群算法是一种元算法,其特征是支持向量机参数。粒子群算法的参数是种群(你想使用多少粒子,更新邻域(lbest大小和距离函数;gbest是包罗万象的情况)和速度(支持向量机参数的学习率)。

为了说明一点,让我们假设上面的粒子表,扩展到20个粒子的种群。我们将使用邻域为4,速度为0.1的lbest。我们为20个粒子中的每个粒子选择(随机地,在栅格中,或者我们认为可能会给我们提供良好结果的任何方式)度数、ε、gamma和C的初始值。

代码语言:javascript
运行
复制
Each iteration of PSO works like this:
    # Train the model described by each particle's "position"
    For each of the 20 particles:
        Train an SVM with the SVM input and the given parameters.
        Test the SVM; return the error rate as the PSO loss function value.

    # Update the particle positions
    for each of the 20 particles:
        find the nearest 4 neighbours (using the PSO distance function)
        identify the neighbour with the lowest loss (SVM's error rate).
        adjust this particle's features (degree, epsilon, gamma, C) 0.1 of the way toward that neighbour's features.  0.1 is our learning rate / velocity.  (Yes, I realize that changing degree is not likely to happen (it's a discrete value) without a special case in the update routine.

Continue iterating through PSO until the particles have converged to your liking.

gbest是具有无限邻域的lbest;在这种情况下,您不需要粒子空间上的距离函数。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37727489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档