Kaggle を始めた
競技プログラミングを始めた
競技プログラミングのサービスの一つであるAtcoderを始めた。 普段C++、C#、Pythonを書くのだが、効率的なアルゴリズムを勉強したことがなかった。 いい機会なので、競プロで学ぶことにした。 そこで、まず参考にしたのが蟻本(プログラミングコンテストチャレンジブック [第2版] ~問題解決のアルゴリズム活用力とコーディングテクニックを鍛える~ )と、プログラミングコンテスト攻略のためのアルゴリズムとデータ構造。 これらの本を参考にしつつAtcoder beginner challengeを土曜日の都合が合う日は出ることにした。C問題までは解けるが、D問題が効率的な計算量で実装することができずに、TLE(時間オーバー)になることが多い。今後は、アルゴリズムとデータ構造について学んでいきたい。
はじめてのゲーム理論 (ブルーバックス)を読んだ
概要
- はじめてのゲーム理論 (ブルーバックス)を読んだ
- ゲーム理論はGANで出てくるので気になっていた
- 二人のプレイヤーにおける損得の考え方が現実世界でも非常に有用な考え方である
レビュー
なんで読もうと思ったか
GANの論文を読んでいると、「ディスクリミネータとジェネレータがナッシュ均衡になると嬉しい」というような説明をよくみる(Improved Techniques for Training GANs)。 AAAI2019でポーカーAIについてゲーム理論的な観点から深層学習モデルを作成した研究発表され、不完全情報ゲームにおいてもAIがプロのプレーヤーに勝つ事例が示された。 これらの事例からゲーム理論を学ぶ機運が高まった。
シビュラシステム完全理解太郎になった
概要
深層学習を利用した犯罪予測に関する論文を調査した
- 空間方向と時系列方向の組み合わせが有効
- RNNとCNN を組み合わせる
- 入力を分けて特徴量空間で組み合わせる
- RNNの中に空間方向の特徴抽出をする機構入れる
- 従来の機械学習手法より高精度
- グリッド化が常套手段
- CNNに持って行きたいのでグリッド化して画像のように扱う
- (感想:Graph CNNが今後増えてくる可能性がある)
- マルチモーダル学習
- 犯罪のデータの他、気象や町並みの写真を入力にした学習手法が多い
シカゴ市警の犯罪予測システム
Hunchlab
深層学習を利用した犯罪予測研究の紹介の前に、既存の犯罪予測システムであるシカゴ市警の例を紹介する。 シカゴ市警に導入されているのは、Hunchlabというシステムで、ベンチャー企業Azavea社が開発している。過去の犯罪データの他、1日内の時間や季節ごとの周期、天候や地域経済など様々な要因を入力し犯罪を予測することができる。
手法
どうやって犯罪を予測するのかというと、2014年の資料や、こちらの資料を参照すると、勾配ブースティングを用いているようだ。 データを規則正しいグリッドに整形し、その各グリッドにて犯罪が発生しそうか否かを分類するような手法である。
読んだ論文
Forecasting Crime with Deep Learning
- RNNとCNNを組み合わせて犯罪量の予測を行った初めての論文
- 過去の犯罪のデータの他に、気象データとかのその他の要因を組み合わせた初めての論文
- 次の日の犯罪量予測を行うことができる手法を提案した初めての論文 (論文内の主張であるため本当に初めてなのか不明)
Examining Deep Learning Architectures for Crime Classification and Prediction
- 過去の犯罪マップを入力し、犯罪のhotspot(ヒートマップ)を作成する層設計
- 犯罪マップはグリッド化されると画像と同様に扱えるので、画像のセグメンテーションのようなことが可能
Prediction of crime occurrence from multi-modal data using deep learning
- 犯罪発生予測をマルチモーダルデータで学習させた
- 空間、時系列、コンテクストのデータを特徴量空間でくっつけて犯罪発生を学習させる
- コンテクスト情報にGoogle Street Viewを作った
PREDICITVE ANALYSIS OF CRIME DATA USING DEEP LEARNING
- とある地点の一月に発生する犯罪数を予測したいという手法
- ピュアなLSTMで時系列データを学習 (やってみた系論文)
Deep Learning for Real Time Crime Forecasting
- リアルタイムで犯罪の発生を予測する
- ピュアな犯罪データだけで学習するステップと* 犯罪データの他の要因も入力して学習するステップに分けた
- 広く研究で用いられているシカゴのデータではなく、ロサンゼルスのデータで学習〜予測を行った
Grid-Based Crime Prediction Using Geographical Features
- 台湾の車両盗難データを学習
- データをグリッド化し、グリッドごとにホットスポット(犯罪発生しやすい地点)か否かを学習
DeepCrime: Attentive Hierarchical Recurrent Networks for Crime Prediction
- ニューヨークの時系列犯罪件数データから犯罪将来予測
- RNNを段階的に学習させる
- 各段階では空間方向の特徴抽出も行う機構を入れる
- 既存の深層学習手法を超える結果
AtCoder Beginner Contest 124
解けた問題
・A問題
・B問題
・C問題
何もわからん問題
・D問題