Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用MNIST实施逻辑回归-不收敛?_Python_Numpy_Machine Learning_Logistic Regression_Mnist - Fatal编程技术网

Python 使用MNIST实施逻辑回归-不收敛?

Python 使用MNIST实施逻辑回归-不收敛?,python,numpy,machine-learning,logistic-regression,mnist,Python,Numpy,Machine Learning,Logistic Regression,Mnist,我希望有人能帮助我。我从头开始实现了逻辑回归(因此没有库,除了Python中的numpy) 我将其用作输入,并决定尝试(因为我正在进行二进制分类)只对两个数字进行测试:1和2。我的代码可以在这里找到 笔记本应在安装了必要库的任何系统上运行 不知何故,我的成本函数并没有收敛。我得到了错误,因为我的A(我的乙状结肠)等于1,因为z变得非常大 我什么都试过了,但我看不出我的错误。如果我漏掉了什么明显的东西,谁能看一眼让我知道吗?这里的重点不是获得高精度。正在使模型收敛到某种程度;) 提前谢谢你,我读

我希望有人能帮助我。我从头开始实现了逻辑回归(因此没有库,除了Python中的numpy)

我将其用作输入,并决定尝试(因为我正在进行二进制分类)只对两个数字进行测试:1和2。我的代码可以在这里找到

笔记本应在安装了必要库的任何系统上运行

不知何故,我的成本函数并没有收敛。我得到了错误,因为我的A(我的乙状结肠)等于1,因为z变得非常大

我什么都试过了,但我看不出我的错误。如果我漏掉了什么明显的东西,谁能看一眼让我知道吗?这里的重点不是获得高精度。正在使模型收敛到某种程度;)


提前谢谢你,我读了你的密码。一切看起来都很好。唯一的问题是你的学习率很高。我知道
0.005
是一个很小的数字,但在这种情况下,它太高了,算法无法收敛。这一点从成本的增加中可见一斑。成本降低了一段时间,然后很快开始负增长。这样做的目的是使成本接近于零。在这里,负数并不意味着成本更低。你必须看到震级。我使用
0.000008
作为学习率,它运行良好。

我得到了错误。问题是我使用了类标签1和2(可以在MNIST中找到),但在二进制分类中,您将这些值与0和1进行比较,因此模型无法收敛,因为
sigmoid()
(请参阅我的代码)只能从0变为1(这是一种概率)

用0和1代替1和2很好地解决了这个问题。现在,我的模型收敛到98%的精度:-)

谢谢大家的帮助

问候,,
翁贝托

谢谢。很高兴听到这个消息。稍后,我们将尝试您的学习率,并了解其进展情况。感谢您抽出时间检查我的代码。感谢您发布解决方案。