【发布时间】:2019-08-19 19:16:44
【问题描述】:
了解感知器的工作原理并尝试从中创建一个函数。
我最近在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"])
Sigmoid 函数:
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)
我的问题是如何在感知器中添加成本函数并根据参数循环 n 次以使用成本函数调整权重?
def get_cost_slope(b,a):
"""
b = predicted value
a = actual value
"""
sqrerror = (b - a) ** 2
slope = 2 * (b-a)
return sqrerror, slope
【问题讨论】:
标签: python python-3.x pandas neural-network jupyter-notebook