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

主に機械学習に関する覚書や情報の整理

クリックレートやコンバージョンレートといった二項母集団の母比率の信頼区間 精密法のPython実装

前提 データ 求めたいもの 実装 確認 前提 本記事ではクリックレート(CTR)やコンバージョンレート(CVR)といった二項母集団の母比率について信頼区間を計算するPython実装を与える。データ数が少ない状況においてはCTRやCVRだけではなく、その不確実性も考慮…

病気に備える保険にはいつ加入すべきか? 罹患の累積確率と許容リスクから考える

背景 早速結論 なぜ保証内容と加入タイミングを考えるのか 何を保証すべきか? いつから保険に加入すべきか? further investigation is needed まとめ 背景 保険には入っておいたほうが良いとは聞くが、商品は膨大で何を保証すべきか、いつ入ればいいのかな…

intel macbookでスリープ中に電源が切れる問題とその解決方法

概要 エラーメッセージ 解決方法 参考 概要 Intel CPUのMacbook proの電源を切った覚えがないのに、蓋を開けると電源の付く音が流れることが数回発生した。しかも決まって前回は異常終了したという警告。 そこで原因を調べ、暫定的な解決法をここにメモをす…

iDeCoを使用する上での注意点 ~利益を最大にするために~

概要 本記事では以下の内容について述べている。自分のメモ代わりの意味合いが大きいが、興味のある方はぜひご付き合いください。 iDeCoの概要 iDeCoのデメリット 会社員はどう活用すべきか (いろいろケーススタディなども行ったがごちゃごちゃして主張が不…

人生最後のキーボードを購入 Ultimate Hacking Keyboard (UHK 60 v1)

Ultimate Hacking Keyboard とは 一週間使ってみた感想 打鍵感について 独自機能について 静音化 注文してから届くまで 注文方法 届くまで 開封から設定まで 最後に Ultimate Hacking Keyboard とは 最近購入した最高のキーボード。もうほかのキーボードは買…

AtCoderでCythonの力を開放する魔術詠唱

概要 以下のformatをPythonで提出すればいい mycode = r''' # distutils: language=c++ # cython: language_level=3, boundscheck=False, wraparound=False, cdivision=True {ここにcythonのコードを書く} ''' import sys import os if sys.argv[-1] == 'ONL…

AtCoderでPythonが再帰に弱い問題をどうにかしたい

概要 目次 概要 背景 解決法 速度比較 PythonとPypyの回答 Cythonの回答 Cythonを使いやすく 今回のオチ まとめ 本記事の貢献 Python, Pypy, Cythonにおける再帰関数の速度比較 cythonをscript感覚で動かすコマンドの作成 (stackで書き換えるのが一番早かっ…

githubやnoteでもTeXの数式を書くぜ

この記事は何? 使い方 作成のモチベーション 関連するツール まとめ この記事は何? これを作った↓ https://tex-image-link-generator.herokuapp.com/ これを使えば、githubのreadmeやissuesに数式を埋め込むことができる。 例えばこんなふうに。 noteやhat…

自動化で\のの/ラッシュを攻略 (毎週!いちかの超BEMANIラッシュ2020)

ののラッシュとは これ。KONAMIのリズムゲームのイベント。 カードを引くだけというカードバトルをする。 本田圭佑より勝てる。 p.eagate.573.jp カード引くのめんどくさすぎ問題 このイベントでは1日1回、特定の時間にブラウザ上で操作が必要。 いや、普通…

Mo's algorithm のPython実装 (コピペ用)

この記事はなに? Mo's algorithmについてPythonでの実装が検索に引っかからなかったので、(自分のメモも含めて)ここに実装をおいておく。 コンテストに向けてコピペで済むように心がけた。 Mo's algorithmとは? このブログにたどり着いてる時点で多くを語る…

自動化でいちかジャンケン2020を攻略

summary これ作った。 いちかジャンケンとは これ。KONAMIのリズムゲームのイベント。本田圭佑より勝てる。 p.eagate.573.jp じゃんけんするのめんどくさすぎ問題 このイベントでは一日三回、特定の時間にブラウザ上でじゃんけんすることが必要。 2020/06/29…

蟻本Python回答集 中級前編 (P127~P187)

はじめに AtCoder青を目指しつつデータ構造など勉強するため、プログラミングコンテストチャレンジブック [第2版] ■ (通称、蟻本)を解くことした。 せっかくなのでPythonでの解答をここに記録する。 Pythonで解答してる人のブログを漁っても初級編の途中(DP…

蟻本Python回答集 初級編 (~P126)

はじめに とうとうAtCoder水色になれた(過去問精進と夜活コンテストのおかげ)。さらなる高みを目指すべく、プログラミングコンテストチャレンジブック [第2版] (通称、蟻本)を解くことした。 せっかくなのでPythonでの解答をここに記録する。 Pythonで解答し…

Confident Learningは誤った教師から学習するか? ~ tf-idfのデータセットでノイズ生成から評価まで ~

概要 現実の判別問題において教師が完璧であることは珍しい。ラベリング作業において、知識不足や勘違いなどで引き起こされるヒューマンエラーはデータセットを汚染する。 このような間違った教師のことを、noisy label (corrupted label や polluted label…

Confident Learning -そのラベルは正しいか?-

これは何? ICML2020に投稿された Confident Learning: Estimating Uncertainty in Dataset Labels という論文が非常に面白かったので、その論文まとめを公開する。 論文 [1911.00068] Confident Learning: Estimating Uncertainty in Dataset Labels 超概要…

らくらくp進全探索 コピペで使えるPython実装

何をしたか? 連続するp進数を次々返してくれるiteratorを実装しました(といっても標準ライブラリにラップしただけ)。 例えば、3桁の3進数だったら000, 001, 002, 010, 012 ..., 222 というものを次々に返してくれます。 実際には桁ごとにリストの1要素を構…

降順リストに対するbisectの実装 list.sort(reverse=True)に対する配列二分法

はじめに Pythonにおいて、降順リスト向けの配列二分法アルゴリズムを実装しました。 使用するメリット コピペで標準ライブラリに準拠した動作をします。 標準ライブラリと異なり、降順リストを扱います。 昇順リストに変換し直す計算量と、昇順のidxを降順…

めぐる式二分探索 コピペで使えるPython実装

はじめに めぐる式二分探索のメリットと参考文献 コピペ用 例題 はじめに AtCoderで二分探索を実装するときバグらせないように考えると結構時間かかりませんか?自分はかかります。 競技プログラミング界隈ではめぐる式二分探索という二分探索の書き方(流派…

螺旋本を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データサイエ…