クラス HybsLogisticRegression


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

      • 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 - 引数