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

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

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

続きを読む

【Java】Commons-Math3.xライブラリによる単回帰分析のコードの紹介

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入門, R言語】Titanic号の乗客データを用いた生存者予測―ロジスティックモデルでスコア80%を超えることができるか挑戦してみた―

Kaggleに入門してみたので,その内容をまとめてみます.
基本的にはKernelsで優秀な参加者のコードを参考に所々アレンジしているといった内容の記事になります.

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

Titanic: Machine Learning from Disaster | Kaggle


目次

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

【メモ】Jupyter Notebookの設定

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

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

【R言語】友達に漫画をおススメするときに利用するレコメンドアルゴリズムについて

 岩波データサイエンスVol.5に行列分解を利用したレコメンドについて記事があったので、雰囲気だけでも理解しようと簡単な例を作成してみました。売れ筋の漫画10タイトルの購入の有無を7人について調査し、ある人(小林さん)がまだ購入してない漫画のうち、どの漫画をレコメンドしたらいいのかについてです。売れ筋漫画についてはジュンク堂書店ランキング(漫画・コミックのジュンク堂書店書店ランキング - hontoベストセラー)の上位10タイトルの漫画(2017年6月18日現在)を利用しました。今回取り上げるレコメンドアルゴリズム協調フィルタリング(ユーザベースド、アイテムベースド)、特異値分解(SVD)、非負値行列因子分解(NMF)についてです。

目次

  • データセットの作成
  • 使用するパッケージ
  • 協調フィルタリング
    • 類似度を計算する関数
    • ユーザベースド
    • 類似度の算出
    • 小林さんが購入していない漫画をレコメンド
  • アイテムベースド
    • データの分割
    • 類似度の算出
    • 小林さんが購入していない漫画をレコメンド
  • 特異値分解(SVD)
  • 非負値行列因子分解(NMF)
    • おわりに


続きを読む

Rによるニューラルネットワーク―neuralnet関数を利用した例―

個人的なメモとしてneuralnet関数の使い方についてまとめてみます。

関数の基本的な使い方については以下の本が詳しいのではないかと思います。

www.shoeisha.co.jp

本記事ではニューラルネットワークを構築して回帰問題に取り組みます。

続きを読む

【R言語】政府統計を用いた階層的クラスタリングの実践例

クラスター分析の復習の記事では、食品ごとのたんぱく質摂取量のパターンにもとづいて欧州25ヵ国をグルーピングしており、地理的に近い地域の国でクラスタを形成しているならば、日々の食事習慣みも似通ってくるのではないかと推測していました。なので、ここではクラスタ分析の使い方を覚えることを主眼に置きつつ、都道府県の主要な食品の消費データを利用して、地理的に近い県で似通った食品の消費傾向を示すクラスタが形成されるかを検証してみます。

続きを読む