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

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

中心極限定理による分布収束のアニメーション nを増やすと標本平均はどうばらつくか

モチベーション 中心極限定理は一言で言うと、「平均する対象を増やすと、その標本平均は正規分布に従うようになる」という定理である。これの解釈はあとで与える。 この定理は直感的にはわかりにくく誤用する人も多いため、twitterでhotなトピックになった…

特徴量重要度にバイアスが生じる状況ご存知ですか?

なぜこの記事を書いたのか? 決定木をベースにしたアルゴリズムのほとんどに特徴量重要度という指標が存在する。データに対する知識が少ない場合はこの指標を見て特徴量に対する洞察深めることができる。KaggleではEDAのときにとりあえず重要度を見てみるな…

AI・機械学習ハンズオン 〜実践Kaggle 初級編〜に参加しました

はじめに 今回はただの日記です。 AI・機械学習ハンズオン 〜実践Kaggle 初級編〜に参加したので、感想を書く。 これから行く人が知りたいだろう情報も書くように心がける。 はじめに 率直な感想 対象者は? どんなことをやったのか データと環境 データのED…

新曲をプレイするとスコアはいくつ? 〜最大値を利用したスコアの分布推定〜

概要 本記事では音楽ゲーム(以下音ゲ)において、曲をプレイすると得られるスコアを確率変数として、その分布を推定することを試みた。 音ゲのスコアは慣習的に最大値のみが保存されるような仕組みになっている。 そのため、曲をプレイすると得られるスコアは…

PriorityQueue Classを作る [Pythonで競プロ]

この問題を解くのにpriority queueを使う方法がある。 atcoder.jp Pythonでpriority queueを実装するためには2つ方法があるがどちらも欠点がある。 heapqを用いた方法 こちらを用いて実装する方が多いと思う。でもめちゃくちゃ使いづらくないですか? これ…

逆パームレストを自作した

はじめに 薄すぎるMagic Keyboard 底上げ板を自作 サイズを決定する ものを購入 作成 逆パームレスト はじめに たまには日記のようなことを書いていこうと思います。 最近キーボードの配列をJISからUSに変更しました。 ためしに3日間使ってみようという感じ…

【具体例つき】scikit-learnを改変しよう ~改変版のinstall方法と改変に必要な知識のリンク集~

はじめに この記事を読むことで、scikit-learnの中身のコードに改変を加えることができるようになることを期待している。改変に必要な知識も学習できるようリンクを用意してある。そして改変を加えたコードをpipで管理する方法も示した。 最後には具体例とし…

読んだ本のレビュー データサイエンス編

この記事は? レビュー パターン認識と機械学習 上 Pythonではじめる機械学習 ゼロから作るDeepLearning scikit-learnとTensorFlowによる実践機械学習 直感DeepLearning 詳解ディープラーニング TensorFlow・Kerasによる時系列データ処理 Pythonデータサイエ…

RNNを用いた正規分布の回帰 keras実装

概要 時系列の1時刻後の分布を推定した パラメーターが時間に依存する正規分布を仮定した ニューラルネットが正規分布のパラメーターを学習できるように適切な損失関数を導入した 概要 問題意識 データと今回の目的 データ 目的 仮定 モデル 損失関数 結果 …

特徴量選択の今とこれから

特徴量選択とは 特徴量選択の難しさ 特徴量選択の手法の大別 教師ありの特徴量選択 filter method 単変量とクラスラベルの関連性を上げる 関係性を上げて冗長性を下げる 関係性を上げて多様性を上げる wrapper method Forward SelectionとBackward Eliminati…

QRNN ニューラルネットを用いた分位点回帰

概要 条件付き分布の分位点を推定するNeural Networkを紹介する そのアイデアは既存のNeuralNetに対して損失関数を変えるというシンプルなもの 人工データを用いてちゃんと推定できていそうか確認した 目次 概要 目次 分布推定の重要性 点推定の問題 点推定…

ランダムフォレストと検定を用いた特徴量選択手法 Boruta

特徴量選択(Feature Selection, 変数選択とも)はデータサイエンスにおいて非常に重要である。 Kaggle等のコンペティションではひたすら判別の精度を重要視するが、実務上どうしてそのような判別をしたのかという理由のほうが大事である. このBorutaという手…

pickleより楽にpythonオブジェクトを保存する方法

この記事で言いたいこと import pickleしてwith openをいちいち書くのめんどくさくない?。pandas.to_pickleやpandas.read_pickleを使えば楽。DataFrame以外のものも保存できる。 この記事で言いたいこと はじめに データの用意 pickleをimportしてwith open…

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

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

脳波を可視化してみた

概要 脳波を色を使って可視化してみた。 脳波を採取するのには、Mindwaveを用いた amzn.asia 可視化には、Nanoleaf Auroraを用いた amzn.asia 具体的には行動によって変わる時系列としての脳波を、光の系列で表現した。 概要 脳波と表現の説明 脳波とは 結果…

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

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

時系列データでVariational AutoEncoder keras

はじめに 前回の記事で時系列入力に対するオートエンコーダーを組んだ。 aotamasaki.hatenablog.com 今回は潜在変数を正規分布に押し込むというVariational AutoEncoderを組んでみた。CNNとVAEを組み合わせる記事は割と見つかるのに、RNNとなったとたん見つ…

時系列データを使ってオートエンコーダー 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近くあ…

Google流 資料作成術を読んで

ここで書くことは? 日本実業出版社から出版されている、"Google流 資料作成術"を読んだので、自分が気をつけておく点をまとめておく。 ここで書くことは? コンテキスト(文脈,背景)を理解する 心持ち 資料を作り始めるまえに 表現を選ぶ 不必要な要素を取り…

またまた、LightGBMのインストールでエラーが出た

事件の発生 LightBGMというライブラリを公式の手順に従ってインストールしようとしたらエラーメッセージが突如現れた。 github.com これのmacOS Apple Clang(9.0 or higher)に従ってインストを行ったらエラーが出た。 どんなエラーがでたか インストレイショ…

ハンズオンUMAP

はじめに なぜ、あとからサンプルを布置できると嬉しいのか? ドキュメントにそって インストール データの概要 訓練とテストに分割 訓練データで空間を学習 この潜在空間で学習 テストデータの潜在空間への布置 テストデータへの汎化性能 まとめ はじめに U…

LightGBMのインストールのエラーに戸惑った話

事件の発生 LightBGMというライブラリを公式の手順に従ってインストールしようとしたらエラーメッセージが突如現れた。 github.com またインストールするときにスムーズに行くように記録を残しておく。 環境はmacOS Sierra 10.12.6 どんなエラーが出たか $ c…

Jupyter notebookで変数一覧を常に出す方法

はじめに 変数一覧を出す方法 おわりに はじめに RStudioやMATLABを使ったことのある方ならわかると思うが、今扱っている変数を一望する機能がある。 RStudioならばこんな感じ。 RStudioならGlobal Environmentと書いてあり、MATLABならばWorkspaceと書いて…

PythonでForward Selection (mlxtend)

背景 Sequential Feature Selector まず、forward selectionを行ってみる。 sequential feature algorithms (SFAs) 1. Sequential Forward Selection (SFS) 2. Sequential Backward Selection (SBS) 3. Sequential Forward Floating Selection (SFFS) 4. Seq…

imbalanced-learnを実際に使った分析例 使わない場合と比較

はじめに データの説明 分析の流れ 分析 1. どういう判別器を用いたら良いか。 2. 変数選択をする。 3. imblearnでオーバーサンプリングとアンダーサンプリングを行う。 4. インバランスを考慮しなかった場合と性能を比較する。 5. 分析結果 まとめ

imbalanced-learnの機能の紹介

はじめに imbalanced-learnとは 動機 やること 参考 機能の紹介 インストール 2.2.1 サンプルのでっち上げ(オーバーサンプリング) 普通のSMOTE ボーダーラインSMOTE SVM SMOTE ADASYN 3.2.2 クリーニングアンダーサンプリングテクニック(データの削除) 3.2.2…

変数選択(Feature Selection)の実装と改善の確認

はじめに 実験設定 目的 用いるデータ 用いる変数選択手法 用いる判別器 評価指標 行わないこと データを少し見てみる すべての特徴を用いた場合 Filter Method 目視により選択 sklearn.feature_selection.SelectKBestによる選択 Wrapper Method sklearn.fea…

目的地に案内してくれる魔法の帽子 Gogoal cap

要約 はじめに 問題意識 完成品 システムの概要 入力&音声認識 目的地検索&センサーデータ取得 出力 実際につかってみる 要約 振動で目的地の方向を教えてくれる帽子を作ったよ 音声認識で場所を検索するよ GPSや地磁気センサーで場所と向いている方向を取得…

変数選択(Feature Selection)手法のまとめ

説明変数がめちゃくちゃ多いデータを扱うことになったので変数選択が重要なんじゃないかと思って調べたところまとまっている記事を見つけました。要約して翻訳してここに置いておきます。 追記:更に踏み込んだ話を記事にしました。 aotamasaki.hatenablog.co…