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

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

2019-01-01から1年間の記事一覧

螺旋本をPythonで解く Part4

はじめに 17章 動的計画法 P412 DPL_1_A: Coin Changing Problem P416 DPL_1_B: 0-1 Knapsack Problem P421 DPL_1_D: Longest Increasing Subsequence P425 DPL_3_A: Largest Square P428 DPL_3_B: Largest Rectangle 18章 整数論 P436 ALDS_1_C: Prime Numb…

螺旋本をPythonで解く Part3

はじめに 14章 高度なデータ構造 P318 DSL_1_A: Disjoint Set: Union Find Tree P324 DSL_2_C: Range Search (kD Tree) 15章 高度なグラフアルゴリズム P336 GRL_1_C: All Pairs Shortest Path P342 GRL_4_B: Topological Sort P348 GRL_3_A: Articulation P…

螺旋本をPythonで解く Part2

はじめに 8章 木 P188 ALDS1_7_A: Rooted Trees P193 ALDS1_7_B: Binary Tree P198 ALDS1_7_C: Tree Walk P203 ALDS1_7_D: Reconstruction of the Tree 9章 二分探索木 P209 ALDS1_8_A: Binary Search Tree 1 P214 ALDS1_8_B: Binary Search Tree 2 P217 ALD…

螺旋本をPythonで解く Part1

はじめに 2章 アルゴリズムと計算量 P46 ALDS1_1_D: Maximum Profit 3章 初等的整列 4章 データ構造 P82 ALDS1_3_A: Stack P87 ALDS1_3_B: Queue P95 ALDS1_3_C: Doubly Linked List P114 ALDS1_3_D: Areas on the Cross-Section Diagram 5章 探索 P119 ALDS…

中心極限定理による分布収束のアニメーション 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という手…