Python 芸人の大喜利の強さをベイズモデリングしてみた お題は当然毎回変わる上に、最近は画像や動画のお題が出たりと出題形式もたびたび変わっていたりして、IPPONを出しやすい回・出しにくい回というのもあるのかなと、客観的に見て思ったりしています。 なので、ちょっとそういった要素も考慮した上で、本当にIPPON力が高い芸人は誰なのかを、今回ベイズモデリングで分析してみようと思います。 2021-06-27 PythonStanベイジアンモデル
Python 最適化問題(TSP)を深層強化学習で解いてみた 今回は数理最適化問題を深層強化学習で解くアプローチについて書きます。 前回、巡回セールスマン問題(TSP)について、混合整数計画問題(MIP)としての解き方をPuLPで実装しました。 今回は、TSPについて深層強化学習を使った解き方をPyTorchで試してみます。 2021-01-24 PythonPyTorchディープラーニング強化学習数理最適化問題
Python PuLPで数理最適化問題(TSP、VRP) 数理最適化問題の中でもNP困難の基本的な問題の1つ、巡回セールスマン問題と、その一般化、運搬経路問題を、PuLPで解いてみます。 PuLPは、最適化問題を解くためのPythonライブラリです。 今回は、このライブラリを使って、巡回セールスマン問題および運搬経路問題を、混合整数計画問題として解いてみます。 2020-08-15 Python数理最適化問題
Python SIRモデルで新型コロナウイルスの感染者数の収束を予測してみた SIRモデルのパラメータの推定は、オーソドックスには最尤推定などが用いられるようですが、今回はベイズで定式化して、ベイズ推定もやってみました。 国別のデータを使った分析は最近よく見ますので、今回は以下のデータを使って、都道府県別の感染流行の予測を行ってみます。 2020-04-29 PythonStanデータビジュアライゼーションデータ分析ベイジアンモデル
Python Grad-CAM、Grad-CAM++、Score-CAMを実装・比較してみた 今回は表題の通り、画像系深層学習の判断根拠手法について、近年人気のある手法「Grad-CAM」と、その改良版「Grad-CAM++」、さらに去年論文発表されたばかりの「Score-CAM」を、TensorFlow/Kerasで実装・比較してみます。 2020-02-23 PythonTensorFlow/Kerasデータビジュアライゼーションディープラーニング画像認識
Python Bi-LSTM学習におけるバッチごとの系列長調整について 深層学習でのBi-LSTMなどの系列学習において、バッチごとに系列長を調整できるようにしてみます。 例えば、Kaggleのカーネルコンペなどで、自然言語の分類をLSTMなどで学習させる場合、バッチごとに系列長を調整する方が、学習精度・実行時間短縮に効果があるようです。 2019-07-07 PythonTensorFlow/Kerasディープラーニング自然言語処理
Python 機械学習モデルを解釈する指標SHAPについて 今回は、機械学習モデルの解釈性に関する指標「SHAP」について書きます。 機械学習モデルを学習させた時に、実際にモデルはどの特徴量を見て予測をしているのかが知りたい時があります。 木構造アルゴリズムでは、特徴量の境界で切り分けた時のジニ係数を元にして、どの特徴量が効いているかを 2019-04-26 Python機械学習
Python WordCloudとpyLDAvisによるLDAの可視化について 潜在ディリクレ配分法(LDA; Latent Dirichlet Allocation)によるトピックモデルを学習させて、WordCloud・pyLDAvisで可視化までやってみます。 今回は日本語でやってみたかったので、以下のlivedoorニュースコーパスを利用させていただきました。 2018-12-29 Pythonデータビジュアライゼーションデータ分析機械学習自然言語処理
Python 因子分析でテニスのサーブ力・リターン力を定量化してみた 各選手には、サーブが得意な選手やリターンが得意な選手がいると思います。 そこで、今回は、各選手にサーブ力とリターン力の潜在変数があると仮定して、これを因子分析で推定し定量化をしてみました。 結構なサイズのファイルで、一気に読み込むことは不可能でした。 2018-11-11 Pythonデータ分析機械学習
Python 文書分散表現SCDVと他の分散表現を比較してみた 今回は、以下の論文の文章分散表現、SCDVについて書きます。 SCDVは、文章ベクトルを取得する方法の1つです。 文章ベクトルを取得する手法はDoc2Vecなど色々ありますが、論文において、取得した文章ベクトルを用いたマルチラベル分類では、他の方法よりも高い精度を出せているようです。 2018-10-12 Pythonデータ分析機械学習自然言語処理
Python クレジットカード不正利用予測モデルを作成・評価してみた 表題の通り、Kaggleデータセットに、クレジットカードの利用履歴データを主成分化したカラムが複数と、それが不正利用であったかどうかラベル付けされているデータがあります。 - 今回は普通に、このデータを用いてクレジット... 2018-09-24 Pythonデータ分析機械学習
Python テクニカル分析で買いシグナルからの株価推移を調べてみた 実際にテクニカル分析でよく使われている指標をPythonで実装してみて、過去の株価推移のデータで効果について調べてみました。 ちなみに私は金融素人なので、専門家から見れば、とんちんかんなことをやっている可能性ありです。 2018-08-15 Pythonデータビジュアライゼーションデータ分析
Chainer Dropoutによる近似ベイズ推論について2 以前に、Dropoutによる近似ベイズ推論に関する記事をあげました。 上記では、ソフトマックス関数の出力値の平均を、カテゴリカル分布のパラメータと見て、その不確実性をエントロピーとして算出していました。 2018-07-25 ChainerPythonディープラーニングベイジアンモデル
Python TensorFlow Eager Executionを試してみた TensorFlow 1.5が公開され、TensorFlowをDefine by Runで実行できる「Eager Execution for TensorFlow」が追加されました。 今回はTensorFlowにDefine by Runモードが追加されると聞いて少し気になっていましたので、実際に動かしてみて操作感を確認してみました。 2018-06-24 PythonTensorFlow/Kerasディープラーニング
Python ベイズモデリングで男子プロテニスの強さを分析してみた Kaggleのデータセットで公開されている、男子プロテニスの試合結果データがありましたので、これを使って各プレイヤーの強さをモデル化してみます。 今回は、開催した年と、勝ったか負けたか、その時の勝ちプレイヤー、負けプレイヤーの情報だけで、各プレイヤーの強さを分析してみます。 2018-05-24 PythonStanデータビジュアライゼーションデータ分析
Chainer Dropoutによる近似ベイズ推論について 割と今更ですが、深層学習において、汎化性能を保つための工夫の一つであるDropoutを使って推論を行うことが、近似的にベイズ推論になっているという論文がありますので、それについて記します。 また、実際に試験的にMNIST画像分類で推論をしてみて、様子について確認してみようと思います。 2018-05-12 ChainerPythonディープラーニングベイジアンモデル
Edward Edward、PyStan、PyMC3で状態空間モデルを実装してみた 状態空間モデルの勉強をしていましたので、実装について書きます。 PyStanやPyMC3の実装は、ある程度参考になる例が多いのですが、Edwardの実装例は見当たりませんでしたので、どんな感じになるか試しに実装してみました。 2018-04-21 EdwardPyMCPythonStanデータ分析ベイジアンモデル
Plotly インタラクティブなグラフ生成ライブラリPlotlyについて Plotlyというマウスでぐりぐりと動かせるようなインタラクティブなグラフを生成するライブラリがあります。 最近これをよくJupyter notebook上で可視化して遊んだりしていますので、これについてまとめます。 2018-04-15 PlotlyPythonデータビジュアライゼーション
Chainer Chainerによる転移学習とファインチューニングについて(VGG16、ResNet、GoogLeNet) 画像系の深層学習では、学習済みモデルの重みを利用する「転移学習」や「ファインチューニング」と呼ばれる手法がよく利用されます。 ILSVRCなどの画像認識コンペで優秀な成績を収めたモデルのネットワークアーキテクチャを深層学習のライブラリで構築し、公開されている学習済みの重みファイルを読み込ませて利用するという流れで実装します。 2018-04-04 ChainerPythonディープラーニング画像認識
Python 白線の教師なしセマンティックセグメンテーションを頑張ってみた セマンティックセグメンテーションは、画像系ディープラーニングの一種で、画素レベルでそれが何かを認識するタスクを行う手法です。 教師なし学習である程度アノテーションの補助はできるようにならないかを考えてみます。 例えば、RGB情報(色)でのクラスタリングや、学習済みモデルによる転移学習で、ある程度、画素レベルの特徴分けができるかをやってみます。 2018-03-10 Pythonデータビジュアライゼーションディープラーニング画像認識
Python Python、Rで基本的な統計的推測まとめ 2標本のF検定 ウィルコクソン(Wilcoxon)の順位和検定 ウェルチ(Welch)のt検定 スチューデント(Student)のt検定 カイ二乗検定 コルモゴロフ・スミルノフ(Kolmogorov-Smirnov)検定 シャピロ・ウィルク(Sapiro-Wilk)検定 フィッシャーの正確確率検定 2018-03-07 PythonRデータ分析
Chainer 深層強化学習でシステムトレードしてみたかった 今回は以下のアルゴリズムで、株価のデータから、システムトレードをするエージェントを学習させてみました。 DQN Double DQN Dueling Double DQN Dueling Double DQN + Prioritized Experience Replay 2018-02-24 ChainerPlotlyPythonデータビジュアライゼーションディープラーニング強化学習
Chainer Kaggleの氷山コンペに参加してみた 表題の通り、Kaggleの氷山コンペにソロで参加していましたので、簡単にですが、その時の手法とか結果とか書いてみます。 コンペ自体は、1月末の時点で終了しています。 簡単にいえば、人工衛星から撮られた海の写真に、船か氷山かが写っており、それがどちらなのかを分類するタスクです。 2018-02-02 ChainerPythonディープラーニング画像認識
Edward ベイジアンニューラルネットワークで毒キノコ分類を実装してみた 最近勉強中のEdwardを使って、ベイジアンニューラルネットワークを実装してみました。 公式ページには、ちょっとした参考程度にしかコードが書いてなくて、自信はありませんが、とりあえず学習はしてくれたようです。 ちなみに今回は、データをKaggleのデータセットで行い、実装もKaggleのkernelを使ってみました。 2017-12-30 EdwardPythonデータ分析ベイジアンモデル機械学習
Chainer Chainerでファインチューニングして特徴量抽出してみた 前回は、花の画像データセットで、VGG16の学習済みモデルを使って特徴量を抽出してみました。 今回は表題の通り、タグ付け情報を用いてファインチューニングを行った後に、特徴量を抽出して様子を見てみようと思います。 2017-12-22 ChainerPythonデータビジュアライゼーションディープラーニング画像認識
Chainer Chainerで転移学習・特徴量抽出して類似度を測ってみた 前回は自己符号化器で画像の画素値を次元圧縮し、得られた特徴量を使って類似度計算を行ってみました。 今回は、モデルを一から学習するのではなく、転移学習で得られた特徴量を使って類似度計算してみます。 深層学習のライブラリは、実装が楽だったため、Chainerを使いました。 2017-12-16 ChainerPythonデータビジュアライゼーションディープラーニング画像認識
Python TensorFlowで自己符号化器で特徴量抽出して類似度を測ってみた 表題の通り、画像データセットから自己符号化器で特徴を学習し、類似度を測ってみました。 データセットはKaggleからお借りし、ライブラリはTensorFlowを使いました。 画像処理と自己符号化器、そしてTensorFlowの勉強のためにやってみました。 2017-11-13 PythonTensorFlow/Kerasディープラーニング画像認識
Python TensorFlowでニューラルネットワーク、CNNを実装してみた 今回は、TensorFlowでニューラルネットワーク、<!-- 再帰的ニューラルネットワーク、 -->畳み込みニューラルネットワークの実装について記します。 以前にChainerやPyTorchでも各種ニューラルネットワークを実装していますので、今回も同様のタスクを実装してみます。 2017-10-24 PythonTensorFlow/Kerasディープラーニング機械学習
Python PyTorchで深層強化学習(DQN、DoubleDQN)を実装してみた 以前に勉強したDeep Q-Network(DQN)を、やっぱり離散的な状態を返す簡単なゲームでなく、連続的な状態のゲームにも適用してみたいと思い、久しぶりにまた勉強しました。 最近の深層強化学習の研究を見てみたところ、DQNからさらに進化していて、A3Cなるものまで登場していましたので、少しばかりそちらについても触れてみます。 2017-10-15 PythonPyTorchディープラーニング強化学習
Chainer 畳み込みニューラルネットワークで為替予測してみたかった タイトルの通り、為替データを畳み込みニューラルネットワーク(CNN)で読み込んで予測させるまでを、Chainerで実装してみました。 今回は順を追って、データの取得と加工、モデルの構築、学習と予測をしていきます。 2017-10-13 ChainerPython
Chainer CNN、RNNで文章分類を実装してみた 深層学習において文脈情報を学習させる方法としては、再帰的ニューラルネットワーク(RNN)を用いる方法と畳み込みニューラルネットワーク(CNN)を用いる方法があります。 今回はそれぞれの方法で、文章を学習させてラベル分類を行うモデルを、Chainerを使って実装しました。 2017-09-23 ChainerPythonディープラーニング自然言語処理
Python オンライン機械学習(CW、SCW)を実装してみた 今回は、下記の論文で紹介されているオンライン機械学習のモデルをPythonで実装してみました。 表題の通り、Confidence Weighted Learning(CW)、Soft Confidence Weighted Learning(SCW)を実装してみます。 2017-09-19 Pythonデータ分析機械学習
Python PyTorchでニューラルネットワーク、RNN、CNNを実装してみた 今回は、PyTorchでニューラルネットワーク、再帰的ニューラルネットワーク、畳み込みニューラルネットワークの実装について記します。 以前にChainerの実装をまとめたときのものと同じタスクを実装してみて、比較しやすいようにしてみました。 2017-08-31 PythonPyTorchディープラーニング機械学習
Chainer Attention Seq2Seqで対話モデルを実装してみた 最近は、深層学習の技術の発展によって、自然言語処理界隈でも深層学習を利用する例で賑わってきている印象です。 今回は上記書籍にも紹介されている、Attention Model + Sequence to Sequence Modelを使った対話モデルをChainerで実装してみました。 2017-08-21 ChainerPythonディープラーニング自然言語処理
Chainer Chainerでニューラルネットワーク、RNN、CNNを実装してみた RNNの実装の勉強もしました。 今回は整理と備忘録も込めて、Chainerでニューラルネットワーク、リカレントニューラルネットワーク、畳み込みニューラルネットワークの実装について記します。 2017-06-20 ChainerPythonディープラーニング機械学習
D3.js 英単語の英字遷移率をChord Diagramで可視化してみた Pythonでクロール・スクレイピングをする練習がしたかっただけなんですが、ただスクレイピングするだけじゃ面白くないので、付け足しで遊んでみました。 今回は英語文献をスクレピングする練習をしてみて、それぞれの英単語の文字の遷移を調べて、可視化してみます。 可視化グラフに関しては、Chord Diagramを利用します。 2017-04-24 D3.jsJavaScriptPythonデータビジュアライゼーション
PyMC Pythonで地理データを階層ベイズモデルで推定・可視化してみた e-Statから取得した地理データから階層ベイズモデルを用いて地域特徴を推定する事例を紹介されており、面白そうなのでやってみました。 Stan/BUGSなどのベイズ統計言語でデータを推定し、そこからまた別の地理データ可視化ソフトウェアを使って、推定結果を可視化していましたので、今回はそれらを全てPythonで一括してやってみようと思います。 2017-03-15 PyMCPythonデータビジュアライゼーションデータ分析ベイジアンモデル地理データ
Chainer Open AI GymのFrozenLakeを深層強化学習(DeepQ-Network)で解いてみた 前回、強化学習で解いた問題を、今回は深層強化学習(Deep Q-Network、以降DQN)で解いてみます。 DQNを使うほどの問題ではないのですが、実装の勉強のため、簡単な問題で解いてみました。 前回も少し触れましたが、DQNは、Q学習の行動価値関数 $Q(s, a)$ の近似関数を深層学習で求める手法です。 2017-02-20 ChainerPythonディープラーニング強化学習
Chainer Chainerでニューラルネットワーク及び畳み込みニューラルネットワークを実装してみた 今回、Chainerを触ってみまして、MNISTの画像認識アルゴリズムを、ニューラルネットワークと畳み込みニューラルネットワークで実装してみました。 ちなみに、他にもTensorFlowも使ってみたのですが、自分としてはひとまずChainerの方がコード感覚としてしっくりきましたので、こちらを使ってみました。 2017-01-11 ChainerPythonディープラーニング機械学習画像認識
Python Open AI GymのFrozenLakeを強化学習(Q学習)で解いてみた Google子会社DeepMind社により開発された、人工知能を搭載したコンピューター囲碁プログラム「AlphaGo(アルファ碁)」の活躍により、深層学習や強化学習の注目度がさらに上がった気がします。 2016-12-14 Python強化学習機械学習
Python e-Stat APIをPythonから使って地理データを可視化してみた e-Statは日本政府が調査した統計データを閲覧・ダウンロードできるよう管理されたポータルサイトです。 このサイトからよく人口データなどをダウンロードして利用しており、以前からお世話になっているのですが、実はAPI機能も提供しているようで、前々から少し気になっておりましたので、この度、PythonからAPI経由でデータ取得をして、可視化するところまでをやってみました。 2016-11-11 Pythonデータビジュアライゼーション地理データ
Python リモートサーバーで起動したJupyterNotebookにローカルブラウザから接続する環境構築について ちょっと作業環境的なお話。 私はいつもデータのクレンジングや分析、可視化はレンタルサーバー(CentOS)上でやっていて、rbenvだったり、pyenvだったり、Rはコンソールから普通に使ったり、R-studio-serverでブラウザから使ったりしています。 2016-10-25 Python