Gin04

スポンサーリンク
Python

芸人の大喜利の強さをベイズモデリングしてみた

お題は当然毎回変わる上に、最近は画像や動画のお題が出たりと出題形式もたびたび変わっていたりして、IPPONを出しやすい回・出しにくい回というのもあるのかなと、客観的に見て思ったりしています。 なので、ちょっとそういった要素も考慮した上で、本当にIPPON力が高い芸人は誰なのかを、今回ベイズモデリングで分析してみようと思います。
読書

勉強本自炊環境について

今回も分析的な話ではないのですが、最近以下のものを買いました。 割と本が好きで、技術書に限らず、毎年100冊くらいのペースで読んでいたのですが、最近部屋に本をおけるスペースが無くなってきたのが悩みでした。
未分類

サイトリニューアルしました

サイトリニューアルしました! 経緯としては、だいぶ遅かったのですが、ようやくこのサイトのSSL対応をそろそろやろうと思い立って、渋々と重い腰を持ち上げてやり始めたのがきっかけです。 ただ、そこで色々と問題がありました。
Python

最適化問題(TSP)を深層強化学習で解いてみた

今回は数理最適化問題を深層強化学習で解くアプローチについて書きます。 前回、巡回セールスマン問題(TSP)について、混合整数計画問題(MIP)としての解き方をPuLPで実装しました。 今回は、TSPについて深層強化学習を使った解き方をPyTorchで試してみます。
Python

PuLPで数理最適化問題(TSP、VRP)

数理最適化問題の中でもNP困難の基本的な問題の1つ、巡回セールスマン問題と、その一般化、運搬経路問題を、PuLPで解いてみます。 PuLPは、最適化問題を解くためのPythonライブラリです。 今回は、このライブラリを使って、巡回セールスマン問題および運搬経路問題を、混合整数計画問題として解いてみます。
Python

SIRモデルで新型コロナウイルスの感染者数の収束を予測してみた

SIRモデルのパラメータの推定は、オーソドックスには最尤推定などが用いられるようですが、今回はベイズで定式化して、ベイズ推定もやってみました。 国別のデータを使った分析は最近よく見ますので、今回は以下のデータを使って、都道府県別の感染流行の予測を行ってみます。
Python

Grad-CAM、Grad-CAM++、Score-CAMを実装・比較してみた

今回は表題の通り、画像系深層学習の判断根拠手法について、近年人気のある手法「Grad-CAM」と、その改良版「Grad-CAM++」、さらに去年論文発表されたばかりの「Score-CAM」を、TensorFlow/Kerasで実装・比較してみます。
Python

Bi-LSTM学習におけるバッチごとの系列長調整について

深層学習でのBi-LSTMなどの系列学習において、バッチごとに系列長を調整できるようにしてみます。 例えば、Kaggleのカーネルコンペなどで、自然言語の分類をLSTMなどで学習させる場合、バッチごとに系列長を調整する方が、学習精度・実行時間短縮に効果があるようです。
Python

機械学習モデルを解釈する指標SHAPについて

今回は、機械学習モデルの解釈性に関する指標「SHAP」について書きます。 機械学習モデルを学習させた時に、実際にモデルはどの特徴量を見て予測をしているのかが知りたい時があります。 木構造アルゴリズムでは、特徴量の境界で切り分けた時のジニ係数を元にして、どの特徴量が効いているかを
Python

WordCloudとpyLDAvisによるLDAの可視化について

潜在ディリクレ配分法(LDA; Latent Dirichlet Allocation)によるトピックモデルを学習させて、WordCloud・pyLDAvisで可視化までやってみます。 今回は日本語でやってみたかったので、以下のlivedoorニュースコーパスを利用させていただきました。
Python

因子分析でテニスのサーブ力・リターン力を定量化してみた

各選手には、サーブが得意な選手やリターンが得意な選手がいると思います。 そこで、今回は、各選手にサーブ力とリターン力の潜在変数があると仮定して、これを因子分析で推定し定量化をしてみました。 結構なサイズのファイルで、一気に読み込むことは不可能でした。
Python

文書分散表現SCDVと他の分散表現を比較してみた

今回は、以下の論文の文章分散表現、SCDVについて書きます。 SCDVは、文章ベクトルを取得する方法の1つです。 文章ベクトルを取得する手法はDoc2Vecなど色々ありますが、論文において、取得した文章ベクトルを用いたマルチラベル分類では、他の方法よりも高い精度を出せているようです。
Python

クレジットカード不正利用予測モデルを作成・評価してみた

表題の通り、Kaggleデータセットに、クレジットカードの利用履歴データを主成分化したカラムが複数と、それが不正利用であったかどうかラベル付けされているデータがあります。 - 今回は普通に、このデータを用いてクレジット...
未分類

分析環境をDockerでコンテナ管理するようにしてみた

これまでプライベートの分析環境については、 アドホックな分析は、ローカル端末上のpyenvで仮想環境として管理 深層学習などは、クラウド上で環境構築手順を管理しておいて実行 といったやり方で管理・運用していました。 これを今回、Dockerのコンテナとして分析環境を管理するようにしてみました。
読書

数学ガールシリーズ読書感想

数学ガールは、結城浩氏による数学を題材にしたシリーズ小説であり、今年の4月に発売された「ポアンカレ予想」を含め、現在以下の6作が出ています。 数学ガール -フェルマーの最終定理- 数学ガール -ゲーデルの不完全定理- 数学ガール -乱択アルゴリズム- 数学ガール -ガロア理論- 数学ガール -ポアンカレ予想-
Python

テクニカル分析で買いシグナルからの株価推移を調べてみた

実際にテクニカル分析でよく使われている指標をPythonで実装してみて、過去の株価推移のデータで効果について調べてみました。 ちなみに私は金融素人なので、専門家から見れば、とんちんかんなことをやっている可能性ありです。
Chainer

Dropoutによる近似ベイズ推論について2

以前に、Dropoutによる近似ベイズ推論に関する記事をあげました。 上記では、ソフトマックス関数の出力値の平均を、カテゴリカル分布のパラメータと見て、その不確実性をエントロピーとして算出していました。
Python

TensorFlow Eager Executionを試してみた

TensorFlow 1.5が公開され、TensorFlowをDefine by Runで実行できる「Eager Execution for TensorFlow」が追加されました。 今回はTensorFlowにDefine by Runモードが追加されると聞いて少し気になっていましたので、実際に動かしてみて操作感を確認してみました。
Python

ベイズモデリングで男子プロテニスの強さを分析してみた

Kaggleのデータセットで公開されている、男子プロテニスの試合結果データがありましたので、これを使って各プレイヤーの強さをモデル化してみます。 今回は、開催した年と、勝ったか負けたか、その時の勝ちプレイヤー、負けプレイヤーの情報だけで、各プレイヤーの強さを分析してみます。
Chainer

Dropoutによる近似ベイズ推論について

割と今更ですが、深層学習において、汎化性能を保つための工夫の一つであるDropoutを使って推論を行うことが、近似的にベイズ推論になっているという論文がありますので、それについて記します。 また、実際に試験的にMNIST画像分類で推論をしてみて、様子について確認してみようと思います。
統計検定

統計検定2級の試験対策について

以前、統計検定2級を受験しました。 今回は統計検定2級の受験対策に関して記そうと思います。 以前に準1級の対策についても記していますので、準1級の試験対策については、以下を参照してください。 参考書籍
Edward

Edward、PyStan、PyMC3で状態空間モデルを実装してみた

状態空間モデルの勉強をしていましたので、実装について書きます。 PyStanやPyMC3の実装は、ある程度参考になる例が多いのですが、Edwardの実装例は見当たりませんでしたので、どんな感じになるか試しに実装してみました。
Plotly

インタラクティブなグラフ生成ライブラリPlotlyについて

Plotlyというマウスでぐりぐりと動かせるようなインタラクティブなグラフを生成するライブラリがあります。 最近これをよくJupyter notebook上で可視化して遊んだりしていますので、これについてまとめます。
Chainer

Chainerによる転移学習とファインチューニングについて(VGG16、ResNet、GoogLeNet)

画像系の深層学習では、学習済みモデルの重みを利用する「転移学習」や「ファインチューニング」と呼ばれる手法がよく利用されます。 ILSVRCなどの画像認識コンペで優秀な成績を収めたモデルのネットワークアーキテクチャを深層学習のライブラリで構築し、公開されている学習済みの重みファイルを読み込ませて利用するという流れで実装します。
Python

白線の教師なしセマンティックセグメンテーションを頑張ってみた

セマンティックセグメンテーションは、画像系ディープラーニングの一種で、画素レベルでそれが何かを認識するタスクを行う手法です。 教師なし学習である程度アノテーションの補助はできるようにならないかを考えてみます。 例えば、RGB情報(色)でのクラスタリングや、学習済みモデルによる転移学習で、ある程度、画素レベルの特徴分けができるかをやってみます。
Python

Python、Rで基本的な統計的推測まとめ

2標本のF検定 ウィルコクソン(Wilcoxon)の順位和検定 ウェルチ(Welch)のt検定 スチューデント(Student)のt検定 カイ二乗検定 コルモゴロフ・スミルノフ(Kolmogorov-Smirnov)検定 シャピロ・ウィルク(Sapiro-Wilk)検定 フィッシャーの正確確率検定
Chainer

深層強化学習でシステムトレードしてみたかった

今回は以下のアルゴリズムで、株価のデータから、システムトレードをするエージェントを学習させてみました。 DQN Double DQN Dueling Double DQN Dueling Double DQN + Prioritized Experience Replay
Chainer

Kaggleの氷山コンペに参加してみた

表題の通り、Kaggleの氷山コンペにソロで参加していましたので、簡単にですが、その時の手法とか結果とか書いてみます。 コンペ自体は、1月末の時点で終了しています。 簡単にいえば、人工衛星から撮られた海の写真に、船か氷山かが写っており、それがどちらなのかを分類するタスクです。
Edward

ベイジアンニューラルネットワークで毒キノコ分類を実装してみた

最近勉強中のEdwardを使って、ベイジアンニューラルネットワークを実装してみました。 公式ページには、ちょっとした参考程度にしかコードが書いてなくて、自信はありませんが、とりあえず学習はしてくれたようです。 ちなみに今回は、データをKaggleのデータセットで行い、実装もKaggleのkernelを使ってみました。
Chainer

Chainerでファインチューニングして特徴量抽出してみた

前回は、花の画像データセットで、VGG16の学習済みモデルを使って特徴量を抽出してみました。 今回は表題の通り、タグ付け情報を用いてファインチューニングを行った後に、特徴量を抽出して様子を見てみようと思います。
Chainer

Chainerで転移学習・特徴量抽出して類似度を測ってみた

前回は自己符号化器で画像の画素値を次元圧縮し、得られた特徴量を使って類似度計算を行ってみました。 今回は、モデルを一から学習するのではなく、転移学習で得られた特徴量を使って類似度計算してみます。 深層学習のライブラリは、実装が楽だったため、Chainerを使いました。
Python

TensorFlowで自己符号化器で特徴量抽出して類似度を測ってみた

表題の通り、画像データセットから自己符号化器で特徴を学習し、類似度を測ってみました。 データセットはKaggleからお借りし、ライブラリはTensorFlowを使いました。 画像処理と自己符号化器、そしてTensorFlowの勉強のためにやってみました。
Python

TensorFlowでニューラルネットワーク、CNNを実装してみた

今回は、TensorFlowでニューラルネットワーク、<!-- 再帰的ニューラルネットワーク、 -->畳み込みニューラルネットワークの実装について記します。 以前にChainerやPyTorchでも各種ニューラルネットワークを実装していますので、今回も同様のタスクを実装してみます。
Python

PyTorchで深層強化学習(DQN、DoubleDQN)を実装してみた

以前に勉強したDeep Q-Network(DQN)を、やっぱり離散的な状態を返す簡単なゲームでなく、連続的な状態のゲームにも適用してみたいと思い、久しぶりにまた勉強しました。 最近の深層強化学習の研究を見てみたところ、DQNからさらに進化していて、A3Cなるものまで登場していましたので、少しばかりそちらについても触れてみます。
Chainer

畳み込みニューラルネットワークで為替予測してみたかった

タイトルの通り、為替データを畳み込みニューラルネットワーク(CNN)で読み込んで予測させるまでを、Chainerで実装してみました。 今回は順を追って、データの取得と加工、モデルの構築、学習と予測をしていきます。
統計検定

統計検定準1級の試験対策について

先日、統計検定準1級を受験し、無事合格しました。 今回は、実際に行った準1級受験対策として、勉強で取り扱った書籍や、どの程度まで理解しておいたのか、問題ごとにとった対策などを記していこうと思います。
Chainer

CNN、RNNで文章分類を実装してみた

深層学習において文脈情報を学習させる方法としては、再帰的ニューラルネットワーク(RNN)を用いる方法と畳み込みニューラルネットワーク(CNN)を用いる方法があります。 今回はそれぞれの方法で、文章を学習させてラベル分類を行うモデルを、Chainerを使って実装しました。
Python

オンライン機械学習(CW、SCW)を実装してみた

今回は、下記の論文で紹介されているオンライン機械学習のモデルをPythonで実装してみました。 表題の通り、Confidence Weighted Learning(CW)、Soft Confidence Weighted Learning(SCW)を実装してみます。
読書

統計学や機械学習の勉強でおすすめの書籍について

よく周囲から、どの書籍を読んで勉強したのかを聞かれることが多いので、少しまとめてみました。 個々人のバックグラウンドの違いにより、書籍への入りやすさは多少異なると思いますが、読みやすかった本や勉強になった本を紹介します。
Python

PyTorchでニューラルネットワーク、RNN、CNNを実装してみた

今回は、PyTorchでニューラルネットワーク、再帰的ニューラルネットワーク、畳み込みニューラルネットワークの実装について記します。 以前にChainerの実装をまとめたときのものと同じタスクを実装してみて、比較しやすいようにしてみました。
Chainer

Attention Seq2Seqで対話モデルを実装してみた

最近は、深層学習の技術の発展によって、自然言語処理界隈でも深層学習を利用する例で賑わってきている印象です。 今回は上記書籍にも紹介されている、Attention Model + Sequence to Sequence Modelを使った対話モデルをChainerで実装してみました。
統計検定

統計検定準1級を受験してみた2

今年6月に、準1級を受けてきました。 前回の準1級は直前に過去問を確認する有様で、痛い目を見てしまいましたので、今回は過去問でしっかり復習しておきました。
Chainer

Chainerでニューラルネットワーク、RNN、CNNを実装してみた

RNNの実装の勉強もしました。 今回は整理と備忘録も込めて、Chainerでニューラルネットワーク、リカレントニューラルネットワーク、畳み込みニューラルネットワークの実装について記します。
D3.js

英単語の英字遷移率をChord Diagramで可視化してみた

Pythonでクロール・スクレイピングをする練習がしたかっただけなんですが、ただスクレイピングするだけじゃ面白くないので、付け足しで遊んでみました。 今回は英語文献をスクレピングする練習をしてみて、それぞれの英単語の文字の遷移を調べて、可視化してみます。 可視化グラフに関しては、Chord Diagramを利用します。
PyMC

Pythonで地理データを階層ベイズモデルで推定・可視化してみた

e-Statから取得した地理データから階層ベイズモデルを用いて地域特徴を推定する事例を紹介されており、面白そうなのでやってみました。 Stan/BUGSなどのベイズ統計言語でデータを推定し、そこからまた別の地理データ可視化ソフトウェアを使って、推定結果を可視化していましたので、今回はそれらを全てPythonで一括してやってみようと思います。
Chainer

Open AI GymのFrozenLakeを深層強化学習(DeepQ-Network)で解いてみた

前回、強化学習で解いた問題を、今回は深層強化学習(Deep Q-Network、以降DQN)で解いてみます。 DQNを使うほどの問題ではないのですが、実装の勉強のため、簡単な問題で解いてみました。 前回も少し触れましたが、DQNは、Q学習の行動価値関数 $Q(s, a)$ の近似関数を深層学習で求める手法です。
Chainer

Chainerでニューラルネットワーク及び畳み込みニューラルネットワークを実装してみた

今回、Chainerを触ってみまして、MNISTの画像認識アルゴリズムを、ニューラルネットワークと畳み込みニューラルネットワークで実装してみました。 ちなみに、他にもTensorFlowも使ってみたのですが、自分としてはひとまずChainerの方がコード感覚としてしっくりきましたので、こちらを使ってみました。
統計検定

統計検定2級を受験してみた

統計検定は毎年春秋と実施していて、準1級は春、1級は秋、2級以下の各レベルは春秋両方実施しています。 前回ダメだった準1級は春しか行わないので、「2級は大丈夫なのだろうか」と思い、この秋に2級を受けてみました。
Python

Open AI GymのFrozenLakeを強化学習(Q学習)で解いてみた

Google子会社DeepMind社により開発された、人工知能を搭載したコンピューター囲碁プログラム「AlphaGo(アルファ碁)」の活躍により、深層学習や強化学習の注目度がさらに上がった気がします。
Python

e-Stat APIをPythonから使って地理データを可視化してみた

e-Statは日本政府が調査した統計データを閲覧・ダウンロードできるよう管理されたポータルサイトです。 このサイトからよく人口データなどをダウンロードして利用しており、以前からお世話になっているのですが、実はAPI機能も提供しているようで、前々から少し気になっておりましたので、この度、PythonからAPI経由でデータ取得をして、可視化するところまでをやってみました。
Python

リモートサーバーで起動したJupyterNotebookにローカルブラウザから接続する環境構築について

ちょっと作業環境的なお話。 私はいつもデータのクレンジングや分析、可視化はレンタルサーバー(CentOS)上でやっていて、rbenvだったり、pyenvだったり、Rはコンソールから普通に使ったり、R-studio-serverでブラウザから使ったりしています。
D3.js

Epoch.jsでリアルタイム可視化をしてみたかった

挫折系タイトルです← IoTっぽくリアルタイムに送信されていくるデータを、Web上で可視化することは出来ないかと思い、少し調べてみましたが...。 ひとまず、こんなJavaScriptライブラリが見つかりましたので、紹介します。
D3.js

Leaflef.jsとD3.jsでマップデータを可視化してみた

Leaflet.jsというWebマップ表示ライブラリを知りましたので、使ってみました。 結構前からあったそうな。 OpenStreetMapは知っていたけども、敷居が高そうと思っていましたが、たったこれだけのソースで表示できてしまった...。
統計検定

統計検定準1級を受験してみた

統計検定を受験してきました。 統計検定 レベルは準1級を受けてみましたが...、
D3.js

D3.jsでよくあるツリーレイアウトの可視化をしてみた

「よくある」ってなんだよって感じではありますが…。 ひとまず例のサイトがありますので、こちらになります。 これを見ていて、よく端末内のディレクトリ構成と容量を同時に表示しているような感じにしてみようと思い、例のソースコードを参考にしながら作ってみました。
D3.js

都道府県人口データを地形の高さに可視化してみた

表題の通り、今回は都道府県人口データを、D3.jsとThree.jsの日本地図に、都道府県ごとの地形の高さに表してみました。 データを地形の色の濃淡で表す図のことを「コロプレスマップ」といいます。
自然言語処理

MeCabの新語辞書「MeCab-ipadic-NEologd」について

形態素解析器のMeCabに、「MeCab-ipadic-NEologd」という素晴らしい新語辞書がありますので、その使い方について記します。
R

性別、職業別、趣味別の行動者数データを対応分析してみた

政府統計データのいろんな地域別のデータを眺めながら、先日のマップ可視化に乗せるだけでも面白いなぁとか考えていました。 今回は、タイトルの通りの集計データから、業種別で趣味の傾向があるのかどうか、見えたりするのかとか思ったので、調べてみました。
D3.js

D3.jsとThree.jsで日本地図を可視化してみた2

上記の前回記事では、D3.jsとThree.jsを使って日本地図を描画しました。 そこからさらに勉強を進めまして、より3Dに描画できるようになりましたので、データものせて作ってみました。
D3.js

都道府県・市区町村人口データをツリーレイアウトで可視化してみた

日本の人口データなどをD3.jsのツリーレイアウトで可視化してみました。 データは国勢調査からダウンロードさせていただきまして、RubyでJSONに加工してD3.jsで読み込んでいます。
スポンサーリンク