写出梯度下降法python代码,数据是X_data = [[10, 20, 90], [9, 18, 70], [4, 12, 55], [3, 10, 50]] ,分类标签是Y_labels = [1, 1, 0, 0]
时间: 2023-09-30 15:10:55 浏览: 48
好的,这里是梯度下降法的Python代码,用于二分类问题:
```
import numpy as np
# 训练数据
X_data = np.array([[10, 20, 90], [9, 18, 70], [4, 12, 55], [3, 10, 50]])
Y_labels = np.array([1, 1, 0, 0])
# 定义sigmoid函数
def sigmoid(x):
return 1 / (1 + np.exp(-x))
# 定义梯度下降函数
def gradient_descent(X, y, epochs, alpha):
# 初始化权重和偏置
w = np.zeros(X.shape[1])
b = 0
# 迭代训练
for i in range(epochs):
# 前向传播,计算损失函数和梯度
z = np.dot(X, w) + b
A = sigmoid(z)
cost = -y * np.log(A) - (1 - y) * np.log(1 - A)
dw = np.dot(X.T, (A - y)) / len(y)
db = np.sum(A - y) / len(y)
# 更新权重和偏置
w -= alpha * dw
b -= alpha * db
# 打印损失函数,用于观察训练过程
if i % 1000 == 0:
print('epoch %d cost %f' % (i, cost.mean()))
return w, b
# 调用梯度下降函数进行训练
w, b = gradient_descent(X_data, Y_labels, epochs=20000, alpha=0.01)
# 打印最终的权重和偏置
print('w =', w)
print('b =', b)
```
其中,sigmoid函数是用来将线性函数的输出转换为0到1之间的概率值,而梯度下降函数则是对于每一次迭代,计算损失函数的梯度,然后更新权重和偏置。最终得到的权重和偏置可以用来进行预测。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)