覚え書きブログ

データ解析

Pythonによる機械学習1(Pythonの基礎 1/4)

データ解析を題材に、Pythonを用いた機械学習アルゴリズムの実装の演習を行います。本演習では、最近の機械学習ライブラリの普及によりブラックボックス化され、かえって理解が困難になった機械学習アルゴリズムの基礎的な部分の理解を深めることを目的とし…

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

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

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

以下、よく使うtensorflowの関数のリファレンスと、サンプルコードを簡単にまとめておく。 tf.shape & tf.unstack:各次元の大きさを取得 サンプルコード: x = tf.constant([[1,2,3],[4,5,6]]) z= tf.shape(x) z1,z2=tf.unstack(tf.shape(x)) out = sess.run(…

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] ただし、+で連結できるのは、水平方向だけで、垂直方向の連結はできない。垂直方向の連結をする場…

Pythonの覚え書き(pandasのDataFrame編)

PythonのpandasモジュールのDataFrameを使うと、簡易的なデータベースを作ることができる。csvやhdfファイルで保存されたデータを読み込むこともできるため、非常に便利である。以下は、DataFrameの定義の例である。 >>> import pandas as pd >>> df = pd.Da…

Ubuntuの覚え書き(flash playerプラグインのインストール編)

Ubuntu14.04のMozilla FirefoxにFlash playerのプラグラインを入れてみた。 まず、下記のAdobeのFlash playerのダウンロードサイトにアクセスしてみたが、Ubuntu用のパッケージ(debファイル)が見当たらない。 https://get2.adobe.com/jp/flashplayer/そこ…

ソフトウェアアーキテクトが知るべき97のこと

O'REILLYジャパンからから発売されている、ソフトウェアアーキテクトに向けた助言がまとめられた本「ソフトウェアアーキテクトが知るべき97のこと」が、Webで公開されている。 http://ソフトウェアアーキテクトが知るべき97のこと.com/英語版「97 things eve…

Python覚え書き(lambdaとsorted編)

Pythonでは、lambdaオペレータを使うと名前のない関数、つまり匿名関数(anonymous function)を定義することができる。 例えば、 >>> myFunc=lambda x: x*x << のように定義された関数は、次のdefオペレータを使った場合と同じ関数となる。 >> >>> def myFu…

データサイエンスフェスティバル最終発表会への参加

Start todayにより開催されたデータサイエンスフェスティバル(zozotownの閲覧履歴データの解析)の最終発表会に参加してきた。 https://lpc.zozo.jp/recontest/ 最終発表会では、上位5チームのプレゼンと最終結果発表が行われた。賞金は1位が100万円、…

最近のオープンデータ

最近は、製品やサービスから集めたデータを一般に公開する企業が増えている。ここでは、いくつかの事例を紹介する。 zozotown: データサイエンスフェスティバル https://lpc.zozo.jp/recontest/ ファッション通販サイトzozotownの閲覧、購入履歴データを公開…

Pythonの覚え書き(Scikit-learn, statsmodels編)

Pythonで機械学習といえばScikit-learn、時系列予測といえばstatsmodels。まずは、コマンドプロンプトで次のコマンドでscikit-learnをインストールした。 >pip install -U scikit-learn Downloading/unpacking scikit-learn from https://pypi.python.org/pa…

Python の覚え書き(Numpy編)

Pythonの数値計算ライブラリNumpyを使って行列演算をしてみた。まずは、Numpyをインポートする。 import numpy 次に、arrayを使ってベクトルa, b, cを定義する。 a=array(1,2,3) b=array(4,5,6) c=array(5,7,3) 次に、ベクトルの転置とベクトルの積から行列A…