One-Hot エンコーディング/疎行列/コサイン類似度/協調フィルタリング/共起
病院施設基準のデータ分析をGemini先生と対話している中で分からない単語を調べているときの覚書。
Gemini 3 Pro Previewと対話。
機械学習(特にレコメンデーションシステム)の基礎。
One-Hot エンコーディング
データベース上の「回復期リハビリテーション」といった文字列のままでは、数学的な計算(類似度の判定など)ができない。
そこで、病院を「行」、施設基準を「列」とする巨大な表を作り、持っている場所に「1」、持っていない場所に「0」を立てる。
これで数学の問題として計算できるようになる(ベクトル化ともいう)。
参考: カテゴリデータ: 語彙とワンホット エンコーディング | Machine Learning | Google for Developers
参考: One-hot - Wikipedia
疎行列(sparse array)
疎行列(スパース行列/sparse array)とは、要素のほとんどがゼロで構成される行列。
One-Hot エンコーディングを行うと「0」ばかりの巨大な行列になる。
「0」をすべてメモリに乗せるのは無駄なので、「どこに『1』があるか(行番号, 列番号)」だけを記録する形式をCSR形式(Compressed Row Storage)と呼ぶ。
参考: 疎行列 - Wikipedia
コサイン類似度(Cosine Similarity)
2つのベクトル(矢印)が、どれくらい同じ方向を向いているかを測る指標。
まったく同じ方向を向いているときに最大値1になるのでコサイン(cos)を使う。
サイン(sin)とタンジェント(tan)は0になる。
参考: コサイン類似度 - Wikipedia
ちなみにサインは(sin)は「どれくらい離れているか(距離)」。
タンジェント(tan)は傾き
を計算するときに使う。
協調フィルタリング(Collaborative Filtering)
「あなたと似た人は、これも持っています」という推薦アルゴリズム。
Amazonの「この商品を買った人はこんなものも買っています」や動画サイトの「おすすめ」機能などで広く使われている。
あるユーザと嗜好の類似した他のユーザの情報を用いて自動的に推論を行う方法論。
参考: 協調フィルタリング - Wikipedia
共起(Co-occurrence)/共起頻度/信頼度(Confidence)
アソシエーション分析(association analysis: 一緒に起こる『意外な組み合わせ』を見つける分析)の中で使われる指標。
バスケット解析は、アソシエーション分析の一種。
参考: Association rule learning - Wikipedia
参考: バスケット解析 - Wikipedia
共起(きょうき)とは、ある単語と別の単語が、同じ文脈や文章中で一緒に現れることを指す用語。
共起頻度は2つの事象が一定の範囲内で出現する確率。
- 支持度 (Support): 基準Aと基準Bを両方持っている病院の数。
- 信頼度 (Confidence): 「基準Aを持っている病院のうち、何%が基準Bも持っているか」。