sci-kit learn 库中算法的参数是如何优化的?

Posted

技术标签:

【中文标题】sci-kit learn 库中算法的参数是如何优化的?【英文标题】:How does optimization happen in the parameters of the algorithms in sci-kit learn library? 【发布时间】:2020-05-20 15:11:33 【问题描述】:

当从数学角度看机器学习时,我们有成本函数,以减少下一次预测的误差,并且我们会继续优化特定算法中使用的方程的参数。

我想知道这个优化在图书馆的什么地方发生 Sci-kit learn。 没有做这项工作的功能,目前我知道,有相当多的algorithms as functions。

有人可以告诉我如何在 sci-kit learn 中优化这些参数,有没有办法在提到的库中做到这一点,或者只是为了学习目的。 我看到了logistic regression的库代码,但一无所获。

感谢任何努力。

【问题讨论】:

“我看到了逻辑回归库的代码,但一无所获”——这正是你应该在 GitHub 上寻找问题答案的地方。据我所知,该库会自动进行优化,因此您不必“优化 sci-kit learn 中的那些参数” 也许您正在寻找GridsearchCV?这是跨 sklearn 模型优化参数的首选 好的,我在这里遇到了一个新问题 GridsearchCV 确实允许我使用不同的 haperparameters 值,但它也执行交叉验证,这会产生新问题,因为我退出了这个讨论。有没有其他出路***.com/questions/60102900/… 【参考方案1】:

我明白了。 GridsearchCV 是答案,这就是我要找的。 我认为它允许我们选择 alpha、c 和迭代次数的值,因此,不允许直接更改权重的值,我认为没关系,或者这就是我们在执行相同操作后如何为这些参数分配值独立处理。 这个article帮助我很好地理解了它。

【讨论】:

嘿,我认为您将参数和超参数混淆了。适合初学者,但重要的是要了解其中的区别。 参数和超参数混在一起是什么意思。抱歉,如果这是一个新手问题..实际上我是新手 参数是模型内部的权重,由使用的优化算法确定,例如梯度下降。超参数是您在模型运行之前需要的设置,例如 alpha、学习率、最大时期等。GridSearch 是一种进行超参数调整的方法。所以优化参数和超参数的算法是两个非常不同的东西。词汇学好一点后,你会更容易获得帮助,所以不妨去学习各种词汇术语。没关系,每个人都必须从某个地方开始。祝你好运。 哇,我明白了,请告诉我我是否正确。当我们更改 alpha 等超参数的值时,我们这样做不是为了获得参数的最佳值。就像梯度下降我使用多个 alpha 值只是为了找到 theta 的最佳值,即参数 几乎是的。没有单一的“最佳”θ。但是我们试图找到最好的超参数,让模型有最好的机会找到我们如何定义最佳参数含义的最佳近似值。但除了这个继承的模糊性,现在你似乎明白了。

以上是关于sci-kit learn 库中算法的参数是如何优化的?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Sci-Kit Learn / Tensorflow 中检测对象大小?

如何将个人 PNG 数据集放入 Sci-Kit Learn 进行图像识别?

如何使用 TRAINS python 自动魔法实验管理器手动注册 sci-kit 模型?

使用 Sci-kit Learn SVM 时预测始终相同

Sci-kit Learn Confusion Matrix:发现样本数量不一致的输入变量

如何用sci-kit learn识别误分类文本文件的ID/名称/标题