【发布时间】:2017-10-09 21:55:55
【问题描述】:
我刚刚开始使用机器学习,正在探索不同的算法。我从互联网上获取了一个二元分类问题,并尝试应用各种机器学习技术。
首先我尝试在其上运行一个朴素贝辛分类器,我发现成功率约为 75%。我尝试了逻辑回归,发现成功率高达 90%。我尝试将正则化应用于我的分类器,这是当我将 Lambda(正则化参数)改变超过 30 个值时发现的曲线。 。红色图是训练集,蓝色图是验证集。如您所见,两条曲线的误差幅度都在 Lambda 上增加。我认为这表明我的假设一开始就欠拟合,并且随着 lambda 的增加,欠拟合变得更糟。这是正确的解释方式吗?
无论哪种方式,为了解决欠拟合问题,尝试更复杂的模型是有意义的,所以我转向了神经网络。我最初的问题有 31 个特征来表征它,我选择了一个具有两个隐藏层的网络,每个隐藏层有 10 个节点。
经过训练,我发现它只正确分类了 65% 的训练数据。这比 Naive-Baysien 和逻辑回归更糟糕。这种情况多久发生一次?我的神经网络实现是否更有可能出现问题?
值得注意的是,神经网络似乎在 25-30 次迭代后就收敛了。我的逻辑回归需要 300 次迭代才能收敛。我确实考虑过神经网络可能陷入局部最小值的可能性,但根据我正在关注的 Andrew NG 的机器学习优秀课程,这不太可能。
根据课程的解释,一般而言,神经网络比逻辑回归提供更好的预测,但您可能会遇到过度拟合的问题。但是,我认为这不是问题所在,因为 65% 的成功率在训练集上。
我是否需要检查我的神经网络实现,或者这是可能发生的事情?
【问题讨论】:
标签: python machine-learning neural-network logistic-regression