Octave/Python 中的神经网络学习计算特定数据集的成本

Neural Network Learning in Octave/Python to Computer the Cost for Specific DataSet

我正在通过 Octave 和 Python 学习神经网络,并使用来自 https://github.com/leejaymin/machine_learning_coursera_python_octave

的练习

在神经网络练习中,我得到以下命令以八度加载数据

load('ex4data1.mat');
m = size(X, 1);
% Randomly select 100 data points to display
sel = randperm(size(X, 1));
sel = sel(1:100);
displayData(X(sel, :));
% Load the weights into variables Theta1 and Theta2
load('ex4weights.mat');
% Unroll parameters 
nn_params = [Theta1(:) ; Theta2(:)];

python 中的类似代码是

data = loadmat('ex4data1.mat')
data.keys()
y = data['y']
X = np.c_[np.ones((data['X'].shape[0],1)), data['X']]
print('X:',X.shape, '(with intercept)')
print('y:',y.shape)
weights = loadmat('ex3weights.mat')
weights.keys()
theta1, theta2 = weights['Theta1'], weights['Theta2']
print('theta1 :', theta1.shape)
print('theta2 :', theta2.shape)
params = np.r_[theta1.ravel(), theta2.ravel()]
print('params :', params.shape)

我目前的数据集只有这个。三个节点是输入,三个节点是隐藏的,一个将是输出。

我现在对如何将上述图片数据处理为 .mat 文件或我在这里遗漏的内容感到困惑。如何将我的 pic 数据转换为 .mat,以便我将被进一步处理以仅计算几次迭代的成本?

假设您不要求自动将图像转换为数据的方法,并且您确实将数据保存在某个文件中,那么您所要做的就是将其写为矩阵:

X = [ 1000, 3, 1000000, 1;
      1200, 2, 1200000, 0;
       900, 2,  900000, 1;
      1500, 3, 1500000, 0;
       800, 1,  800000, 1;   % presumably the picture has a typo here?
    ]

然后将矩阵保存到 .mat 文件

save data.mat X