gpt4 book ai didi

python - 创建用于训练的单个感知器

转载 作者:太空狗 更新时间:2023-10-30 01:24:45 24 4
gpt4 key购买 nike

了解感知器的工作原理并尝试从中创建一个函数。

我最近看了一个视频 youtube作为对上述主题的介绍。

现在,我试图模仿他的功能,我想尝试将它应用到示例数据集中:

#         x1    x2  y
data = [ [3.5, 1.5, 1],
[2.0, 1.0, 0],
[4.0, 1.5, 1],
[3.0, 1.0, 0],
[3.5, 0.5, 1],
[2.0, 0.5, 0],
[5.5, 1.0, 1],
[1.0, 1.0, 0],
[4.5, 1.0, 1] ]

data = pd.DataFrame(data, columns = ["Length", "Width", "Class"])

乙状结肠函数:

def sigmoid(x):
x = 1 / (1 + np.exp(-x))
return x

感知器函数:

w1 = np.random.randn()
w2 = np.random.randn()
b = np.random.randn()

def perceptron(x1,x2, w1, w2, b):

z = (w1 * x1) + (w2 * x2) + b

return sigmoid(z)

我的问题是如何在 Perceptron 中添加成本函数并根据参数将其循环 n 次以使用成本函数调整权重?

def get_cost_slope(b,a):
"""
b = predicted value
a = actual value
"""

sqrerror = (b - a) ** 2
slope = 2 * (b-a)

return sqrerror, slope

最佳答案

您需要创建一种通过感知器反向传播并优化权重的方法。

def optimize( a , b ):

sqrerror = (b - a) ** 2
cost_deriv = 2 * (b-a)

sigmoid_deriv = z * ( 1 - z ) # derivative of sigmoid function

learning_rate = 0.001 # Used to scale the gradients

w1 -= ( cost_deriv * sigmoid_deriv * x1 ) * learning_rate # Gradient Descent update rule
w2 -= ( cost_deriv * sigmoid_deriv * x2 ) * learning_rate
b -= ( cost_deriv * sigmoid_deriv ) * learning_rate

因为 ,

Partial Derivative

其中 $J$ 是成本函数。

关于python - 创建用于训练的单个感知器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55407411/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com