関数ML_get_xy_memory マニュアル

(The documentation of function ML_get_xy_memory)

Last Update: 2024/10/10


◆機能・用途(Purpose)

教師データにおける各層の変数\(x_i^{(m,n)}\)と その線形結合\(y_j^{(m,n)}\)の動的メモリを確保する。
Allocate dynamic memories for the values of variables \(x_i^{(m,n)}\) and their linear combinations \(y_j^{(m,n)}\) of the teaching data in all the layers.


◆形式(Format)

#include <machine_learning/initialize.h>
inline void ML_get_xy_memory
(const int M,const int N,const int ∗J, double ∗∗∗∗x, double ∗∗∗∗y)


◆引数(Arguments)

M 中間層の数\(M\)。
The number, \(M\), of intermediate layers.
N 教師データ数\(N\)。
The number, \(N\), of teaching data.
J 各層における変数の個数を並べた要素数\(M+2\)の配列。 各mについてJ[m]\(=J^{(m)}\)とする。
An array of \(M+2\) components composed of the number of variables in each layer; J[m]\(=J^{(m)}\) for each \(m\).
x 各層における変数の値の代入先。 宣言しただけのdouble ∗∗∗型変数に&を付けて与える。 関数内で配列の動的メモリが確保される。 作成される配列はサイズの異なる\(M+2\)個の2次元配列 (∗x)[m] (\(m=0,\cdots,M+1\)) を並べた「配列の配列」であり、 各(∗x)[m]は\(N\times J^{(m)}\)の2次元配列である。
Memory into which the values of variables in each layer are to be inserted. Give an empty double ∗∗∗-type variable with &. Within the function, the dynamic memory for an array is allocated. The array to be created is an “array of array”, composed of \(M+2\) sub-arrays (∗x)[m] (\(m = 0,\cdots,M+1\)) of mutually different size; each (∗x)[m] is a 2-D array of \(N\times J^{(m)}\).
y 各層における変数の線形結合の値の代入先。 宣言しただけのdouble ∗∗∗型変数に&を付けて与える。 関数内で配列の動的メモリが確保される。 作成される配列はサイズの異なる\(M+1\)個の2次元配列 (∗y)[m] (\(m=0,\cdots,M\)) を並べた「配列の配列」であり、 各(∗y)[m]は\(N\times J^{(m+1)}\)の2次元配列である。
Memory into which the values of the linear combinations of variables in each layer are to be inserted. Give an empty double ∗∗∗-type variable with &. Within the function, the dynamic memory for an array is allocated. The array to be created is an “array of array”, composed of \(M+1\) sub-arrays (∗y)[m] (\(m = 0,\cdots,M\)) of mutually different size; each (∗y)[m] is a 2-D array of \(N\times J^{(m+1)}\).


◆動作(Behaviour)

引数x,yの配列の動的メモリを確保する。
Allocate dynamic memories of arrays for arguments x and y.


◆使用例(Example)

int J[]={2,3,2};
double ∗∗∗x,∗∗∗y;
double ∗∗∗W=ML_get_xy_memory(1,10,J,&x,&y);