学習する天然ニューラルネット

主に機械学習に関する覚書や情報の整理。競プロ水色→Kaggle Master→?

時系列データで予測区間付き回帰を行う keras

概要

  • 時系列のデータについて、1時刻先を推定する回帰問題を扱った。
  • 点推定ではなく正規分布を仮定した分布を推定した。
  • 区間を予測区間とした。
  • 電力使用量のデータを用いて実験した。
  • 概要
  • 問題意識
  • イデアの概要
  • データの説明
  • モデルの説明
  • 結果
  • まとめ


2019/03/01追記

もっとちゃんとやりました。

aotamasaki.hatenablog.com

続きを読む

脳波を可視化してみた

f:id:aotamasaki:20181027180635p:plain

概要

  • 脳波を色を使って可視化してみた。
  • 脳波を採取するのには、Mindwaveを用いた

amzn.asia

  • 可視化には、Nanoleaf Auroraを用いた

amzn.asia

具体的には行動によって変わる時系列としての脳波を、光の系列で表現した。

  • 概要
  • 脳波と表現の説明
    • 脳波とは
  • 結果
  • 難しかった点
    • Python環境の不一致
    • 測るたびに変わる脳波
  • ソースコード
続きを読む

Hyper+xonshで超モダンな環境づくり

はじめに

ばんくしさんをフォローしたらすっかりxonshに洗脳された。 また、巷でうわさのHyperなるターミナルアプリを試してみたら使いやすかったので、組み合わせて使ったら最強では?と安直な発想で記事を書きはじめた。

適当に操作してみたのがこちら。

f:id:aotamasaki:20180929141545g:plain

候補がフローティングウィンドウに出ていたり、補完がゴリゴリに効いていることがわかるだろう。また、動画内ではpythonの仮想環境を切り替えてもいる。

本記事では以下のことを書く

  • はじめに
    • Hyperとは
    • xonshとは
  • Hyperの導入
    • 起動するshellの選択
    • 文字化けの問題
  • xonshの導入
    • お手軽に使ってみる
    • メインに使うには
    • xonshでPythonの仮想環境の構築

記事の対象者

  • .bashrc、.zshrcなどと言われて何かわかる方
  • Homebrewがある
続きを読む

時系列データでVariational AutoEncoder keras

はじめに

前回の記事で時系列入力に対するオートエンコーダーを組んだ。

aotamasaki.hatenablog.com

今回は潜在変数を正規分布に押し込むというVariational AutoEncoderを組んでみた。CNNとVAEを組み合わせる記事は割と見つかるのに、RNNとなったとたん見つからないものである。

データはMNISTであるが後述するように、時系列だと見なして入力した。

まずはモデルとデータの概要を説明する。そのあと、結果で再構成された数字と生成された数字の例を示す。最後に、潜在変数Zが正規分布になっているのか確かめる。

  • はじめに
  • モデルの概要
  • データの概要
  • 結果
  • Zは本当に正規分布をしているのか?
  • まとめ
  • 参考文献

モデルの概要

f:id:aotamasaki:20180923120834p:plain

続きを読む

時系列データを使ってオートエンコーダー keras

はじめに

時系列でオートエンコーダーを組む練習。ネットで漁っても見当たらなくて(kerasの日本語記事)、kerasのblogでも放置されていた。

Building Autoencoders in Keras

""We won't be demonstrating that one on any specific dataset. ""

→自分でやるしかねぇ

続きを読む

メモリに乗り切れないデータをkerasで学習する

  • はじめに
  • 何を使うか
    • 方法1
    • 方法2
    • 両者の違い(私感)
  • やることの概要
  • データの説明
  • モデルの構築(飛ばしてOK)
  • HDDからバッチを読み出す
  • 訓練
  • 結果
  • まとめ
  • 追記

はじめに

こんにちは。何が起きたかから言うと、DeepLearningしようとしたらデータが270GB近くあってメモリに乗らなかった。そこで、練習がてら、batchごとにHDDからデータを読み出して、batch学習するコードを書いた。

kerasやpythonをある程度知っている前提で書き進めていく。

何を使うか

公式ドキュメントで検索すると"メモリに載らない大きさのデータを扱うには?"

FAQ - Keras Documentation

とある。これによると方法は2つあるらしい。

方法1

model.train_on_batch(x, y)を使う。

このブログではこちらを試した。

方法2

model.fit_generator(data_generator, samples_per_epoch, epochs)を使う。

この方法はこちらの記事に解説が書いてあった。

tech.wonderpla.net

続きを読む

Google流 資料作成術を読んで

ここで書くことは?

日本実業出版社から出版されている、"Google流 資料作成術"を読んだので、自分が気をつけておく点をまとめておく。

  • ここで書くことは?
  • コンテキスト(文脈,背景)を理解する
    • 心持ち
    • 資料を作り始めるまえに
  • 表現を選ぶ
  • 不必要な要素を取り除く
  • 見てほしいところに注意を引きつける
  • ストーリーを伝える
    • ストーリーは三幕構成で
      • 始まり
      • 中間
      • 終わり
    • ストーリーは繰り返す
    • 逆ストーリーボード
  • ケーススタディ
    • 濃い背景色を使う場合
    • プレゼンの図を配布資料にも使い回すとき
  • 最後に

コンテキスト(文脈,背景)を理解する

心持ち

  • 説明的分析を見せる場面で探索的分析を見せてはいけない。
    • 100パターン(失敗98パターン)のときに100パターン全部見せるのはNG
    • 相手が知りたい2パターンだけ具体的に丁寧に説明する
  • 誰に何を伝えるか
    • 考えて資料を作っていると思うが、一般化したターゲット設定はやめるべき
      • 興味を持っているすべての人とか、利害関係者とかはNG
    • 相手との関係性を考える。
      • まずは相手の信用信頼を勝ち取るほうが先だったりする
    • 相手に何をしてほしいか
      • 意外と見落としがち
      • データを示しておしまいにならないように
  • プレゼンの練習
    1. 各スライドの重要なポイントを書き出す
    2. 声に出して言いたいことを言う練習、とくにつまずきがちなスライドの移行部分の説明に慣れておくように
    3. 周りに人にプレゼンを聞いてもらう

以上のことは,誰に→何を→どのようにの順番で決めるのが良いだろう。

続きを読む