欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python 感知器實現

呂致盈2年前8瀏覽0評論

Python感知器是一種基于神經網絡的算法,是機器學習中的一個重要概念。感知器通過輸入多個特征,學習如何做出正確的分類決策。下面我們就來介紹一下如何用Python實現感知器算法。

#首先我們需要定義一個感知器類
class Perceptron(object):
def __init__(self, n_inputs, learning_rate=0.1, n_epochs=10):
self.weights = [0.0 for _ in range(n_inputs)]
self.bias = 0.0
self.learning_rate = learning_rate
self.n_epochs = n_epochs
#感知器訓練
def train(self, inputs, targets):
for iteration in range(self.n_epochs):
for input_vector, target in zip(inputs, targets):
self.update_weights(input_vector, target)
#感知器預測
def predict(self, input_vector):
weighted_sum = sum([self.weights[i] * input_vector[i] for i in range(len(input_vector))]) + self.bias
if weighted_sum >= 0.0:
return 1
else:
return 0
#更新權重
def update_weights(self, input_vector, target):
prediction = self.predict(input_vector)
error = target - prediction
self.bias += error * self.learning_rate
for i in range(len(input_vector)):
self.weights[i] += error * input_vector[i] * self.learning_rate

代碼中我們定義了一個Perceptron類,包含了初始化、訓練和預測等函數。在訓練時,我們根據輸入的訓練數據和訓練標簽迭代更新權重和偏差,直到達到設定的迭代次數。

最后我們貼上一個簡單的測試代碼,以驗證感知器模型的預測效果。

#測試代碼
inputs = [[1, 1], [1, 0], [0, 1], [0, 0]]
targets = [1, 0, 0, 0]
p = Perceptron(2)
p.train(inputs, targets)
print(p.predict([1, 1])) #1
print(p.predict([1, 0])) #0
print(p.predict([0, 1])) #0
print(p.predict([0, 0])) #0

通過運行測試代碼,我們可以發現感知器算法在這個簡單的二分類問題上表現出了可靠的預測效果。