2

Jama ライブラリを使用してシグモイド関数をコーディングしようとしています。コードが機能するかどうかわからないのでsigmoidFunction、テスト関数で my を呼び出します。

public matrix sigmoidFunction() {
    matrix theta = new matrix(x_theta,m);
    matrix X = new matrix(x);
    matrix theta_transpose = theta.transpose();
    matrix HX = theta_transpose.times(X);
    double[][] hx = HX.getArray();
    int m = HX.getRowdimension();
    int n = HX .getColdimension();

    for (int i = 0; i < m; i++) {
        for (int j = 0; j<n; j++) {
             hx[i][j] = 1 / (1 + StrictMath.exp(hx[i][j]));
        }
    }
    matrix sigmoid = new matrix(hx);
return sigmoid;
}

しかし、実行すると出力がありません。私の中に価値がないようsigmoidFunctionです。どうしてか分かりません。

public static void main(String[] args) {

    double[ ][ ] x={ {1,2}, {1,2}, {1,2} ,{1,2}, {1,2} };
        double[] theta = {0.5,0.005};
    double[] y = {1,1,0,1,0};

    LogisticRegression l = new LogisticRegression(x,theta,y);

    System.out.println(l.sigmoidFunction().getArray()[1]);

}

4

1 に答える 1

0

関数内で新しいマトリックスを定義します。印刷して、 と に値があるかどうかXtheta確認しますsigmoidFunctionX実際には、関数内で定義する必要がありthetaます。

于 2013-12-12T16:02:33.670 に答える