このリポジトリは機械学習や統計分析のデモです。機械学習や統計学の手法を用いて、データの予測や分類を行います。また、kaggleコンテスト入賞時のデータ分析も掲載しています。 実装とともに、手法の妥当性などについて考察も書いています。
使用している手法リスト:
- 線形回帰
- 一般化線形回帰
- SVM、Randomforest
- Prophet
- Autoencoder
- fastFM
- Chi-square Test
- sequential ab test (from Netflix)
以下、各ディレクトリに格納されているプロジェクトの説明です。
Prophetを使用して、休日や季節変動のある和菓子の売り上げについて、売り上げ予測をしています。
カリフォルニアデータセットをもとに線形回帰から、重回帰分析までを行います。
一般化線形回帰から、ランダムフォレストやSVMまでを使用して、クリック数とデザイン要素の関係を調べます。
keras、pytorchを使用しています。
SVMは非線形なデータを線形分離できる手法ですが、スパースなデータセットに対して不得意です。SVMの利点と因数分解モデルを組み合わせて、スパースなデータセットにも性能を発揮するのがFastFMです。 このプロジェクトはFastFMを使用して、アニメのレコメンドを行う実装です。
fastFMを使用してアニメのレコメンドを実装します。DatasetはKaggleよりダウンロードします。
参考文献とライブラリソースコード
カイ二乗検定を使用したA/Bテストの簡単な例です。
頻繁にデプロイされるソフトウェアをテストするためには、固定された時点での比較ではなく、継続的に、任意の時点での比較ができる必要があります。 これを行うための手法が"Sequantial A/B testing"と呼ばれる手法。この手法をカイ二乗検定との比較しながらその性能を見ていくプロジェクトです。
参考
- sequential-a-b-testing-keeps-the-world-streaming-netflix-part-1-continuous-data
- paper; Rapid Regression Detection in Software Deployments through Sequential Testing
CTRを改善するためにアリババ社で使用されているDIN Deep Interest Network for Click-Through Rate Prediction
- ユーザの特定の広告の履歴行動から、ユーザの関心を適応的に学習してベクトル表現を与えるローカルアクティベーションユニットを構築
- 上記のベクトル表現を広告ごとに異なるものにすることで、ユーザの興味関心を幅広く捉えて、モデルの表現能力を豊かにしている
- さらにこのDINにおいて使用される数百まんの学習パラメータを学習するための工夫も行っている
参考文献:
作成中です。botと人間のアクセスログの比較を行い、自動分類するモデルを作成する予定です。
参考文献:
- Prediction using wiki views
Kaggleコンペでは、Prophetを使用して、季節やイベントの影響を受けるデータの時系列分析を行ったので、その続編。項目数が多く、項目間に強い相関がある性質のデータセットに対する時系列分析も行う予定です。 手法の候補としてはiTransformerなどを想定しています。