HANAUTA

ハナウタがでるくらいのワクワクを♪ アプリ開発会社のハナウタです

【メモ】「科学が創る出会い」人工知能によるマッチングシステム

こちらのセミナーに参加してきました。

atnd.org

 

(箇条書きのメモですので、文字だけだと不明な部分も多いです)


 

f:id:HANAUTA:20181030104748j:plain

 

 

・講演者プロフィール
木田 昌宏 氏
機械学習エンジニア・データサイエンティスト


・今日の話
人-モノ-情報 をつなげる

 

・マッチングとは
モノの特質と人の特質を紐付けること

 

・似合う
出会う→似合う(フィットする)

 

・レコメンドとマッチング
ほぼ同じ
最終的な決定をユーザーに委ねるかどうかの違い

 

・マッチングシステム
結局、その人の選択が基礎になっている
履歴を元にしている

 

・伝統的な理論
協調フィルタリング:行動履歴をもとにする
内容ベースフィルタリング:特質をもとにする
一般的には:ミックスが多い

 

・機械学習とデータサイエンスはちがう
データサイエンスはデータの可視化
大事なのは観点
データをもとにシステムを作るのが機械学習

 

・数学的な方法は2つ
コサイン類似度:特質が似ているものをマッチング
相関係数:異質をマッチング、ただ異質の定義はサービスによる

 

・機械学習で出来ることは3つ
分類:何かと何かを分ける
回帰:何かをもとに線引をする
生成:何かを作る

 

・具体例1
stitch fix
モノ(服)と人(ユーザー)のマッチング
人(スタイリスト)と人(ユーザー)のマッチング

 

・具体例2
youtube
「あなたへのおすすめ」というコーナーがある
ディープニューラルネットワークを用いた推薦システム
人(ユーザー)の特徴と情報(曲)の特徴を結びつける
特徴をベクトル化することがポイントになってる

 

・特徴の捉え方は2つ
ベクトルで捉えるか
スカラで捉えるか(IDもフラグもスカラ)

 

・人工知能
1つのCPUでは限界があった
並列処理技術が進歩して、複数のPCをつなぎあわせることができた
そして、人間の脳に近いことができるようになった

 

・機械学習がGPUを使う理由
ベクトル演算に適しているから
機械学習の内部はベクトル演算をしているだけだから

 

・現実問題
理想は、全ての情報をベクトル化して保存すること、でもそうすると人間が見て判断できない
実際は、スカラ(フラグなどの値、特徴タグ付け)が必要

 

・マッチング方法(仮にAとBのマッチング)
Aと似たものをつなげる
Aの特質でつなげる
×
Bの特質で分類する
Bの特質で回帰する

 

・で、何がいいの
履歴データをもとに分類×属性データをもとに回帰

例)20歳の女性とメールしている→20代女性が好きな人と分類
特質(年齢)ををもとに、

 

・アルゴリズムは万能じゃない
全てを解決できるアルゴリズムはない
どちらかというと、データの前処理が大事
その「特性」をどう定義するか、が重要

 

・個別最適と全体最適
八方美人だとみんなとマッチングして、競争率が高くなり、マッチングしない問題
その場合、「許容量」という値を設定してはいる