如何用Python编写logistic回归分类算法的代码?
- 内容介绍
- 文章标签
- 相关推荐
本文共计793个文字,预计阅读时间需要4分钟。
最近我在看吴恩达的机器学习课程,用Python实现了其中的逻辑回归算法,并使用梯度下降法获取最优值。逻辑回归是一个二分类问题,我们的线性回归函数的取值范围在负无穷到正无穷之间。
最近在看吴恩达的机器学习课程,自己用python实现了其中的logistic算法,并用梯度下降获取最优值。
logistic分类是一个二分类问题,而我们的线性回归函数
的取值在负无穷到正无穷之间,对于分类问题而言,我们希望假设函数的取值在0~1之间,因此logistic函数的假设函数需要改造一下
由上面的公式可以看出,0 < h(x) < 1,这样,我们可以以1/2为分界线
cost function可以这样定义
其中,m是样本的数量,初始时θ可以随机给定一个初始值,算出一个初始的J(θ)值,再执行梯度下降算法迭代,直到达到最优值,我们知道,迭代的公式主要是每次减少一个偏导量
如果将J(θ)代入化简之后,我们发现可以得到和线性回归相同的迭代函数
按照这个迭代函数不断调整θ的值,直到两次J(θ)的值差值不超过某个极小的值之后,即认为已经达到最优解,这其实只是一个相对较优的解,并不是真正的最优解。
本文共计793个文字,预计阅读时间需要4分钟。
最近我在看吴恩达的机器学习课程,用Python实现了其中的逻辑回归算法,并使用梯度下降法获取最优值。逻辑回归是一个二分类问题,我们的线性回归函数的取值范围在负无穷到正无穷之间。
最近在看吴恩达的机器学习课程,自己用python实现了其中的logistic算法,并用梯度下降获取最优值。
logistic分类是一个二分类问题,而我们的线性回归函数
的取值在负无穷到正无穷之间,对于分类问题而言,我们希望假设函数的取值在0~1之间,因此logistic函数的假设函数需要改造一下
由上面的公式可以看出,0 < h(x) < 1,这样,我们可以以1/2为分界线
cost function可以这样定义
其中,m是样本的数量,初始时θ可以随机给定一个初始值,算出一个初始的J(θ)值,再执行梯度下降算法迭代,直到达到最优值,我们知道,迭代的公式主要是每次减少一个偏导量
如果将J(θ)代入化简之后,我们发现可以得到和线性回归相同的迭代函数
按照这个迭代函数不断调整θ的值,直到两次J(θ)的值差值不超过某个极小的值之后,即认为已经达到最优解,这其实只是一个相对较优的解,并不是真正的最优解。

