В моем университете есть задача создать простую (думаю, не для меня) нейронную сеть, которая угадывает пол человека по заданному весу и росту. Проблема в том, что мы перешли к этому сразу после выполнения задач print hello world, и я почти ничего не понимаю. После долгих поисков в Google, прыжков, копирования/вставки и молитв Гвидо ван Россуму я придумал следующее:
Я понимаю, что пытаюсь перемножить матрицы разных размеров, но понятия не имею, что еще делать. Если у меня была такая ошибка, то в большинстве случаев транспонирование матриц помогло (я думаю... по крайней мере сообщение об ошибке пропало), но в данном случае это не поможет, так что... Я застрял и мне нужна ваша помощь .
В моем университете есть задача создать простую (думаю, не для меня) нейронную сеть, которая угадывает пол человека по заданному весу и росту. Проблема в том, что мы перешли к этому сразу после выполнения задач print hello world, и я почти ничего не понимаю. После долгих поисков в Google, прыжков, копирования/вставки и молитв Гвидо ван Россуму я придумал следующее: [code]# Importing the numpy library import numpy as np
# Function to calculate the sigmoid of a number def sigmoid(x): return 1 / (1 + np.exp(-x))
# Function to calculate the derivative of the sigmoid def sigmoid_derivative(x): return x * (1 - x)
# Class representing a neuron class Neuron: def __init__(self, weights, bias): self.weights = weights self.bias = bias
# Method to feed forward the inputs through the neuron def feedforward(self, inputs): total = np.dot(self.weights, inputs) + self.bias return sigmoid(total)
# Class representing a neural network class NeuralNetwork: def __init__(self): # Creating random weights and biases for each layer self.weights1 = np.random.rand(2, 2) self.weights2 = np.random.rand(2, 1) self.bias1 = np.zeros((2, 1)) self.bias2 = np.zeros((1, 1))
# Creating instances of neurons for each layer self.h1 = Neuron(self.weights1, self.bias1) self.h2 = Neuron(self.weights1, self.bias1) self.o1 = Neuron(self.weights2, self.bias2)
# Method to feed forward the inputs through the network def feedforward(self, x): out_h1 = self.h1.feedforward(x) out_h2 = self.h2.feedforward(x) out_o1 = self.o1.feedforward(np.array([out_h1, out_h2]).T) return out_o1
# Method to train the network def train(self, inputs, targets, epochs): for epoch in range(epochs): hidden_layer = sigmoid(np.dot(self.weights1, inputs) + self.bias1) output_layer = sigmoid(np.dot(self.weights2.T, hidden_layer) + self.bias2)
# Creating an instance of the neural network network = NeuralNetwork()
# Input data - weight and height of 5 people inputs = np.array([[60, 170], [50, 160], [70, 180], [40, 150], [80, 190]])
# Desired outputs - gender of the person (0 - female, 1 - male) targets = np.array([[1], [1], [1], [0], [1]])
# Training the network network.train(inputs.T, targets, 10000)
# Predicting the gender for new data test_inputs = np.array([[65, 175], [55, 165], [75, 185]]) test_outputs = network.feedforward(test_inputs.T)
print("Predicted gender:") for i, output in enumerate(test_outputs): if output > 0.5: print(f"Person {i+1}: Male") else: print(f"Person {i+1}: Female") [/code] И я получаю эту ошибку: [code]hidden_error = np.dot(self.weights2, output_delta) * sigmoid_derivative(hidden_layer) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ValueError: shapes (2,1) and (5,5) not aligned: 1 (dim 1) != 5 (dim 0) [/code] Я понимаю, что пытаюсь перемножить матрицы разных размеров, но понятия не имею, что еще делать. Если у меня была такая ошибка, то в большинстве случаев транспонирование матриц помогло (я думаю... по крайней мере сообщение об ошибке пропало), но в данном случае это не поможет, так что... Я застрял и мне нужна ваша помощь .
В Интернете мало информации о том, как создавать нейронные сети на C++. Я очень хорошо знаком с базой C++. Моя цель — создать нейронные сети на C++, чтобы они могли играть в определенные игры. Например, вы можете начать с игры «крестики-нолики»,...
Я пытаюсь использовать Keras для создания нейронной сети. Я использую данные Мой код выглядит следующим образом:
import numpy as np
from keras.layers import Dense, Activation
from keras.models import Sequential
from sklearn.model_selection import...
Я пытаюсь передать небольшие фрагменты данных спутниковых изображений (полосы отражения поверхности Landsat-8) в нейронные сети для своего проекта. Однако значения загруженного изображения варьируются от 1 до 65535.
У меня есть личный набор данных, который имеет сезонность и меняется со временем. Каждая сезонность определяется как цикл фильтрации.
Я начал с извлечения данных обучения и тестирования из кадра данных и масштабировал их:
#training data
Qp_values =...