めも

これはメモ。

機械学習

バンディットアルゴリズムの復習2:softmax

前回 Softmax Softmaxによるアーム選択 Boltzmann分布(Gibbs 分布) Softmaxのコード アーム選択部分 実験 アームの定義 Arm0: ベルヌーイ Arm1: 適当に作った分布 実験結果 Arm0: ベルヌーイの場合 Arm1: 適当に作った分布の場合 次回:UCB 参考文献 前回 ε-G…

バンディットアルゴリズムの復習1:epsilon-Greedy

A/B テスト epsilon-Greedy アルゴリズム 説明 epsilon-Greedy アルゴリズムコード 実験(ベルヌーイ分布のアーム) アームの定義 実行結果 実験(ペナルティが大きいアームがあるケース) アームの定義 実験結果 実験(アームの分布が時間によって変化する場合) …

強化学習の資料メモ3:マルコフ決定過程

Agent–Environment Interface 強化学習におけるagent-environmentの相互作用 Markov Decision Process 定義 講義動画 Markov Decision Processes I Markov Decision Process II RL Course by David Silver(Deepmind) 有限マルコフ決定過程(Finite Markov De…

強化学習の資料メモ2:多腕バンディット問題

基本の内容 各種定式化 Exploration/Exploitation Dilemma Stationary Problem(定常なケース) Action-Value Methods 行動選択の戦略 greedy(貪欲) ε-Greedy Soft-max action selection Non-stationary Problem(非定常なケース) アームの行動戦略 Gradient-Ba…

強化学習の資料メモ1:基本

強化学習の基本 Introduction to Reinforcement Learning with Function Approximation Temporal-Difference Learning Bellman expectation equation off-policy Function approximation ε-greedy policy Model-based reinforcement learning 活用と探索のジ…

Richard S. Suttonら著の強化学習本のドラフト版が公開

pdf サンプルコード 講義資料等 このドラフト版の前の本 Sutton, Richard S., and Andrew G. Barto. Reinforcement learning: An introduction. Vol. 1. No. 1. Cambridge: MIT press, 1998. で有名なRichard S. Sutton氏による新しい強化学習本のドラフト版…

Chainer Playground βで機械学習を学ぶ

リンク:Chainer Playground (beta) オンラインでコードを実行しながら学べる環境。 これから更新されていく予定だそうです。

pythonで決定木の出力と決定境界の可視化

参考文献 dotのインストール 決定境界の可視化 データの生成 決定境界の可視化 決定木の出力 決定木のデータファイルを出力 出力画像 おまけ:非線形データの場合 データ生成 決定境界の可視化 決定木の可視化 参考文献 Python Data Science Handbook: Essen…

Active Learningの資料・論文のめも

導入 Active Learning 入門 A tutorial on active learning 能動学習セミナー サーベイ Active Learning Literature Survey 論文 導入 Active Learning 入門 Active Learning 入門 from Shuyo Nakatani www.slideshare.net A tutorial on active learning pd…

バンディットアルゴリズムの資料・論文のめも

導入 バンディットアルゴリズム入門と実践 I’m a bandit Thompson Sampling アルゴリズム バンディット問題の各定式化について Introduction to Bandits: Algorithms and Theory 応用例:レコメンデーション 論文 Some aspects of the sequential design of …

pythonでgensimを使ってトピックモデル(LDA)を行う

LDA用のデータの作成 単語の辞書を作成して出力 外部に保存したコーパスと辞書の読み込み LDAの実行 コード 出力例 gensimとjanomeを用いたLDAを行います。 必要なデータは一行ごとに文章が入ったtxtファイルです。 LDA用のデータの作成 data.txtには一行ご…

OCR・文字認識の論文とかのまとめ

論文 End-to-End Text Recognition with Convolutional Neural Networks Word Spotting and Recognition with Embedded Attributes Deep structured output learning for unconstrained text recognition Deep Features for Text Spotting Reading Text in t…

Deep系の論文めも後半その2 (2016年夏頃までのもの対象)

教師なし CNN features off-the-shelf: an astounding baseline for recognition 画像 Learning and transferring mid-level image representions using convolutional neural networks Learning hierarchical features for scene labeling Semantic Segment…

Deep系の論文めも後半その1 (2016年夏頃までのもの対象)

生成モデル Deep Convolutional Generative Adversarial Networks Generative Adversarial Nets Unsupervised representation learning with deep convolutional generative adversarial networks Deep Generative Image Models using a Laplacian Pyramid …

Deep系の論文めも前半 (2016年夏頃までのもの対象)

過学習の防止・学習のアルゴリズム Dropout Batch normalization Resnet Layer Normalization Normalization Layers 理論 Distilling the knowledge in a neural network Deep neural networks are easily fooled: High confidence predictions for unrecogn…

画像処理系のDeep Learningの基本的な手法

まとめ資料 サーベイ The Deep Learning textbook by Ian Goodfellow and Yoshua Bengio and Aaron Courville Deep Learning in Neural Networks: An Overview 画像・動画 画像分類問題 AlexNet (ImageNet Classification with Deep Convolutional Neural Ne…

Metric learning/similarly learningに関する資料集

metric learningとは Wikipedia Tutorial on Metric Learning Metric Learning(ICML tutorial) 基本 Distance metric learning with application to clustering with side-information. Distance metric learning for large margin nearest neighbor classif…

PythonのJanomeで形態素解析、webをクローリングしてテキストを集めてトピックモデルを作成する

やりたいこと クローリング データの準備 コード ウェブのHTMLをパースする コード 例 コード データのクローリング コード 形態素解析 トピックモデルを作るためのベクトル作成 やりたいこと 特定のまとまりのWebページを集めて、トピック(共通に出てくる…

pythonでdenoising auto encoderを使ってデータを前処理する

概要 モデル定義 ノイズ付加 デノイジングオートエンコーダーの訓練 損失関数の推移 概要 まず、PFNの得居さんの記事を参照。 www.beam2d.net データにランダムにノイズを乗せたものを入力として、元のデータを正解とするDNNを学習することでデータからノイ…

pythonでAutoencoderの精度をバッチサイズを変更しながら確認

コード モデル定義 モデルの訓練 バッチサイズを狭めながらオートエンコーダを訓練して、その損失関数の減少具合を確認する。 緑色線がエポックごとのおおよその損失関数のlossの値、赤色がバッチごとのlossの値を全てプロットしたものです。 コード モデル…

pythonでAutoencoderを動かす

環境 モデルの定義 出力 モデルの訓練 誤差の減少具合 オートエンコーダーのモデルを複雑に 二つのモデルの比較 参考 環境 python2.7, ubuntu14.04上。Kerasを使用して、入力はベクトルを想定。 モデルの定義 print(autoencoder.summary())とすればモデルに…

xgboostのパラメータをグリッドサーチで決定する

モデルの詳細 コード 参考スライド モデルの詳細 Python API Reference — xgboost 0.6 documentation にあるパラメータのうち、特に影響が大きい物をグリッドサーチで決定します。xgboostの本論文はKDD2016の以下を参照。最近のコンペでは協力なベースライン…

予測モデルのパイプライン作成・ハイパーパラメータ・チューニングの自動化に関する資料集

2015年のNIPS以降のものをメモしています。 論文リスト Efficient and robust automated machine learning. A review of automatic selection methods for machine learning algorithms and hyper-parameter values. PredicT-ML: a tool for automating mach…

pythonで分類問題のハイパーパラメータをグリッドサーチで見つける

内容が薄いのでコードのみ。 sklearn.__vsrsion__==0.18である必要あり。 from sklearn.pipeline import Pipeline from sklearn.decomposition import PCA, NMF from sklearn.preprocessing import PolynomialFeatures from sklearn.feature_selection impor…

pythonでクラスごとの分布をPCAで可視化して問題の難しさを確かめる

やりたいこと データを二次元で可視化 データを三次元で可視化 やりたいこと 主成分分析を行い、データを低次元に表す。 その分布をクラスごとに可視化して、クラスごとに分布が違っている(分布が重なっていない)なら予測が簡単そうだ、とわかるしPCAを教…

pythonでBidirectional LSTMを使った分類問題

モデルの定義 モデルの精度の確認 コード 出力 Bidirectional LSTMを使って時系列データを2クラスに分類できるか確かめる。 Schuster, Mike, and Kuldip K. Paliwal. "Bidirectional recurrent neural networks." IEEE Transactions on Signal Processing 45…

Deeplearningで誤差を確認しながら分類問題を解かせる

やること 各ステップ詳細 データをロード、多項式特徴量を追加 モデルを定義 コスト関数の減少具合をプロット 定義したモデルの訓練 ループごとに精度改善を確かめながらバッチサイズを減らす コード やること 単純な分類問題。誤差の減り具合をプロットして…

pythonでstacked LSTMを使った分類問題を解く

やりたいこと qiita.com にあるようなモデルを作成して分類問題を解く。 What is the difference between stacked LSTM's and multidimensional LSTM's? - Quora を参考にしつつ(してない...?)モデルを作成。 Wen, Tsung-Hsien, et al. "Semantically cond…

pythonで2次元のConvolutionalNeuralNetwork(畳み込みニューラルネット)

内容 python+kerasを使って、MNISTのような白黒画像を分類するCNNを構築。 パラメータを変更すればカラー画像なども対応可能、のはず。 コード # keras import numpy import pandas from keras.models import Sequential from keras.layers import Dense, Dr…

LSTMで分類問題を解く(Python)

内容 Kerasを使ってLSTMを実装。 コードのEmbeddingの都合上 tensorflow.__version = 0.10.0で行う必要があるので注意(今日現在)。 コード import numpy as np import pandas as pd import random from keras.models import Sequential from keras.layers im…