java - 使用 Jama 数学库的 sigmoid 函数在 sigmoidfunction 中没有输出

标签 java machine-learning linear-algebra jama

我正在尝试使用 Jama 库编写我的 sigmoid 函数。我不确定我的代码是否有效,因此我在测试函数中调用我的 sigmoidFunction:

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]);

}

最佳答案

您在函数内定义新矩阵。打印出来并查看 sigmoidFunction 中的 Xtheta 是否有值。实际上,您需要在函数内定义 Xtheta

关于java - 使用 Jama 数学库的 sigmoid 函数在 sigmoidfunction 中没有输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20546176/

相关文章:

machine-learning - 多项式回归的正态方程和梯度下降有什么区别

glsl - 四元数除法和双曲正切tanh

java - SQL 响应被视为列名,而不是 Java 中的内容

java - Firebase Java Server 向所有设备发送推送通知

java - Spring 批 : dynamic chunk size

python - 从 Pandas DataFrame 中删除列表

machine-learning - 用于图像识别、图像大小的 TensorFlow

matlab - 使用 CUDA 在 GPU 上并行克罗内克张量积

machine-learning - 线性代数在机器学习中的应用

Java GUI 为空白