Проблема в Google Colab с одиночным персептроном Logi c Gates - PullRequest
1 голос
/ 06 августа 2020

Я пытаюсь создать несколько простых логических c ворот, таких как И, ИЛИ, и т.д. c., Используя один перцептрон. Когда я использую следующий код для создания логического элемента И в Google Colab:

from sklearn.linear_model import Perceptron
import matplotlib.pyplot as plt
import numpy as np
from itertools import product

# AND logic gate data and labels
data=[[0, 0], [0, 1], [1, 0], [1, 1]]
labels=[0, 0, 0, 1]

classifier=Perceptron(max_iter=40)
classifier.fit(data, labels)
print(classifier.score(data, labels))

x_values=np.linspace(0, 1, 100)
y_values=np.linspace(0, 1, 100)

point_grid=list(product(x_values, y_values))
distances=classifier.decision_function(point_grid)
abs_distances=[abs(pt) for pt in distances]

distances_matrix=np.reshape(abs_distances, (100, 100))
heatmap=plt.pcolormesh(x_values, y_values, distances_matrix)
plt.colorbar(heatmap)
plt.show()

, это результат: Вывод в Google Colab

На рисунке показано решение Граница решения, но это неправильная граница решения для логического элемента И.

Если я использую тот же код в другом блокноте juptyer, например в Kaggle, граница решения правильная, как показано здесь: Вывод в Kaggle .

Есть ли проблема с моим кодом? Или просто проблема с Google Colab?

...