覚え書きブログ

データ解析

Pythonによるデータ解析3(1/3)

前回のロジスティック回帰の構成を2階層のニューラルネットワークと解釈したのち、中間層を導入し非線形な表現が可能な3階層のニューラルネットワークを実装していきます。【Pythonによるデータ解析3(1/3)の目次】 ロジスティック回帰の構成 3階層の…

Pythonによるデータ解析2(3/3)

Pythonによるデータ解析2(2/3)の続きここでは、ロジスティック回帰のテンプレートで、まだ未実装の最急降下法(updateメソッド)と交差エントロピー(lossメソッド)を実装し、完成させていきます。【Pythonによるデータ解析2(3/3)の目次】 演習…

Pythonによるデータ解析2(2/3)

Pythonによるデータ解析2(1/3)の続き【Pythonによるデータ解析2(2/3)の目次】 人工データの取得 ロジスティック回帰のテンプレート ロジスティック回帰のテンプレートの実行 人工データの取得 ロジスティック回帰などの機械学習の分類アルゴリズ…

Pythonによるデータ解析2(1/3)

今回は、まず、人工知能(3セメ)で学んだロジスティックモデル(2階層のニューラルネットワーク)を簡単に復習し、モデルのパラメータの勾配を手計算で求めます。 そして、ソフトマックス、交差エントロピー、事後確率および最急降下法のメソッドを持つ2階…

Pythonによるデータ解析1(4/4)

Pythonによるデータ解析1(3/4)からの続き 【Pythonによるデータ解析1(4/4)の目次】 オブジェクト指向のPythonスクリプトの例 宿題 オブジェクト指向のPythonスクリプトの例 Pythonでは、関数とクラスの定義を以下のような形式で記述します。 def…

Pythonによるデータ解析1(3/4)

Pythonによるデータ解析1(3/4)からの続き 【Pythonによるデータ解析1(3/4)の目次】 リスト内包表記のPythonスクリプトの例 演習3 リスト内包表記のPythonスクリプトの例 pythonには、C言語と類似の記述をするfor文とif文がありますが、さらに、…

Pythonによるデータ解析1(2/4)

Pythonによるデータ解析1(1/4)からの続き 【Pythonによるデータ解析1(2/4)の目次】 numpyの数値演算のスクリプトの例 pdbを用いたデバッグ 演習2 numpyの数値演算のスクリプトの例 以下は、数値計算用のライブライrnumpyを用いた行列とベクトル…

人工知能の講義資料

難しすぎると不評だった人工知能の講義資料。来年度は、表面的な簡単な内容に改変し、さらに強化学習を追加する予定。人工知能 第10回 線形サポートベクトルマシンによる学習を理解する 人工知能10 サポートベクトルマシン from Hirotaka Hachiya www.slides…

Pythonによるデータ解析1(1/4)

データ解析を題材に、Pythonを用いた機械学習アルゴリズムの実装の演習を行います。本演習では、scikit-learn、tensorflow, caffe, chanierなどの機械学習のライブラリの整備が進むなか、あえてそれらの機械学習ライブラリは使わずに3階層のニューラルネット…

Tensorflowの覚え書き(RNNのサンプルコードを実行するまで)

Windowsにて、TensorflowをインストールしてRNNのサンプルコードを実行してみる。1)Anaconda 3系をインストールする。 https://www.continuum.io/downloads2)pipを用いてtensorflowをインストールする。 > pip install tensorflow Anacondaのインストー…

tensor flowの覚え書き(よく使う関数のサンプルコード)

以下、よく使うtensorflowの関数のリファレンスと、サンプルコードを簡単にまとめておく。 tf.one_hot https://www.tensorflow.org/api_docs/python/tf/one_hotサンプルコード:one_hot.py(https://tyfkda.github.io/blog/2016/09/03/one-hot.htmlを参照) …

gensim(word2vec)のインストール

word2vecを使うために、python3.5.2(Anaconda 4.2.0)のgensimモジュールをインストールする。 > pip install gensim 簡単にインストールできたので、早速word2vecをimport出きるかどうか確認してみたところ、以下のようなMKLのエラーがでて落ちてしまった。…

Maximum Mean Discrepancy (MMD)

MMD(Maximum Mean Discrepancy)は、カーネル平均場を用いたノンパラメトリックな分布間距離を表し、検定に用いられる。 以下、リファレンス。 Shengjia Zhao MMD variational Auto encoder http://szhao.me/2017/06/10/a-tutorial-on-mmd-variational-autoe…

Mecabのインストール

形態素解析システムのMecabをインストールしてみた。 https://www.mlab.im.dendai.ac.jp/~yamada/ir/MorphologicalAnalyzer/MeCab.htmlインストール手順は、以下のサイトを参考にした。 https://qiita.com/elm200/items/2c2aa2093e670036bb30 mecab関連のパ…

Unity ML Agents

強化学習の研究者に朗報。ついに、Unityが公式に機械学習エージェント用のAPIを発表しました。 まだ、ベータ版ですが、Unity Machine Learning Agentsというものです。 github.com以下実装の例を紹介しているサイト。 https://blogs.unity3d.com/jp/2017/09/…

Zero-shot Learning

Zero-shot Learningの論文 Pedro Morgado Nuno Vasconcelos, Semantically Consistent Regularization for Zero-Shot Recognition https://arxiv.org/pdf/1704.03039.pdf word2vec embeddingを用いて、補助情報(auxiliary information)であるテキストアノ…

シーケンスGAN(generatorのマルチタスク学習)

以前覚え書きに書いたシーケンスGANだが、いろいろなバージョンがでているようだ。 hirotaka-hachiya.hatenablog.com以下のgithubレポジトリに上がっているのは、割引報酬和と真の報酬との二乗誤差の最小化と、報酬の最大化をマルチタスク学習で、generator…

3D物体検出

C社の斎藤氏から、3D物体検出用のアノテーション付きデータについて教えてもらった。 スタンフォード大学のXian Yu博士が以下のPascal3D+とObject Detection by 3Dというデータを公開している。 3D物体検出の評価用データ:Pascal3D+ http://cvgl.stanford.e…

WIndowsへのcvxoptのインストールとSVM

Windowsのpythonで、サポートベクトルマシン(SVM)の二次計画問題を解くのにcvxoptを使ってみた。以下から、64bitのPython 2.7 versionのAnacondaをダウンロードして、インストール。 https://www.continuum.io/downloads ※ちなみに、python 3.6 versionでは…

word2vec

一時話題になったword2vecのリンク一覧を簡単に作ってみた。 googleによるword2vecのtoolkit https://code.google.com/archive/p/word2vec/ skip-gramを、図を用いてわかりやすく解説 http://qiita.com/Hironsan/items/11b388575a058dc8a46a cBOWとskip-gram…

群衆カウントの覚え書き

Cross-sceneCrowdCountingviaDeepConvolutionalNeuralNetworks, C. Zhang et al., CVPR2015 Xiaogang Wang先生のグループの論文。perspective mapを学習データセットごとに用意しておいて、ターゲットのperspetive mapを手動(自動?)で求めて、ターゲット…

群衆シミュレーションの覚え書き

最近、データ駆動群衆シミュレーションの研究が盛んに行われているようだ。どんな論文があるのか軽く調べてみたが、ほとんどがUniversity of North CaliforniaのGAMMAというグループの論文で、毎年発表しているようだ。 http://gamma.web.unc.edu/ http://ga…

合成開口レーダー

衛星や飛行機からマイクロ波のレーダを地表に斜めから照射し、反射してくるマイクロ波を観測し、戻ってくるまでの時間や強さにより地表の形状を推定する、合成開口レーダー(英語では、SAR:Synthetic Aperture Radar)と呼ばれている方法があるらしい。マイ…

多重重点サンプリング法

多重重点サンプリング法とは、複数のソース分布からサンプリングしたデータと密度比を持ちいて、ターゲット分布に基づく期待値をバリアンスを抑えて推定する方法である。 https://graphics.stanford.edu/courses/cs348b-03/papers/veach-chapter9.pdfもう少…

異種混合学習(FAB編)

今回は続きのFAB(Factorized Asymptotic Bayesian inference)についてメモる。 hirotaka-hachiya.hatenablog.com【4. Factorized Asymptotic Bayesian Inference Algorithm】 まず、FICに含まれるは、ML(Maximum Likelihood)推定量なのだが、実際には求…

異種混合学習(FIC編)

下記のブログを参考にして、 d.hatena.ne.jp NECの異種混合学習技術に関連する論文を読んでみることにした。今回は、AISTATS2012で発表された藤巻さんと森永さんの論文「Factorized Asymptotic Bayesian Inference for Mixture Modeling」の前半FIC(Factoriz…

Pythonの覚え書き(DataFrameのSettingWithCopyWarningの対処方法)

DataFrameの要素の値を更新する際に、SettingWithCopyWarningという警告が出ることがある。 例えば、次のようにユーザのデータを管理するDataFrameにおいて年齢(age)を更新する場合などである。 >>> import pandas as pd >>> df = pd.DataFrame({'name':['…

Pythonの覚え書き(グラフのプロット編)

Pythonでグラフをプロットするには、matplotlibライブラリのpylabのplotが標準的に用いられる。 >>> import matplotlib.pylab as plt >>> import numpy as np >>> plt.plot(np.random.rand(100)) csvファイルで保存されたデータをプロットするには、pandasラ…

行動認識の覚え書き(improved dense trajectoriesのインストール編)

行動認識でよく用いられているImproved Dense Trajectories(以下、IDTと呼ぶ)を試してみた。 IDTのコードは、Heng Wangにより以下のサイトで公開されている。 http://lear.inrialpes.fr/people/wang/improved_trajectoriesIDTは、FFmpegとOpenCVを用いてい…

Pythonの覚え書き(リストの連結編)

Pythonでは、2つのリストを、+を用いることにより簡単に連結することができる。 >>> list1=[1,2,3] >>> list2=[4,5,6] >>> list1+list2 [1, 2, 3, 4, 5, 6] ただし、+で連結できるのは、水平方向だけで、垂直方向の連結はできない。垂直方向の連結をする場…