我希望有一个人可以帮助我。我从头开始实现了逻辑回归(所以没有库,除了 Python 中的 numpy)。
I used MNIST 数据集 http://yann.lecun.com/exdb/mnist/作为输入,并决定尝试(因为我正在进行二进制分类)仅对两个数字进行测试:1 和 2。我的代码可以在这里找到
https://github.com/michelucci/Logistic-Regression-Explained/blob/master/MNIST%20with%20Logistic%20Regression%20from%20scratch.ipynb https://github.com/michelucci/Logistic-Regression-Explained/blob/master/MNIST%20with%20Logistic%20Regression%20from%20scratch.ipynb
笔记本应该在安装了必要库的任何系统上运行。
不知怎的,我的成本函数没有收敛。我收到错误,因为我的 A(我的 sigmoid)变得等于 1,因为 z 变得非常大。
我尝试了一切,但没有看到我的错误。如果我错过了一些明显的事情,有人可以看一下并告诉我吗?这里的重点不是获得高精度。让模型收敛到某个东西;)
提前致谢,翁贝托
我读了你的代码。一切看起来都很好。唯一的问题是你的学习率很高。我知道0.005
是一个很小的数字,但在这种情况下它对于算法收敛来说太高了。从成本的增加就可以看出这一点。成本会下降一段时间,然后很快就会开始变成负数。这个想法是让成本接近于零。这里负数并不意味着成本较小。你必须看到其规模。我用了0.000008
作为学习率并且效果很好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)