ブックマーク / qiita.com/tn1031 (1)

  • 機械学習アルゴリズムのボトルネックをCythonで改善する話 - Qiita

    この記事について Pythonを速くする方法について語ります プロファイリングによってCPUバウンドな処理のボトルネックを見つけます 見つけたボトルネックをCythonで改善します はじめに 先日Bayesian Personalized Ranking (BPR)というレコメンドアルゴリズムを実装しました。 こちらの論文の式を参考にコードを書いてみたのですが、実行してみたらちょっと遅すぎて使えなかったため、処理速度の改善に取り組みました。 その時に試したことを備忘録的にまとめます。 この記事で用いる手法とコード BPRはユーザ x アイテムの行列の行列分解を与えます。 ユーザ x アイテムの行列$X$を、ユーザ x ファクターの行列$U$とアイテム x ファクターの行列$V$に分解します。 この問題をどのように解くかはBPRの元論文をご覧ください。 この手法を以下のように実装しました。$

    機械学習アルゴリズムのボトルネックをCythonで改善する話 - Qiita
  • 1