パッケージ org.opengion.penguin.math.statistics

## クラス HybsLogisticRegression

- java.lang.Object
- - org.opengion.penguin.math.statistics.HybsLogisticRegression

-     public class HybsLogisticRegression
      extends Object

  多項ロジスティック回帰の実装です。 確率的勾配降下法(SGD)を利用します。 ロジスティック回帰はn次元の情報からどのグループに所属するかの予測値を得るための手法の一つです。 実装は http://nbviewer.jupyter.org/gist/mitmul/9283713 https://yusugomori.com/projects/deep-learning/ を参考にしています。

- - ### コンストラクタの概要

    コンストラクタ
    コンストラクタ | 説明
    --- | ---
    `HybsLogisticRegression​(double[][] data, int[][] label, double learning_rate, int loop, double minibatch_rate)` | コンストラクタ。

  - ### メソッドの概要

    すべてのメソッド staticメソッド インスタンス・メソッド concreteメソッド
    修飾子とタイプ | メソッド | 説明
    --- | --- | ---
    `double[]` | `getB()` | 写像式 Wx + bのb、バイアス。
    `double[][]` | `getW()` | 写像式 Wx+b のW、係数ベクトル。
    `static void` | `main​(String[] args)` | ここからテスト用mainメソッド 。
    `double[]` | `predict​(double[] in_x)` | 出来た予測式に対して、データを入力してyを出力する。

    - ### クラスから継承されたメソッド java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### コンストラクタの詳細

    - #### HybsLogisticRegression

          public HybsLogisticRegression​(double[][] data,
                                        int[][] label,
                                        double learning_rate,
                                        int loop,
                                        double minibatch_rate)

      コンストラクタ。 学習もしてしまう。 xはデータセット各行がn次元の説明変数となっている。 trainはそれに対する{0,1,0},{1,0,0}のようなラベルを示すベクトルとなる。 学習率は通常、0.1程度を設定する。 このロジックではループ毎に0.95をかけて徐々に学習率が下がるようにしている。 全データを利用すると時間がかかる場合があるので、確率的勾配降下法を利用しているが、 選択個数はデータに対する割合を与える。 データ個数が少ない場合は1をセットすればよい。
      パラメータ:
        `data` - データセット配列
        `label` - データに対応したラベルを示す配列
        `learning_rate` - 学習係数(0から1の間の数値)
        `loop` - 学習のループ回数（ミニバッチを作る回数）
        `minibatch_rate` - 全体に対するミニバッチの割合(0から1の間の数値)

  - ### メソッドの詳細

    - #### getW

          public double[][] getW()

      写像式 Wx+b のW、係数ベクトル。
      戻り値:
        係数ベクトル

    - #### getB

          public double[] getB()

      写像式 Wx + bのb、バイアス。
      戻り値:
        バイアスベクトル

    - #### predict

          public double[] predict​(double[] in_x)

      出来た予測式に対して、データを入力してyを出力する。 (yは各ラベルに対する確率分布となる）
      パラメータ:
        `in_x` - 予測したいデータ
      戻り値:
        予測結果

    - #### main

          public static void main​(String[] args)

      ここからテスト用mainメソッド 。
      パラメータ:
        `args` - 引数