在八度音阶和蟒蛇之间混淆

Sha*_*amy 2 python machine-learning octave

最近我完成了 Andrews Ng 在 coursera 上的 ML 课程。这是一个很棒的课程。在整个课程中,我一直在使用八度音程。但是,与八度音程相比,python 更受欢迎。所以,我现在已经开始学习python了。我正在使用 python 实现线性回归。我什么都不做。只需调用线性回归的预定义函数。但是,在八度音阶中,我曾经从头开始编写代码。我必须使用梯度下降算法找到参数。但是,python 中没有这样的东西。我参考了以下链接:https : //towardsdatascience.com/linear-regression-python-implementation-ae0d95348ac4

我的问题是,我们不会使用诸如梯度下降之类的任何算法来学习参数 Theta 吗?一切都是在python中预定义的吗?

谢谢。

Sup*_*dar 6

Python 是一种编程语言,就像 Octave 一样。所以可以在 Octave 中完成的所有事情也可以使用 Python 完成。如果您想Linear Regression使用 Python 从头开始实现算法以验证您的理解,当然您可以这样做(我也这样做过)。为什么停止线性回归,您可以在 Python 中实现SVMDecision Trees甚至Deep Neural Networks从头开始。这是具体了解这些算法的好方法。

但是,多年来,所有这些都在 Python 中的 Sklearn 等库中实现。因此,随着数据的复杂性和数量的增加,您可能希望使用这些库或框架之一。为什么?因为这些是高度优化的实现。为了获得高层次的感觉 - 使用简单的列表和 for 循环实现线性回归,然后使用 Numpy 对其进行矢量化,您将看到性能上的差异。

总而言之 - 如果您很好奇,请继续从头开始实施算法以获得扎实的理解。随着复杂性和数据量的增加,开始使用库和框架。希望这可以帮助。