根据吴恩达作业ex2的Logistic Regression用Python代码实现。
首先贴上公式,整个算法的实现主要依靠两个公式。一个是计算代价函数的公式,一个是进行梯度下降的公式。
计算logistic回归的代价函数定义如下。值得注意的是,这里的h(x)与线性回归的h(x)并不一样,在带入公式时尤其注意。
同样,与线性回归类似,为了最小化代价函数J,需要进行迭代计算相应的theta。
下面使用Python实现该算法。代码中提供了两种实现方法,一种是直接使用科学计算函数optimize.minimize寻找最优参数,另一种就是使用迭代来实现求解theta(ex2里并没有使用迭代来实现该算法,这里使用该算法主要是为了学习,如若有错欢迎指正)。关于optimize.minimize的参考资料: