読者です 読者をやめる 読者になる 読者になる

不定期ML&NLP報#3

機械学習 自然言語処理 不定期ML&NLP報

最近の機械学習&自然言語処理に関する情報をまとめるコーナーです。前回はこちら。このエントリ忘れてるよというのがありましたら、たれこみフォームから教えてもらえるとうれしいです。

論文

ブログ/勉強会資料

ビジネス

ペパボのログ解析。データの収集、可視化、パス分析をやった結果をどう施策に活用していくか(離脱ユーザーへのリテンション)。

学会/勉強会

WebDB Formでの発表資料。深層学習を使った間取りの生成、物件画像の分類(玄関、居間、キッチン、トイレなどの分類)など。不動産物件のデータセットの提供もあって熱い。

NIPS2016

NL研

招待講演の酒井先生の発表資料。うーん、あまりできていないので耳が痛い...。情報アクセス評価方法論を出されたようなので、これを読んでみるとよさそう?

coling2016

第8回入力メソッドワークショップ (IM 2016)

毎年年の瀬に行なわれているIME関係の集まり。来年はきっと京都であると思うので、参加したい。

その他

機械学習のための連続最適化 (機械学習プロフェッショナルシリーズ)

機械学習のための連続最適化 (機械学習プロフェッショナルシリーズ)

  • 作者: 金森敬文,鈴木大慈,竹内一郎,佐藤一誠
  • 出版社/メーカー: 講談社
  • 発売日: 2016/12/07
  • メディア: 単行本(ソフトカバー)
  • この商品を含むブログを見る
関係データ学習 (機械学習プロフェッショナルシリーズ)

関係データ学習 (機械学習プロフェッショナルシリーズ)

異常検知本の読書メモ Part 5(密度比推定による変化検出)

機械学習 異常検知

前回に引き続き、密度比を直接推定するコーナー。時系列の変化検出や多変数の依存関係の崩れを捉える構造変化検知の手法を密度比推定で解く。

変化検知問題とカルバックライブラー密度比推定法

変化検知問題は第9節で取り扱った。ある時点tを含む前後で分布がどれくらい異なるかの異常度をはかりたいというのがやりたいことであった(分布変化検知とも呼ばれる)。

式(9.8)a^{(t)} \propto k (1 - {{\mathbf{u}}^{(t)}}^T \mathbf{q}^{(t)})では、前後それぞれ確率密度のパラメータ(uとqがそれ)を計算したが、密度比推定ではそれぞれのパラメータを推定するのではなく、KLダイバージェンスを用いて直接密度比を推定する。これは勾配法を使って簡単に解くことができ、(12.3)式

\alpha(D, D^\prime) = \frac{1}{N} \sum_{i=1}^N \log \hat{r}(\mathbf{x}_i)

のように異常度が計算できる。

KLダイバージェンスの問題点と代替のダイバージェンス

↑のKLダイバージェンスを用いた方法で問題が全て解決すればよいのだが、なかなかそうはいかない。KLダイバージェンスによる異常度は対数関数が入るため、0周辺で微小な変化が敏感に捉えられる反面、ノイズの影響を受けやすく、特にセンサーデータなどでは困ってしまう。そこで、代替となるダイバージェンスがいくつかある。

  • ピアソンダイバージェンス
    • (t-1)2という形をしており、対数関数を含まないためKLダイバージェンスよりロバストに動く
  • 相対ピアソンダイバージェンス
    • 割り算の分母が0になるときがあるので、それをなまして使おうというアイディア
    • 分母がp^\prime(\mathbf{x})だったものを\beta p(\mathbf{x}) + (1 - \beta p^\prime(\mathbf{x}))と置き換える
    • 最小二乗密度比推定と同じような形で閉じて解が得られる
    • ハイパーパラメータのβが増えているので、チューニングの手間は増える

確率分布の構造変化検知

次に、第10章でやった疎構造学習による異常検知(特に異常解析や構造変化検知)を密度比推定で解く。

疎構造学習によってDとD'でそれぞれ確率密度を推定することができるが、実は以下のような問題がある。

  • 構造変化検知をするためにDとD'でそれぞれ精度行列を求めると、本当は辺の重みが変化していない場合でもそれぞれの推定誤差により変化したと検知してしまう場合がある

これをどうにか防ぎたい。ここで、変化前後の密度比が

\frac{N(\mathbf{x} | 0, \Lambda^{-1})}{N(\mathbf{x} | 0, {\Lambda^\prime}^{-1})} \propto \exp(- \frac{1}{2} \mathbf{x}^T (\Lambda_{m, m^\prime} - \Lambda_{m, m^\prime}^\prime) \mathbf{x})

と書けること(式(12.6))に注目する。これから、正規分布による密度比推定をデータから推定することで精度行列の差が直接推定できる。規格化条件を自動的に満たすようなパラメトリックなモデルとして

r_\boldsymbol\Theta(\mathbf{x}) \propto \exp(- \frac{1}{2} \mathbf{x}^T \boldsymbol\Theta \mathbf{x})

を考える(正規化項書くの面倒なのではしょった)。このモデルを元に、pとrp'のKLダイバージェンスを考え、L1の正則化付きで最適化問題として定式化できる。その最適化問題の解き方は元論文を参照のこと。こいつを使うと誤検知を減らすことができる。

また、理論的な解析もAAAI2015でされているらしく、密度比で構造変化検出する方法に必要なサンプル数は、グラフ全体のの辺の数ではなく変化した辺の数によって決まるらしい(そんなに変化してなければサンプル数がオーダー的にはそんなにはいらないということか)。

疎密度比推定の高次拡張

ガウス型のグラフィカルモデルでは共分散相当の構造(つまり二次まで)しか見ることができないが、非線形な特徴ベクトルを使うとより高次の関係も捉えることができる。少しこみいっているが、定式化の手順はさほど変わらずシンプルにできる。

参考

異常検知と変化検知 (機械学習プロフェッショナルシリーズ)

異常検知と変化検知 (機械学習プロフェッショナルシリーズ)

入門 機械学習による異常検知―Rによる実践ガイド

入門 機械学習による異常検知―Rによる実践ガイド

異常検知本の読書メモ Part 4(密度比推定による異常検知)

機械学習 異常検知

前回扱った内容を密度比推定により直接的にかっこよく解く。

やりたいこと

  • 正常であると分かっているデータを元に異常が含まれるかもしれないデータの中から異常な標本を見つけ出す
    • 個々に外れ値検出するのではなく、テストデータ全体の確率分布も考える
    • 全体を考えることでノイズを減らせるのではないか、という期待がある

やる方法としては、密度比を基底関数の線形モデルで表わし、KLダイバージェンスなり、最小二乗の考え方で目的関数に落とし込んで線形モデルのパラメータを求める、というもの。割とシンプル。

密度比による外れ値検出問題の定式化

正常なデータ集合Dと異常標本が混入しているかもしれないデータ集合D^\primeが与えられているとする。ネイマンピアソン決定則によると\mathbf{x} \in D^\primeに対する異常さの度合いと表わす尺度として、a(\mathbf{x}) = - \log r(\mathbf{x})を自然に考えることができる(ただし、r(\mathbf{x}) = \frac{p(\mathbf{x})}{p^\prime(\mathbf{x})}で、p^\prime(\mathbf{x})はテストデータが従う確率密度)。

密度比のふるまいについてまとめる。D^\primeにおいて、異常標本の割合を\alphaとすると、連続性など適切な条件を満たせばp^\prime(\mathbf{x}) = (1 - \alpha)p(\mathbf{x}) + \alpha \tilde{p}(\mathbf{x})のような形を仮定できる(\tilde{p}(\mathbf{x})はpとp^\primeの差に対応する規格化条件を満たす関数)。これを使うと密度比は

r(\mathbf{x}) = \frac{p(\mathbf{x})}{(1 - \alpha)p(\mathbf{x}) + \alpha \tilde{p}(\mathbf{x})} = \frac{1}{(1 - \alpha) + \alpha \frac{\tilde{p}(\mathbf{x})}{p(\mathbf{x})}}

と表現できる。

  • 正常なxに対しては\frac{\tilde{p}(\mathbf{x})}{p(\mathbf{x})}が1より小さい値を取る
  • 異常なxに対しては\frac{\tilde{p}(\mathbf{x})}{p(\mathbf{x})}は1より大きな値を取る

↑より、以下のことが分かる。

  • 正常なxに対しては密度比r(\mathbf{x})が大きな値を取る
  • 異常なxに対しては密度比r(\mathbf{x})が小さな値を取る

また、密度比は 0 \leq r(\mathbf{x}) \leq \frac{1}{1 - \alpha}なので、\mathbf{x}^\primeに対する異常度は\log (1 - \alpha) \leq a(\mathbf{x}^\prime) \lt \inftyを満たす。実用上、異常標本の割合は1より圧倒的に小さいので、左辺は- \alphaで近似でき(0周辺でテイラー展開)、これが異常度の近似的な下限となる。これより、異常度が\alphaのオーダーより非常に小さい場合は異常が疑われる、ということになる。

ここで問題になることが1つあって、p(\mathbf{x})p^\prime(\mathbf{x})の推定には誤差が必ず含まれ、割り算によってその誤差が増幅されてしまうということ。今回欲しいのは異常度a(\mathbf{x}) = - \log r(\mathbf{x})であるから、個々の分布が分からなくても密度比が分かればそれでよい。バプニックの原理から密度比を直接的に求めていくことを考えよう。

カルバックライブラー密度比推定法

密度比を表わすモデルとして線形モデル

r_{\boldsymbol\theta}(\mathbf{x}) = \sum_{j=1}^b \theta_j \phi_j(\mathbf{x}) = {\boldsymbol\theta}^T \boldsymbol\phi(\mathbf{x})

を仮定する。ただし、\boldsymbol\phi(\mathbf{x})はb次元の非負値を取る基底関数、\boldsymbol\thetaはb次元のパラメータである。このような仮定を入れると、密度比推定はパラメータ\boldsymbol\thetaの推定問題に落ちる。あとは、その目的関数を決めてやればよいが、以下のような基準を考えることができる。

  • パラメータ\boldsymbol\thetar_{\boldsymbol\theta}(\mathbf{x}) p^\prime(\mathbf{x})p(\mathbf{x})にできるだけ近くなるように
  • r_{\boldsymbol\theta}(\mathbf{x}) p^\prime(\mathbf{x})は非負値で規格化条件を満たす

これらを満たす基準として、非負関数fとgの情報理論的な距離を測る一般化カルバックライブラーダイバージェンス

\mbox{gKL}(f||g) = \int f(\mathbf{x}) \log \frac{f(\mathbf{x})}{g(\mathbf{x})} d \mathbf{x} - (\int f(\mathbf{x}) - g(\mathbf{x}) d \mathbf{x})

を考える(これの気持ちはよく分からない...)。fとgにp(\mathbf{x})r_{\boldsymbol\theta}(\mathbf{x}) p^\prime(\mathbf{x})を代入すると

\mbox{gKL}(p||r_{\boldsymbol\theta}(\mathbf{x}) p^\prime(\mathbf{x})) = \int p(\mathbf{x}) \log \frac{p(\mathbf{x})}{r_{\boldsymbol\theta}(\mathbf{x}) p^\prime(\mathbf{x})} d \mathbf{x} - 1 + \int r_{\boldsymbol\theta}(\mathbf{x}) p^\prime(\mathbf{x}) d \mathbf{x}

となる。上の式の期待値を経験分布で近似して、定数項を無視すると、以下の目的関数の最小化を考えればよいことになる。

J(\boldsymbol\theta) = - \frac{1}{|D|} \sum_{x \in D} \log r_{\boldsymbol\theta}(\mathbf{x}) + \frac{1}{|D^\prime|} \sum_{x \in D^\prime} r_{\boldsymbol\theta}(\mathbf{x})

第一項は異常度の期待値なので、異常度の期待値を最小化したいということを表わしていて、第二項は規格化条件を表わしている。

なお、本では一般化カルバックライブラーダイバージェンスの最小化で定式化されているが、元の論文ではカルバックライブラーダイバージェンスに正規化項等を陽に制約に加えた最適化問題を解いているので、理解する分には制約付きのカルバックライブラーダイバージェンスの最小化と思って普通に問題ない。

パラメータの最適化

J(\boldsymbol\theta)の最小化は凸最適化問題なので、勾配法などで求めることができる。基底関数は例えばRBFカーネルを使うことができる。RBFカーネルのバンド幅は交差検定によって求めることができる。

最小二乗密度比推定法

カルバックライブラー密度比推定法では目的関数を一般化カルバックライブラーダイバージェンスに置いたが、他の目的関数を置くことももちろんできる。ここでは最小二乗の考え方でやっていて、正則化項を付け加えても閉じた形でパラメータを求めることができる。閉じた形で表わせる分計算としては楽だが、KLダイバージェンスを最小化した場合で得られた解との性質の違いは後で抑えておきたい。

参考

異常検知と変化検知 (機械学習プロフェッショナルシリーズ)

異常検知と変化検知 (機械学習プロフェッショナルシリーズ)

入門 機械学習による異常検知―Rによる実践ガイド

入門 機械学習による異常検知―Rによる実践ガイド

異常検知本の読書メモ Part 3(疎構造学習による異常検知)

機械学習 異常検知

前回の復習

前回のChaper 9では「単一の」「時系列データ」に対し、部分空間法を使った変化検出法を見た。

概要はこんな感じであった。

  • 小さいwindow幅でデータを切って、ベクトルデータにする
  • 過去側と現在側の2つに領域に分割
  • 時刻tにおける過去側と現在側の確率分布の相違度を計算するためにKLダイバージェンス
    • 確率分布としてフォンミーゼスフィッシャー分布を採用
  • 小さいwindow幅で切られたデータはノイズが多いので、そのままでは役に立たない
  • ノイズを減らして特徴的なベクトルを得るために特異値分解を使う

多変量の変数間の依存関係の崩れを検知 => 対マルコフネットワーク

Chaper 10ではデータの時系列的な関係は無視するが、「多変量の変数間の依存関係の崩れ」を検知することを目標とする。変数間の関係は対マルコフネットワーク(pairwise Markov network)を使って捉える。pairwiseなので3変数以上の相関は考えない。対マルコフネットワークで依存関係を表わすので、変数間に関係があればネットワークにエッジがあり、関係なければエッジがない。

直接相関と間接相関の区別

変数間の関係を表わす際に重要なことは直接相関と間接相関の区別である。これを区別しないと、教会の数と殺人事件には関係があるということになってしまう(間接相関)。都市の人口といった仲介している変数があるので、それらを条件付けた上で関係があるかを考えなければならない(直接相関)。

間接相関では他の変数からも来る間接的な依存関係表現する。周辺化の操作をする。

p(x_1, x_2) = \int \cdots \int p(\mathbf{x}) d x_3 \cdots d x_M

直接相関では、他の変数を条件付けた2つの変数間の関係のみを切り出して表現する。

p(x_1, x_2 | x_3, \cdots, x_M) = \frac{p(\mathbf{x})}{p(x_3, \cdots, x_M)}

正規分布に基づく対マルコフネットワーク

対マルコフネットワークを考える際も直接相関を考えたいが、上で見たように条件付き分布をよく考えることになる。モデル化するなら、条件付き分布が簡単になる分布を選びたい。正規分布は他の変数条件付けた残りの変数も正規分布になるというよい性質があるので、正規分布を使ってマルコフネットワークをモデル化する。

ラプラス分布によるsparse化

変数間のエッジが多いと解釈がむずかしいので、ネットワークはなるべく疎(sparse)になっていたほうがうれしい。疎なネットワークにするために精度行列の事前分布としてラプラス分布を採用する。ラプラス分布を採用した上で、MAP推定でパラメータを求める。実際の手順は少し込みいっているが、基本的にはブロッック座標降下法(block coordinate descent)でいける(1つの変数に着目し、それ以外の変数を固定して最適化を繰り返す)。

疎構造学習に基づく異常度の計算

疎構造学習を使って異常を見つけることを考えた場合、以下の2つの問題設定が考えられる。

外れ値解析の場合

正常時のデータ(D)を使って確率分布p(x|D)が得られたとする。新しくデータx^\primeが手に入ったときに、x^\primeの各変数の異常度は

a_i(\mathbf{x}) = - \log p(x_i^\prime | \mathbf{x}_{-i}^\prime, D) = \frac{1}{2} \log{\frac{2 \pi}{\Lambda_{i,i}}} + \frac{1}{2 \Lambda_{i,i}} (\sum_{j=1}^M \Lambda_{i,j} x_j^\prime)^2

として書ける。どのデータが異常だった(外れ値検出)というだけでなく、どの変数の振舞いがおかしいかまでやるという意味で外れ値解析と本書では呼ばれている。

異常解析の場合

↑の外れ値解析の場合とは異なり、正常なデータ集合Dとテストのデータ集合D^\primeが得られたとする。DとD^\primeの間でどの変数にどれくらい食い違いがあるかを考えたい、というのが異常解析の問題設定である。ここまでの議論を考えると、変数毎に確率密度比の期待値を考えて

a_i = \int \int \log{\frac{p(x_i^\prime | \mathbf{x}_{-i}^\prime, D)}{p(x_i^\prime | \mathbf{x}_{-i}^\prime, D^\prime)}} p(\mathbf{x}_{-i}^\prime | D) p(x_i^\prime | \mathbf{x}_{-i}^\prime, D)  d x_i^\prime d \mathbf{x}_{-i}^\prime

と定義できる。p(\mathbf{x}_{-i}^\prime | D)p(x_i^\prime | \mathbf{x}_{-i}^\prime, D)のカルバックライブラーダイバージェンスを考えたものともいえる。計算を頑張ると、これも簡単な形で計算できるようになる。

Chaper11以降では確率密度を構成する各要素を陽には考えず、密度比を直接求めるアプローチが紹介されている。

参考

異常検知と変化検知 (機械学習プロフェッショナルシリーズ)

異常検知と変化検知 (機械学習プロフェッショナルシリーズ)

入門 機械学習による異常検知―Rによる実践ガイド

入門 機械学習による異常検知―Rによる実践ガイド

異常検知本の読書メモ Part 2(方向データの異常検知と部分空間法による変化検出)

機械学習 異常検知

方向データの異常検知

方向データの異常検知は前回スキップしていたところ。部分空間法による変化検出をするときに方向データに関する知識が必要になったので、戻ってきた。

方向データを扱う際にキーになる分布はフォンミーゼスフィッシャー分布。こんな分布知らんがなと思ったんだけど、実はPRMLの2章にこっそり出てきている。方向データとか球面上の確率分布と言われてもよく分からなかったので、少し調べた。説明としては以下のサイトの説明が一番しっくりきた。

データに対して特徴量を正規化(ノルムが1になるようにする)すると、データは単位円上のどこか一点に対応する。よく出てきそうな特徴量は似たようなところに固まる。そうすると単位円上のよく出てくるところは確率密度が高くなるので、棒が高くなる(wikipediaの図)。フォンミーゼスフィッシャー分布は感覚的にはガウス分布と似ていて、平均と分散相当のパラメータ(平均方向と集中度)を持っている。平均方向が単位円上の分布でどこが高くなっているかを表わしていて、集中度は平均方向からどれくらい離れうるかを記述するパラメータである。

これをどうやって数式で表現するか。フォンミーゼスフィッシャー分布はベッセル関数が入っているので、異常に難しく見えるが正規化項をCを置くと理解しやすくなる。フォンミーゼスフィッシャー分布の確率密度関数はf(\mathbf{x}) = C \exp{(k {\mu}^T \mathbf{x})}である。ここで、\mathbf{x}はノルムが1のd次元ベクトル、\muはノルムが1の平均方向のパラメータ、kは集中度を表わすスカラーのパラメータである。\mu\mathbf{x}を考えるので、これらが同じ方向を向いていると値が大きくなる(確率密度が高い)。また、kが大きいとピーキーな分布になるということを表わしている。

本に書いてあるパラメータの推定方法は最尤推定*1。ノルムが1の制約も入れてラグランジュの未定乗数法で解くと平均方向のパラメータについては学習データの平均を正規化したものになる。集中度パラメータkについてはclosed-formで解くことができないので、解きたければ勾配法とかで頑張ることになる。本の中では異常検知と合わせてkもどうにかする方法が書いてある。

最尤推定ができてパラメータが得られたら、方向データに関する異常度を決めたい。a(\mathbf{x}^{\prime}) = 1 - \hat{\mu}^T \mathbf{x}^{\prime}となる。また、異常度に基づく警報を出すためには異常度の確率分布がどのようなものになっているかを計算する必要がある。詳細は終わないが、計算していくとこの確率分布は近似的にカイ二乗分布であることが分かる。

部分空間法による変化検出

これまでの章はpoint-wiseにデータが異常かどうかを判断していたが、ここからはpoint-wiseではなく時系列でデータを見て異常かどうかを判断する。本では累積和法と近傍法について書いてあるが、データに対する事前知識や自己一致をしないようにする工夫が必要なので、省略する。スライド窓でずらして新しくデータを作るというアイディアだけあれば十分。

部分空間法では過去側と現在側の2つに領域を分割し、それぞれに対し確率分布を考える(後述)。ある時刻tにおいて、過去側と現在側の確率分布の相違度を計算して、それを変化度としよう、というのが部分空間法の主な考え方。

時刻tにおける過去側と現在側の確率分布の相違度を計算するためにKLダイバージェンス(尤度比の対数の期待値)を使う。KLダイバージェンスを計算するためには密度比が必要である。カーネル密度推定などの方法もあるが、ここではフォンミーゼスフィッシャー分布を使う。時系列データはそのまま使うとノイズが多いので、ノイズを抑えつつ典型的な波形を表わす何かが得られる(後述)として、その確率変数をzで表わす。zに対し、過去側と現在側の確率分布を考え、方向ベクトルは最尤推定したもの、集中度パラメータは同じと仮定するとKLダイバージェンスは綺麗な形で出てくる。

a^{(t)} \propto k (1 - {{\mathbf{u}}^{(t)}}^T \mathbf{q}^{(t)})

過去と現在の部分集合の特徴のパラーンが同じ場合は異常度0になり、直行しているときに最大となる。

今回はデータの典型的な波形を確率変数ベクトルzで表わしたが、実用的には特徴的なパターンは複数本あったほうが現実を反映できる。さて、問題は時系列特有のノイズを抑えつつ、データの典型的な波形を表わすベクトルを複数個どうやって得るかということになる。答えから行くと特異値分解(SVD; Singular Value Decomposition)をすればよいということになるが、本では「特徴的なパターンはデータの線形和で書き表わせるとして、(一番人気度を高める方向に)その係数を求める問題を考えると、特異値分解に辿り着く」ということが丁寧に書いてある。私としては雑に「元のデータからノイズを減らして複数個ベクトルを得たいんだから特異値分解使うよ」と言ってくれてもよかったかなという気分ではある。大雑把な人間なので...。

特異値分解で複数個の特徴的なベクトルが得られたら、式(9.9)を行列のノルムを使って自然な拡張として書き表わすことができる。これまでに説明した方法のことを特異スペクトル変換という。特異スペクトル変換を使うと、時系列データに対して変化点の検出をすることができる。

本の中では特異スペクトル変換はそのまま使うと特異値分解が重すぎて辛いので楽できる方法が紹介されているが、概要が知りたかったので、この辺で終わります。

異常検知と変化検知 (機械学習プロフェッショナルシリーズ)

異常検知と変化検知 (機械学習プロフェッショナルシリーズ)

*1:ベイズだとどういう事前分布を置くのかな

Angular2に入門している話

AngularJS TypeScript

機械学習のエントリばかりポストしていますが、現在の本職はWebエンジニアのid:syou6162です。

フロントエンドの勉強がひたすら足りていないけど、きっかけがないと色々やり出さない性格なので、勉強会ドリブンでAngularの勉強を少しづつ進めています。先週末にちょうどAngularを作っているGoogleの中の人が大阪にいらっしゃるということで行ってきました。ぐぐりづらいことを直接聞けたので、大阪まで行ったかいがありました。

基本的には下のハンズオンをひたすら写経するという感じ。資料はjsじゃなくてtypescriptで構成されているので、エディタで型の情報を見ながら勉強できて初心者に優しかった。

DOM直接触ったり、JQueryとXPathでちょこちょこやったことがあるくらいだったので、双方向バインディングの考え方が新鮮でした。htmlの構造とかは一旦置いといて、オブジェクトの状態に応じてdomの中身やスタイルを変えることができるので、フロントエンドをやっているけどサーバーサイドっぽい思考でコードが書けるので助かる、という感想でした。

困ったところ

やっていて困ったこととしてはAngular2を自分のプロジェクトで動かしたいときに、最小限の設定はどれなんだ???というのが分からず困りました。gulpとかgruntとかあれこれあり、「えっ、小さいプロジェクトならpackage.jsonに直接書いていいの?」という感じで開発環境を整えるところが一番鬼門だったように思います。

JavaScriptプログラマのための 実践的TypeScript入門 (アスキー書籍)

JavaScriptプログラマのための 実践的TypeScript入門 (アスキー書籍)

速習ECMAScript6: 次世代の標準JavaScriptを今すぐマスター!

速習ECMAScript6: 次世代の標準JavaScriptを今すぐマスター!

不定期ML&NLP報#2

機械学習 自然言語処理 不定期ML&NLP報

最近の機械学習&自然言語処理に関する情報をまとめるコーナーです。今回は医療品設計やセキュリティなど、自分があまり知らなかった分野での機械学習適用事例が多く、勉強になるものが多かったです。前回はこちら。

このエントリ忘れてるよというのがありましたら、たれこみフォームから教えてもらえるとうれしいです。

論文

ブログ/勉強会資料

ビジネス

学会/勉強会

NIPS2016

  • NIPS 2016参加報告 - Qiita
  • www.reddit.com/r/MachineLearning/comments/5hwqeb/project_all_code_implementations_for_nips_2016
    • NIPS2016で発表された論文の中でgithub等で実装が公開されているもの一覧。すでに20個以上ある様子
    • 実装やデータセットが公開されるとレビューに加点があったり、ということで公開される流れができつつある。再現性の観点からも望ましい

その他

データセット

  • これもMS COCOに対してアノテーションしているデータセットの1つだった