Batch Normalizationとは何か 内部の共変量シフト アルゴリズム Batch Normalizationのメリット 大きな学習係数が使える 正則化効果がある 初期値にそれほど依存しない Batch Normalizationを実装してみよう TFLearnのインストール CIFAR-10の画像分類で検証 まずはCNNでネットワークを構築 Batch Normalizationを適用 Dropoutを追加する まとめ シンプルでありながら、Deep Learningにおいて必須ツールとなったBatch Normalizationはとても強力な手法だ。Batch Normalizationは他の開発者や研究者からも評判が高く Chainerを使ってコンピュータにイラストを書かせる には 一番効いてきているのがBatch NormalizationとAdamでした.これ入れないと
オペレーションズ・リサーチ学会機関誌の 2015 年 4 月号に 7 ページの記事を書きました. オペレーションズ・リサーチ 4月号 2015年 Vol.60 No.4 (PDF) 最適化から見たディープラーニングの考え方 上の記事は「ニューロサイエンスと数理モデリング」という特集のうち,深層学習を紹介する 3 つの記事の一つとして書きました. OR 学会誌のバックナンバーを読みながら,最適化の観点で深層学習の話を整理したいと思い上のような記事を書きました. なので,どちらかというと自分の頭を整理するのが主目的みたいになっています. 入門・概要的な内容もお願いされていたので,導入は機械学習自体の説明から入っています(限りなく必要最低限という感じにしてしまいましたが). この原稿を書いたのは昨年末です. 深層学習界隈はスピードが速く,それから進んだ部分もありますので,いくつか記事の内容を補
次のクエリは、カタログテーブルのクエリを実行して Amazon Redshift データベースに関する有益な情報を取得できるいくつかの方法を示しています。 テーブル ID、データベース名、スキーマ名、テーブル名の参照 次のビュー定義は、STV_TBL_PERM システムテーブルを PG_CLASS、PG_NAMESPACE、および PG_DATABASE システムカタログテーブルと統合し、テーブル ID、データベース名、スキーマ名、テーブル名を返します。 create view tables_vw as select distinct(stv_tbl_perm.id) table_id ,trim(pg_database.datname) db_name ,trim(pg_namespace.nspname) schema_name ,trim(pg_class.relname) tabl
頻出パターンマイニング(Frequent pattern mining)は,頻出するアイテムの組み合わせを抽出する一連の手法を指します.頻出パターンマイニングの代表例として相関ルールのマイニングがありますが,この手法を用いるとPOSデータからビールとおむつを一緒に購入する消費者が多いことなどの知見が得られます. 一方で,頻出パターンマイニングでは,順序性のあるパターンは抽出できません.例えば,ビールを購入した消費者がその後おむつを購入する傾向があることは,頻出パターンマイニングでは分かりません. このように順序性のあるパターンを抽出する手法は,系列パターンマイニング(Sequential pattern mining)と呼ばれており,1995年にIBM研究所のR.AgrawalとR.Srikantによって提唱されました. RのarulesSequencesパッケージを使用すると,系列パター
以前、Kaggle CIFAR-10 に参加していると書きましたが、これが2週間ほど前に終わりました。コンペはまだ Validating Final Results の状態なのですが、2週間たっても終わらず、いつ終わるのか謎なのと、多分結果は変わらないと思うので先に書きます。 CIFAR-10は、次のような32x32の小さな画像にネコ、犬、鳥など10種類の物体が写っているので、与えられた画像に何が写っているか当てる問題です。 (Kaggle CIFAR-10のデータセットは、通常のCIFAR-10と結果の互換性がありますが、チート防止に画像のハッシュ値が変わるように改変されているのと、テストセットに29万枚のジャンクイメージが含まれています。) 自分の結果は、0.9415 (正解率94.15%)で、Classification datasets results によると、state-of-
Let your (centered) data be stored in a $n\times d$ matrix $\mathbf X$ with $d$ features (variables) in columns and $n$ data points in rows. Let the covariance matrix $\mathbf C=\mathbf X^\top \mathbf X/n$ have eigenvectors in columns of $\mathbf E$ and eigenvalues on the diagonal of $\mathbf D$, so that $\mathbf C = \mathbf E \mathbf D \mathbf E^\top$. Then what you call "normal" PCA whitening tr
かつてJR横浜線 十日市場駅近くのMebius (CPU:Pentium 150MHz)より発信していたウェブログです。 前項に書いた通り、主成分分析における主成分の単位ベクトルは、共分散行列の固有ベクトルとして求まる。そのこと自体に昔から興味があったので、主成分分析の復習ついでに考察してみる。 まず、最小2乗法で考えてみる。簡単のために2次元で考える。n個のサンプルデータを とし、第1主成分の単位ベクトルを とすると、Xに対応する主成分軸上の第1主成分Yは であり、そのYを元の座標系に戻したものX~は である。このことは、高校で習った一次変換を思い出してやってみるとわかる。このX~が、Xを第1主成分の軸上に射影したものであり、これとXとの距離が、最小にしたい誤差ということになる。その誤差Eを、Xを直交座標とした場合の距離の2乗とすると、 であり、p12+p22=1に注意すると、これは と
幾何学の分野で、ある図形を回転させたり引き延ばしたりする変換をアフィン変換と呼ぶ。 もう少しきちんと説明すると、「アフィン変換とは平行移動と線形変換を組み合わせた変換」のこと。 平行移動はわかるけど、線形変換って? 線形変換とは、「変換の前に直線だった場所は、変換後も直線のまま保たれる」変換のこと。直線が変換によって曲がったりしない。ということ。 さらに、「直線上に点A,B,Cが並んでいたとき、変換の前後でAB:BCの比が変化しない」。線の形が変わらないから線形変換という、と覚えてしまって構わない。 で、アフィン変換って具体的にはどのような変換? 具体的には、線形変換(拡大縮小、剪断、回転)、平行移動があり、これらの組み合わせで表現される。 2次元の図形であれば、線形変換は元の座標に2x2の行列を掛けることで表現できる。平行移動は2次元のベクトルの加算で表現できる。 つまり、次のように表す
画像から顔画像のみを切り出して、顔認識用の学習データを準備したい。 画像データが大量に必要になるので、data augmentationで実行時に動的に増幅することを考慮する。 data augmentationとして、回転、拡大縮小、平行移動をアフィン変換で行う。 切り出した顔画像を保存してそれを使用する場合、アフィン変換した際に元の画像からはみ出た領域がでる。 一般的にはみ出した領域は平均画素で埋めたりするようだ。 しかし、切り出す前の画像を使用して、アフィン変換を行えば、はみ出た部分ができず変換できる。 以下に、PythonとOpenCVを使用してそれを実現する方法について記す。 まず画像を切り出してアフィン変換する場合を示して、その後に切り出す前の画像を使用してアフィン変換する場合を示す。 画像を切り出してアフィン変換する場合 縦横100ピクセルのサイズに切り出して、アフィン変換(
(日本語は下にあります / Japanese follows English) We, engineer, live in Terminal. Terminal is our world. We can change our world. We can also change real world from our world. How we can change our world ? Write CLI tool. In this talk, I'm going to talk about what I'm thinking when writing CLI tool. Goal of this talk is to share how to write useful CLI tool from Unix philosophy and my some experiences. In t
みんなのGo言語【現場で使える実践テクニック】 作者: 松木雅幸,mattn,藤原俊一郎,中島大一,牧大輔,鈴木健太,稲葉貴洋出版社/メーカー: 技術評論社発売日: 2016/09/09メディア: 大型本この商品を含むブログ (3件) を見る 業務でGoを書くことになったのがきっかけで、「みんなのGo言語」を読んだ。 Goの経験は、1年ちょっと前に A Tour of Go やって、CLIツールとか書いたことある程度だった。 github.com 結果として、この本から Goらしいプラクティス 仕事で使えるテクニック を知ることができたおかげで仕事が捗った。 タイトルにもある通り、「現場で使える実践的なテクニック」という趣旨が各章で意識されていた。薄い本だけどカバー範囲が広く内容が詰まっていて、とても読み応えがある。 特に「第1章 Goによるチーム開発のはじめ方とコードを書く上での心得」と
専門家には常識だと思うけど、バイアスとバリアンスという話がある。これが結構ややこしいので自分なりに整理してみる。 教師あり学習で統計モデルを作るアルゴリズムがあったとして、そのアルゴリズムの「良し悪し」を評価したい。 ここでアルゴリズムが出力する統計モデルは、xというデータをインプットすると、yという値を推定してくれるものだとしよう。 (ちなみに、統計モデルの良し悪しを評価するんじゃなくて、教師データから統計モデルを学習してくれるアルゴリズムの良し悪しを評価するのだということを意識してないと割と混乱する。) アルゴリズムを利用する手順は x,yの母集団から教師データを採取する 教師データをアルゴリズムにインプットする アルゴリズムが統計モデルをアウトプットする その統計モデルにx'を与えるとy'が推定される (ここでx'に対する本当の値はy"だとする) というものだ。 このときに「アルゴリ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く