吴恩达机器学习Logistic回归算法的Python实现

本文介绍如何依据吴恩达机器学习课程的ex2,使用Python实现Logistic Regression算法。通过两个关键公式——代价函数和梯度下降,分别展示了利用`optimize.minimize`和迭代法求解theta的过程。实验结果显示两种方法得到的结果相近。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

根据吴恩达作业ex2的Logistic Regression用Python代码实现。

首先贴上公式,整个算法的实现主要依靠两个公式。一个是计算代价函数的公式,一个是进行梯度下降的公式。

计算logistic回归的代价函数定义如下。值得注意的是,这里的h(x)与线性回归的h(x)并不一样,在带入公式时尤其注意。

同样,与线性回归类似,为了最小化代价函数J,需要进行迭代计算相应的theta。

下面使用Python实现该算法。代码中提供了两种实现方法,一种是直接使用科学计算函数optimize.minimize寻找最优参数,另一种就是使用迭代来实现求解theta(ex2里并没有使用迭代来实现该算法,这里使用该算法主要是为了学习,如若有错欢迎指正)。关于optimize.minimize的参考资料:https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.minimize.html

import numpy as np
import matplotlib.pyplot as plt
from scipy import optimize
#数据加载
data = np.loadtxt(r'G:\MATLAB\machine-learning\machine-learning-ex2\ex2\ex2data1.txt',del
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值