2値分類問題における交差エントロピー誤差関数の導出及びパラメータの勾配の式展開について

『詳解ディープラーニング』(PP.88-91)を読んだので、復習を兼ねて該当ページの式展開をより詳細に記載してみました。

  • 交差エントロピー誤差関数の導出について
  • パラメータに対する勾配(ウエイトに対する勾配とバイアスに対する勾配)の算出
    • ウエイトに対する勾配
    • バイアスに対する勾配
続きを読む

シグモイド関数の微分

シグモイド関数(sigmoid function)


{ \displaystyle
\sigma(x) = \frac{1}{1+e^{-x}}
}


微分すると、


{ \displaystyle
\sigma'(x) = (1 - \sigma(x))\sigma(x)
}


として表現できるのがこの関数の特徴だそうです。以下ではこのような式になるのか確認してみます。
(本音は久しぶりにブログで数式を書いてみたいだけです(笑))

続きを読む

学習メモ1 単純パーセプトロンのpythonコードの一部

そろそろ深層学習の手法も勉強してみたいと思い『詳解ディープラーニング』を少しずつ読んでいます。
この本で分からなかったことやメモを残しておきたいことなどを個人的な学習メモとして残しておきます。

なお、上記の書籍のコードは著者が以下で公開しています。
GitHub - yusugomori/deeplearning-tensorflow-keras

続きを読む

javaによる単回帰分析のコード例

最近ずっとjavaの勉強ばかりだったので、気分転換にjavaによる単回帰分析の簡単なコードをメモ代わりに残しておきます。

単回帰なので目的変数と説明変数の共分散を説明変数の分散で割り算すればいいだけであり、わざわざライブラリを使用するほどではないですが、せっかくなのでApache Commonsの Commons-Math3.xライブラリを使用してみます。
このライブラリの概要については以下のスライドで簡単にまとめられてます!

speakerdeck.com

コード例は以下のとおりです。

//simpleRegressionクラスをインポート
import org.apache.commons.math3.stat.regression.SimpleRegression;

public class Regression {

    public static void main(String[] args) {

        // インスタンスの作成(引数のtrueは定数項ありを意味する)
        SimpleRegression simpleRegression = new SimpleRegression(true);

        // addDataメソッドを利用してsimpleRegressionにデータを渡す
        simpleRegression.addData(new double[][] {
                {1, 2},{2, 3},{3, 4},{4, 5},{5, 6}
        });

        // 推定したパラメタを表示する
        System.out.println("** 出力結果 **");
        System.out.println("定数項 : " + simpleRegression.getIntercept());
        System.out.println("係数推定値 : " + simpleRegression.getSlope());
    }
}

出力結果は以下のとおりです。

** 出力結果 **
定数項 : 1.7
係数推定値 : 1.1



(補足)
simpleRegressionクラスには決定係数を取得するメソッドなど様々なメソッドがあります。メソッドの一覧については以下のリンク先をご覧ください!
SimpleRegression (Apache Commons Math 3.3 API)

Kaggle入門ーTitanic号の乗客データを用いた生存者予測ー

Kaggleのタイタニック号の乗客データを用いた生存者予測モデルの構築及び提出を行ったのでまとめます.今回の挑戦ではランダムフォレストのようなアンサンブル学習器を利用するのではなく,単純なロジスティック回帰モデルでスコア80%を超えることができるかを一つの目標としてチャレンジしました.結果を先に言うと最高スコアは0.79426(上位26%)で残念ながらあともう一息というところでした.

Titanic: Machine Learning from Disaster | Kaggle


目次

  • データセット及び変数の定義
  • データの読み込み
  • 使用するパッケージ
  • データの確認
  • Survivedとの関係を確認
  • 説明変数の作成と欠損値の補完
  • 相関行列
  • データセットの分割
  • ロジスティック回帰モデルの推定(1回目)
  • 説明変数の追加
  • ロジスティック回帰モデルの推定(2回目)
  • おわりに
  • 参考にしたKernels
続きを読む

Jupyter Notebookの設定

新たにインストールする必要が生じたので、ついでに画面の背景色の変更やR言語の使用方法などを備忘録として残しておきます(完全に個人的なメモ)。

  • Anacondaのインストール
  • 背景色やフォントの変更
  • R kernelの設定
続きを読む

Rによるトピックモデル―AKB総選挙2017上位7人のコメントを3つのトピックに分類してみた結果―

Rによるトピックモデルの練習としてとりあえずやってみました。

目次

  • 目次
  • 使用するパッケージ
  • データセット
  • 前処理
    • データの読込み
    • 単語の絞り込み
    • データ構造(class)の変換
  • 分析
    • topicmodelsパッケージによるトピックモデルの推定
    • ldaパッケージによるトピックモデルの推定
    • 推定結果の可視化
    • 結果の解釈
  • おわりに
  • 参考資料
続きを読む