added uebung3 base

main
romanamo 2024-05-08 17:30:36 +02:00
parent a4229dc2ac
commit 49da13274c
1 changed files with 42 additions and 0 deletions

View File

@ -0,0 +1,42 @@
import numpy as np
visible = np.ones((10,1))
hidden = np.ones((5,1))
visible_bias = np.ones((len(visible), 1)) * 0.1
hidden_bias = np.ones((len(hidden),1)) * 0.1
weights = np.random.rand(len(visible), len(hidden))
phases = 1
learnrate = 0.2
def sigmoid(x):
return 1 / (1 + np.exp(-x)) # Sigmoidfunktion
for i in range(1):
activation = sigmoid(np.matmul(visible.T, weights) + hidden_bias)
# 2. Computer outer product vh
positive_gradient = np.matmul(visible, hidden.T)
t = sigmoid(np.matmul(weights, hidden) + visible_bias)
reconstructed = sigmoid(np.matmul(weights, hidden) + visible_bias)
# 4. Computer outer product v'h'
negative_gradient = np.matmul(reconstructed.T, activation)
# 5. Update weight matrix using gradients
delta_weights = learnrate * (positive_gradient - negative_gradient)
# 6. Update bias for visible and hidden layer
delta_visible_bias = learnrate * (visible - reconstructed)
delta_hidden_bias = learnrate * (hidden - activation)