Я учусь в средней школе, и я только начал заниматься машинным обучением, чтобы углубить свои знания в области кодирования. Я опробовал программу Octave и работал с неврологическими сетями или, по крайней мере, пытался. В моей первой программе, однако, я уже оказался в тупике с моей функцией градиента сигмоида. Когда я пытаюсь заставить функцию работать для каждого значения в матрице, я понятия не имею, как это сделать. Я попытался поместить z в качестве параметра функции, но он говорит, что само z не определено. У меня нет знаний о C или C ++, и я все еще любитель в этой области, поэтому извините, если я потрачу некоторое время, чтобы понять. Спасибо всем, кто предлагает помощь!
Я использую Octave 4.4.1, и я еще не пробовал никакого другого решения, поскольку у меня его нет.
% Main Code
g = sigGrad([-2 -1 0 1 2]);
% G is supposed to be my sigmoid Gradient for each value of Theta, which is the matrix within it's parameters.
% Sigmoid Gradient function
function g = sigGrad(z)
g = zeros(size(z));
% This is where the code tells me that z is undefined
g = sigmoid(z).*(1.-sigmoid(z));
% I began by initializing a matrix of zeroes with the size of z
% It should later do the Gradient Equation, but it marks z as undefined before that
% Sigmoid function
g = sigmoid(z)
g = 1.0 ./ (1.0 + exp(-z));