python - Chainer - Python - 逻辑回归

标签 python machine-learning artificial-intelligence logistic-regression chainer

我使用 Python 和 Chainer 创建了一个简单的逻辑回归模型,但我对最终结果并不完全满意。因此,我想得到一些帮助。一个限制:我不想用已经存在的功能来交换已实现的功能。我知道 Chainer 中有一些损失函数,其效果几乎相同,但我正在创建的更复杂的模型正在使用自定义损失函数。代码可以在这里找到:

https://gist.github.com/kmjjacobs/62fc96ece695b47af8d667b060a64559

我希望保持模型代码尽可能干净,但正如您所看到的,call方法是到损失方法的转发,我怀疑有一种更干净的方法来调用训练循环中的损失方法。我认为如果 call 方法输出预测并且有一个单独的损失方法来计算损失,那么会更干净。您对此有何看法?

我也不确定转换器的功能。有没有更好的方法来达到相同的结果?

您对编写 Chainer 代码有什么评论或最佳实践吗?

提前致谢!

最佳答案

首先您的主要问题是什么?分别定义损失函数和预测函数的最佳方法?

我查看了您的代码,我认为 init_scope 的功能在 LinkChain 之间是不同的。为此,您不能使用它在 Chain 中注册可学习参数。 (您当前使用的是Link,而不是Chain。)

就您而言,我认为您可以将chainer.links.Linear用于您的LogisticRegressionModel,或者您可以定义自己的Link具有可学习参数 W 的类,并在您的 LogisticRegressionModel 中使用这个自己的 link 类。

关于python - Chainer - Python - 逻辑回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48962697/

相关文章:

machine-learning - 尝试在 290X 上设置机器学习库

machine-learning - 如何避免测试数据过拟合?

c# - 我应该使用什么类型的算法?

python - 用numpy插入一个角度的旋转

python - 如何删除控制台输出的最后一个字符?

machine-learning - 如何使用 deeplearning4j 将混合类型输入连接到多层网络中?

python - 为什么需要在 TensorFlow 中初始化变量?

algorithm - 有哪些关于植绒和群体算法的好资源?

python - 当单词不存在时,将 0 分配给某些单词

python - Selenium (如果在屏幕上定位无法找到元素)