Perceptron Tugas JST
Perceptron Tugas JST
SOAL:
Diberikan data :
X=[ 1, 0, 0, 0, 1, 0;
0, 1, 1, 1, 1, 0;
0, 0, 1, 0, 0, 1;
0, 0, 1, 0, 1, 0;
0, 1, 0, 0, 0, 1;
1, 0, 1, 0, 1, 1;
0, 0, 1, 1, 0, 0;
0, 1, 0, 1, 0, 0;
1, 0, 0, 1, 0, 1;
0, 1, 1, 1, 1, 1;
0, 0, 0, 1, 1, 0.9;
0, 0, 0, 1, 0.8, 1;
0, 0, 0, 1, 1, 0.75;
0, 0, 0, 1, 1, 1;]
class=[A B A A A A B B B B, C, C, C, C]
class Perceptron:
def __init__(self, input_size):
# Inisialisasi bobot dengan nilai acak antara -1 dan 1
self.weights = np.random.uniform(-1, 1, input_size)
self.bias = np.random.uniform(-1, 1)
# Data pelatihan
x_train = np.array([
[1, 0, 0, 0, 1, 0],
[0, 1, 1, 1, 1, 0],
[0, 0, 1, 0, 0, 1],
[0, 0, 1, 0, 1, 0],
[0, 1, 0, 0, 0, 1],
[1, 0, 1, 0, 1, 1],
[0, 0, 1, 1, 0, 0],
[0, 1, 0, 1, 0, 0],
[1, 0, 0, 1, 0, 1],
[0, 1, 1, 1, 1, 1],
[0, 0, 0, 1, 1, 0.9],
[0, 0, 0, 1, 0.8, 1],
[0, 0, 0, 1, 1, 0.75],
[0, 0, 0, 1, 1, 1]
])
clas = ['A', 'B', 'A', 'A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C',
'C', 'C']
# Pelatihan perceptron
learning_rate = 0.1
epochs = 1000
perceptron.train(x_train, labels, learning_rate, epochs)
# Compile model
model.compile(optimizer='sgd',
loss='sparse_categorical_crossentropy', metrics=['accuracy'])
# Latih model
epochs = 100
model.fit(x_train, labels, epochs=epochs, verbose=0)