Confident Learning -そのラベルは正しいか?-
これは何?
ICML2020に投稿された Confident Learning: Estimating Uncertainty in Dataset Labels という論文が非常に面白かったので、その論文まとめを公開する。
論文 [1911.00068] Confident Learning: Estimating Uncertainty in Dataset Labels
超概要
- データセットにラベルが間違ったものがある(noisy label)。そういうサンプルを検出したい
- Confident Learningという方法を提案。現実的な状況下でSOTAを達成
- PyPIに実装を公開済みですぐに使用可能(
pip install cleanlab
)
目次
- これは何?
- 超概要
- 目次
- 私感
- 論文の概要
- Class-conditional classification Noise Process
- Confident Learningの概要
- 入力
- 出力
- CLの処理
- 同時分布Qの推定
- Cを作るカウント方法
- Qへの正規化
- データクリーニング
- 実験結果
- 同時分布Qをうまく推定できているか
- Noisy Labelを検出できているか
- 他手法との比較
- まとめ
- 参考
めぐる式二分探索 コピペで使えるPython実装
- はじめに
- めぐる式二分探索のメリットと参考文献
- コピペ用
- 例題
はじめに
AtCoderで二分探索を実装するときバグらせないように考えると結構時間かかりませんか?自分はかかります。
競技プログラミング界隈ではめぐる式二分探索という二分探索の書き方(流派?)があり、使いやすい、バグりにくくなど様々なメリットがあります。
Python実装を公開しているブログはパット見、見つからなかったのでおいておきます。使用例もおいておきます。
めぐる式二分探索のメリットと参考文献
めぐる式二分探索を使うメリットとして以下があげられます。
- 配列化できない関数を探索可能 (bisectモジュールでは不可)
- バグりにくい (終了状態がきちんとしている)
- ライブラリとして扱うことが可能で実装が高速化される
- 思考リソースの消耗を防げる (条件を満たすかそうでないかだけ考えれば良い)
螺旋本を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 Numbers
- P441 ALDS1_1_B: Greatest Common Divisor
- P445 NTL_1_B: Power
- 19章 ヒューリスティック探索 (省略)
- 終わりに
螺旋本をPythonで解く Part3
- はじめに
- 14章 高度なデータ構造
- 15章 高度なグラフアルゴリズム
- P336 GRL_1_C: All Pairs Shortest Path
- P342 GRL_4_B: Topological Sort
- P348 GRL_3_A: Articulation Point
- P353 GRL_5_A: Diameter of a Tree
- P358 GRL_2_A: Minimum Spanning Tree
- 16章 計算幾何学
- P384 CGL_1_C: Counter-Clockwise
- P387 CGL_2_B: Intersection
- P398 CGL_3_C: Polygon-Point Containment
- P401 CGL_4_A: Convex Hull
- P405 CGL_6_A: Segment Intersections: Manhattan Geometry
- つづく
螺旋本を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 ALDS1_8_C: Binary Search Tree 3
- 10章 ヒープ
- P234 ALDS1_9_A: Complete Binary Tree
- P236 ALDS1_9_B: Maximum Heap
- P240 ALDS1_9_C: Priority Queue
- 11章 動的計画法
- P249 ALDS1_10_A: Fibonacci Number
- P253 ALDS1_10_C: Longest Common Subsequence
- P257 ALDS1_10_B: Matrix Chain Multiplication
- 12章 グラフ
- P269 ALDS1_11_A: Graph
- P273 ALDS1_11_B: Depth First Search
- P282 ALDS1_11_C: Breadth First Search
- P287 ALDS1_11_D: Connected Components
- 13章 重み付きグラフ
- P296 ALDS1_12_A: Minimum Spanning Tree
- P302 ALDS1_12_B: Single Source Shortest Path 1
- P309 ALDS1_12_C: Single Source Shortest Path 2
- つづく