サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ブラックフライデー
qiita.com/grouse324
この記事では、推薦システムにおける多様性の問題と、それを解決する手法の一つであるDeterminantal Point Process(行列式点過程)について解説します。まずDPPの理論的な概要を説明し、その後推薦システムへ適用した論文を紹介します。 導入 推薦の多様性とは何か 近年の機械学習関連技術の発達により様々な驚くべき機能が実現されていますが、その主な活用先の一つに「推薦システム」があります。 推薦システムはAmazonやYouTubeに代表されるように、商品や動画などのコンテンツ情報と、ユーザのこれまでの行動履歴を元に、大量にあるアイテムの中からユーザが興味を持ちそうなアイテムを選び取るようなシステムです。うまい推薦システムを構築すれば、ランダムなアイテムや共通のランキングを提示するよりもユーザの興味を引く確率が高まり、売上等にも大きく貢献できるということで、多くのWebアプリケ
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? プロローグ ※この章は読み飛ばしても構いません 多くの人が挑むも解くことが叶わなかった人類史上の難問といわれるものがいくつかある. 数学界で最も有名な難問といえばおそらく「フェルマーの最終定理」であろう.弁護士であり数学者であったフェルマーが「解答を書くにはこの余白は狭すぎる」と書き残してこの世を去って以来,天才ワイルズが現代数学の成果を結集して証明を完成させるまで300年以上も数学者たちの挑戦を退け続けた.その他にも,京都大学の望月教授が宇宙際タイヒミュラー理論を用いて証明したといわれるABC予想や,7つのうち6つが現在も未解決である
この記事では,検索しても意外と解説が少なかったLRUキャッシュとLFUキャッシュをPythonで丁寧めに実装していきます.特にLFUキャッシュが厄介なのでそちらがメインです. キャッシュとは ざっくり言うとキャッシュはよく使うデータを取り出しやすい場所に一時的に保存しておくものです.メモリ上のデータは参照される頻度に差があるので(時間的,空間的局所性など),よく参照されるデータをキャッシュに入れておくことでデータアクセスが高速になります.現代のコンピュータにはまさに必須の構造です. キャッシュに蓄えられるデータは多くはないため,どのデータを置いておくかというのは重要な問題です.容量いっぱいのキャッシュに新たな要素が入ってきたとき,今保持しているどの要素を捨てるかという選択に関して,最も基本的なものが以下の2つです. LRUキャッシュ: Least Recently Used. 直近に参照し
のようになります.基本的なルールは以下のようなものです. 各時刻で買う操作と売る操作のどちらかを行うことができる(何もしなくても良いが両方同時刻にはできない). 買う前に売ることはできない 買う操作と売る操作は交互にしなければならない(買う→売る→買う→売る...としなければいけない). ある時刻に株を買えばその時刻での株価が持ち金から引かれ,ある時刻に株を売ればその時刻での株価分のお金を得ることができる. 最初の持ち金は0.持ち金は0以下になってもよい. 最終的な持ち金の額を最大化したい. あらかじめ各時刻の値段がわかっていればすぐ計算できそう感じもしますが,問題が複雑になればそう簡単にはいきません.条件の違いによって様々なパターンがあるので,この記事ではそれを一挙に紹介します. Case 1: 1回だけ売り買いできる場合 まず,最も基本的な場合として,買う操作と売る操作を1度ずつしかで
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? はじめに コーディング面接というものをご存知でしょうか? コーディング面接とはGAFAなどをはじめとする海外のTech系企業などで広く行われている面接で,データ構造やアルゴリズム,システムデザイン等の知識を問うものです. 面接 - Google Googleで行われるようなコーディング面接は, 45分程度の時間内に データ構造やアルゴリズムの基礎に関する問題を 面接官と話し合いながら(多くの場合英語で) ホワイトボードにコードを書いて解く といった特徴があります. データ構造とアルゴリズムの問題自体は,Cracking Coding I
このページを最初にブックマークしてみませんか?
『@grouse324のマイページ - Qiita』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く