チコノフ(Tikhonov)正則化について

お久しぶりです。 最近プログラミングのための線形代数という本で線形代数のやり直しをしている。基底のイメージが掴みやすくて読んでいて楽しい 第二章の最後あたりにチコノフ正則化というものについて書いてあったので試してみることにした コードはいつも…

Dropoutのハイパーパラメータの決定について

ここ1ヶ月ほど、会社のアルバイトで6クラスの画像分類モデルをTensorflowを使って作ることを任された 色々詰まった、考えさせられたことがあったのでメモ 画像分類だったらCNNで、ネットワークはVGG16だったりAlexNetで作りましたべろ〜んwって感じでいいと…

ベイズの定理とソフトマックス関数について

授業が始まって中々勉強に時間が取れないがちょっとだけPRML上巻を読んだ。 ベイズの定理について自分なりの解釈としてのメモをかくことに 中学で確率における同時確率(または結合確率)というのを習った。これは事象XとYがあるとして、XとYが同時に起こる確…

KaggleのTitanicで上位10%に入った手法のまとめ

初心者向けですが深層学習の講師を最近やりました。 講義の中で実際にKaggleのコンペで腕試しをするということをしたかったので講義をやる前にチャレンジした。 今回腕試しをするコンペはkaggleのチュートリアルで有名なtitanicを選んだ。 Titanic: Machine …

物体検出の実装を目指す-Fast R-CNNについて

結構間が空いたが、Fast R-CNNの論文を読んだ。適度にメモする。 SPPnetではSelectiveSearchから得た候補領域一つ一つをCNNにかけるというのを無くし、対象とする画像データ一枚からCNN(畳み込みの処理のみ)にかけて得た特徴マップから物体検出を行う手法を…

SECCON Beginners2017 東京に行ってきた感想

CTF

滅多に人が来ないこのブログのアクセス数が1000超えてた。あったけえ・・・ ベリベリサンクスヾ(≧∀≦)ノ タイトル通りctf4bの東京会場行ってきた。去年の2月くらいにCicada3301という話をネットで読んですごいワクワクして謎解きみたいで面白そうと思い、その…

日付データから得られる特徴量の観察

インターンの懇親会に参加したとき、「解決したい問題によっては日付のデータが重要になることもある」という助言がプロの人からぽろっと出ていた。 インターンの時には日付の扱いがよくわからず使わずに終わってしまった。 さりげなくどんな感じに変換して…

ROC曲線や累積反応曲線について

前回の記事で、モデルの性能評価として期待利益という値を使った。 データサイエンスの基本コンセプトのひとつに「モデルの性能の比較対象となる適切な基準は何であるかを考察することは重要である」というものがあるらしい。ビジネスとしては予想精度の最大…

混同行列、期待利益からのモデルの評価について

その2で終わるはずだったが続いた。 期待値としての評価をキノコの分類モデルで試して見た。コードはここ。 github.com 前回3つのモデルを作成し、性能の計測については損失関数や以下のような精度を使って評価した。 精度は分類器の性能を1つの値で表すこ…

Kaggleのデータセットを使って特徴量を観察する その2

前回の続き 特徴量の選択を終えたのでキノコが食用か毒ありかの判別を行うモデルを構築していく コードはここ github.com モデリング 作成したモデルは Tensorflowを使ったNNのロジスティック回帰モデル 決定木を用いたツリーのモデル 流行りのXGboostを用い…

Kaggleのデータセットを使って特徴量を観察する その1

最近、特徴量の観察、選択がとても大事だと実感した。 それもあって深層学習の勉強とは別に、データサイエンスの勉強もしようと思ってこの本を読んでいる。 www.amazon.co.jp まだ7章ほどだけどもためになることが結構書いてあっていい。自分の言語処理能力…

機械学習よりのインターンに行ってきた感想と特徴量について

タイトル通り機械学習よりのインターンに行ってきた。理由は3年生だからそろそろインターンの体験を積みたいというのが一番でかかったりする。 どこのインターンに行ったのかは言えません。東京湾に沈められますからね。 オフィスは綺麗でリラックマのひよこ…

外れ値検出、OneClassSVMについて

統計データにはよく外れ値なるものが含まれていることが多いそう。 外れ値とはデータの分布において他の観測値から大きく外れた値のことで、異常値とやらもあるけどそれとは異なるっぽい 外れ値検出、処理することは機械学習を行う上で学習の妨げをなくす大…

SPPnetについてとTensorflowでの畳み込みフィルターの観察

前回の続き SPPnetを利用した物体検出では入力画像から1回だけ畳み込みの操作を行うことで、大幅な計算時間の削減が可能ということで感動した。 他のサイトの情報や、論文の内容を読み直したりして以下のような手順でSPPnetによる物体検出器を作成しているの…

物体検出の実装を目指す-SPPnetについて

RCNNに続き、次はSPPnetの理解、実装を目指す。 今回も頑張って論文を読んだ。気のせいかRCNNの論文より読みやすかった。アジアの人が書いた論文だからかな。 まずRCNNの問題点として以下が挙げられる。 RCNNはSelectiveSearchなどで得た候補領域の1つ1つを…

深層学習5章の白色化とデノイジング自己符号化器を試してみた

お久しぶりです。 SPPnetの論文をよみつつ深層学習の青い本も読み進めてます。 青い本の5章における白色化とデノイジング自己符号化器が気になったので作って見ることにした。 白色化というのは機械学習における訓練データに偏りがあると学習の妨げになる場…

深層学習5章の自己符号化器をTensorflowで作ってみる

間がかなり空いてしまった。 イルカの深層学習5章にて自己符号化器なるものの説明があった。これは入力層よりノードの少ない中間層で符号化し、入力と同じノード数の出力層にて復号化を行う方法でいいのだろうか。入力のノード数より少ないノード数に落とし…

深層学習4章の誤差逆伝播について

深層学習という青いイルカさんが表紙の本がありまして最近読んでいる。 重み上限など自分の知らないことが載っていてまだまだ勉強不足と感じる。 4章の誤差逆伝播について、二乗誤差の第n層の重みの更新を考えるとき こんな式が載っていた。右辺の第二項の微…

Tensorflowで作った学習モデルをandroidで利用する

物体検出を勉強中です。Tensorflowにはネットワークのグラフ情報やパラメータなどを保存するcheckpointというものがありますよね。 checkpointファイルをロードすれば一旦学習をストップして、再度学習を続行することもできて非常に便利。 それとは別でcheck…

Tensorflowを用いて物体検出の実装を目指す-RCNN

前回に続いて今回はRCNNです。 まずは論文を頑張って読みました。個人的にまとめたスライドを上げておきます。 英語が苦手なので翻訳に頼ってしまった。。BB回帰のところの実装がわからなかったので探したがなかったので今回は無しで実装することに。 RCNNで…

Tensorflowを用いて物体検出の実装を目指す-テンプレートマッチング

最近アルバイトのこともあって物体検出のことについて調べていました。 有名なところではRCNNに続きFast RCNN、Faster RCNN、YOLO、最近だとSSDというのが熱い感じ? Faster RCNNやSSDはすでにTensorflow版のがGithubで公開されてますが、自分で実装して見た…

Processingで画像の切り抜きプログラムを作った

お久しぶりです。 自作のデータセットで画像認識を行うにあたって、MNISTのように 28x28 サイズで特徴を切り抜かないといけない問題にあたってしまう。 というわけでProcessingで画像の切り抜き、リサイズして保存するプログラム作った。 Processingにしたの…

畳み込み層について その2

前回の続き 前回をまとめると 画像は基本3次元の形状で、形状には大切な空間的情報が含まれている。 入力の形状を意識したニューラルネットワークの構築には、「畳み込み層」と「プーリング層」を用いる。 畳み込み層で行われる畳み込み演算の処理に使われる…

Tensorflowで道路標識の画像認識をしてみる

勉強ばっかりだと頭に残らないので、実際に自分でデータセット作りtensorflowを使って画像認識をしてみる。 データは道路標識の「制限速度」と「止まれ」の2クラス分類にする。 画像検索のAPIは貧乏で使えないので手作業でデータは各100枚ほど集めた。 80枚…

畳み込み層について その1

ディープラーニングを用いた画像認識の記事で「畳み込みネットワーク(CNN)」という単語をよく見かける。最近CNNを勉強してたのでメモ。 CNNでは「畳み込み層(Conv)」と「プーリング層(Pool)」の2つの層がニューラルネットワークに登場する。 全結合のニュー…

tf.layers.conv2dでCNNを構築する

有名なゼロから作るDeepLearningの魚の本ありますよね。自分もお世話になってます。 その本の8章に こんな感じのCNNの説明がありましたよね。コードも公開してあります。 個人的にtensorflowで実装して見たいと思い、このCNNを構築してみた。 コードはここ …

損失関数について その2

損失関数について その1 - 時給600円 これの続きです。その1では 学習とは訓練データから最適な重みパラメータの値を自動で獲得する 重みパラメータを修正、更新のために損失関数が存在する というところまでメモった。 損失関数がどのような指標かという…

損失関数について その1

今回は損失関数についてメモる。 機械学習やディープラーニングとかの言葉をたくさん聞くようになってきたけど、何を学習しているのか? 勉強して調べた結果、今の所学習とは訓練データから最適な重みパラメータの値を自動で獲得するという認識に落ち着いた…

活性化関数について

活性化関数は入力の値と重み、バイアスから計算をして得られた値を出力信号に変換する関数のことを指す。 ニューラルネットワークは分類問題と回帰問題の2つがあるが、問題によって出力層の活性化関数を変更する必要がある。 回帰問題には恒等関数(何も手を…

テスト投稿

タイトル通り。 物体認識を理解するまでの勉強のメモとして記事を残していきたい。