SlideShare una empresa de Scribd logo
1 de 84
Descargar para leer sin conexión
徐 聖博
第1回
メドレー読書会
1
• 名前
• 徐 聖博(じょ せいぼ)
• 2014/04∼2015/06
• グリー株式会社
• 2015/07∼
• 株式会社メドレー
• 2014/04∼
• ターゲットスポーツ
• 保有資格
• ダーツプロライセンス
• 大学院時代の研究
• 人工知能(進化計算)
• ICML RLCompetition 1位
自己紹介
2
http://2013.rl-competition.org/results
• この本を交代で読む
• 絶賛発表者募集!
• 人がいなければ、徐が全
部やる(極力避けたい)
• よろしくお願いします。
3
今回のテーマ:機械学習
読書会スタート!
4
• 特集1:概要、歴史、なぜ注目されたいのか?
• 機械学習を使いたい人のための入門講座
• 特集2:期外学習の手法の中身を知る
• 機械学習の基礎知識
• その他:
• 雑談1)ジョブメドレーにおける推薦システムについて
• 雑談2)ジョブメドレーにおける売上予測
• ex1)クラスタリングアルゴリズムを実装してみよう
• ex2)外れ値検出をしてみよう!
本日のメニュー
5
6
特集1
概要、歴史、なぜ注目されるのか
機械学習を使いたい人の
ための入門講座
第1章
機械学習の概要
本当に使うための理解
7
• コンピュータが計算処理によって学習すること
• 「何から」、「何を」学ぶのかが重要
• 「データの集合」から「その法則」を学ぶこと
• データ分析においては下記のようなことを知りたい
• 入力と出力の因果関係(そのそもあるのか否か)
• 複数のカテゴリを分類したい
• 似たもの同士をまとめたい
• 異常な場所(場合)を発見したい
機械学習とは
8
例:入力と出力の因果関係
9
COL
バグの数
比例関係???
複数のカテゴリ分類をしたい
10
COL
ファイル
の数
良いコード
ダメコード
良いコード・ダメコード
似たもの同士をまとめたい
11
?
どっちでしょう?
異常な場所(場合)を発見したい
12
© Martin Handford
異常な場所(場合)を発見したい
13
© Martin Handford
データの法則を見つけるまでには
14
• 生のデータから特徴ベクトルへ変換する
• 専門知識に基づく、ドメイン知識を活かし、関係有りそう
な要素を取り込む
• (例)ダーツのうまさの場合:
[身長、体重、年齢、ダーツの値段]
• 学習アルゴリズムの適用
• 外れ値の検出、分類等の法則を見つけていく
機械学習を使う利点
15
• 機械学習を使わないで法則を決めると下記のような
固定したルールを決めることになる
• 高価なダーツを使うとダーツがうまい
• 体重が重いほうがダーツがうまい
• 年齢が高いほうがダーツがうまい
• これではあまりに例外が多く、見逃しや誤検知を削
減するための細かいルールを追加する必要がある
➡ 人間には難しいタスクで、効率が悪い
学習のプロセスとモデル
16
• モデル
• 学習の結果得られた法則性を表すもの
• 適用するアルゴリズムごとに異なる
• プロセス
• データを与えられて、モデルを特定していく過程
• ロジック理解が、機械学習を使いこなすポイント
第2章
機械学習の歴史と今後の応用例
人工知能ブーム、機械学習の発展、
深層学習(Deep Learning)
17
時系列で見る機械学習手法と応用の進化
18
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
第3章
データサイエンティストのための機械学習
注目を浴びる理由と実用に向けたハードル
19
なぜ今機械学習が注目されるのか?
20
• データの膨大化
• デバイスの発達による、データ収集機会の増大
• ネットワーク・ストレージの高密度化・低価格化
• 潜在的価値への関心
• 人間で処理しきれない高次元のデータが多い
• 周辺ソフト整備による業務プロセスの低コスト化
機械学習の実用化までのハードル
21
• 充分な精度があること
• ドメイン次第で人間と同等の精度が要求される
• コストが低くなること
• 運用コストが従来の人力作業よりも低くなる
• 人間にできない能力があること
• データ量や反応速度で人間を超えられる
第4章 Q&Aとまとめ
自動化、必要なデータ量、人工知能との違い
22
記載されていた質問
23
• 機械学習は自動で何でもやってくれるのか?
• 機械学習を学習するにあたって、どれくらいのデータ
があればよいのか?
• 人工知能あるいは機械学習が発展するとそのうち人間
が不要になるのか?
• 人工知能と機械学習はどう違うのか?
• 将棋ソフトやIBM Watsonや自動運転車は機械学習
でうごいているのか?
24
特集2
機械学習の中身を知る
機械学習の基礎知識
第1章
機械学習の問題設定
利用目的に合う手法を選択する
25
機械学習の大分類
26
• 教師あり学習
• 例:部屋の面積と家賃で、面積と家賃の関係を学習する
• 予測対象が数値のもの:「回帰」
• 予測対象がカテゴリであるもの:「分類」
• 教師なし学習
• 例:ホテル周辺情報で、似たホテルのグループを見つける
• 訓練データを使わずにデータのパターンを発見する
機械学習の応用例
27
• 推薦
• 膨大なアイテムの中からユーザに適したものを提示
• Amazonなどの広告システムで使われる
• 異常検出
• データの中から明らかに他と異なるものを見つけ出す
• 防犯カメラ、温度計測などで使われる
推薦システムについて(脱線1)
ジョブメドレーにおける推薦システムについて
28
ジョブメドレー(医療系求人サービス)
29
ジョブメドレーでも推薦システムが使われている
案件ページでは類似した案件を表示している
30
大人の事情により、
具体的なものは資料ではカット
主な推薦アルゴリズム
31
• ルールベース
• 協調フィルタリング
• ユーザベース
• コンテンツベース
• ハイブリット
• ベイジアンネットワーク
• 女性は赤が好き
• 男性は青が好き
➡ ルールに基いて、推薦する
➡ 例外が多すぎるため、実用性にかける
ルールベース
32
• ユーザベース
• 同じ用なユーザは同じようなもの買う
➡ 但し、大量の購入データがないとうまく学習できない
• コンテンツベース
• 似た商品をサジェストする
➡ 個人に最適化されないが、コンテンツデータがあれば大丈夫
• ハイブリット
• コンテンツベースとユーザベースのハイブリット
• 実装がちょっと激しい。。。
協調フィルタリング
33
• 条件付き確率のネットワークのようなものを構築し、
一番確率が高いものを提示
• かなり実装が激しい。。。
ベイジアンネットワーク
34
応募履歴
ユーザ情報
応募!
求人閲覧履歴
• コンテンツベースの協調フィルタリングを採用
• 検索システムで使っているElastichSearchを応用
• http://techlife.cookpad.com/entry/2014/09/24/092223
• http://nakazine.net/Entry/65
• 特徴や位置情報を元に、類似した特徴・近場の案件をオス
スメ案件としてレコメンドしている
ジョブメドレーにおけるレコメンド
35
第2章
教師あり学習
未知の情報を予測する
36
• 回帰は実数値を予測する問題
• あるサンプルが与えられた時に、そのサンプルに関する数
値を予測する予測器の作成を目指す。
回帰:実数値を予測する
37
• 線形関数で表せるモデル
• y =α0+α1X1+α2X2+…+αnXnのようなもの
• y =α+βX+γX2は、曲線であるが(1,x,x2)に対し線形
• 損失関数
• 関数最適化する過程で二乗誤差を損失関数と扱う
• 一般的には、 を二乗和として扱う
• 目的関数
• 二乗誤差の合計を目的関数と扱い、それを最小化する
• 一般的には、 と表す
線形回帰
38
イメージ
39
線形モデル
損失関数
和が目的関数
確率的勾配法
40
初期値を決めて、そこから目的関数を最小化する
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
今日からできる簡単機械学習(脱線2)
ジョブメドレーにおける売上予測
(自分が勝手にやってるだけ)
41
• 線形関数で表せるモデル(をまず決める)
•
• 損失関数
•
• 目的関数(を最小化していく)
•
確率的勾配法(確認)
42
• 偏微分
• 多変数関数に対して、1つの変数のみに関する微分
• 微分
• Xについての微分:X -> 1, X2 -> 2X,X3 -> 3X2
• これから使う偏微分
•
数学的な確認
43
1. a,bの初期値を決める。パラメータαを決める。
2. 勾配を求めて、最適化を行う
•
•
3. a,bが変化しなくなる(or規定数)まで2.を繰り返す
確率的勾配法(確認)
44
確率的勾配法(イメージ)
45
コードにすると(気持ちこんな感じ)
46
THRESHOLD = 0.001
while true do
n.times do |i|
tmp0 = 2*alpha * ((y[i] - (a * x[i] + b)) * x[i]) / n
tmp1 = 2*alpha * (y[i] - (a * x[i] + b)) / n
end
a = a - tmp0
b = b - tmp1
break if tmp0 < THRESHOLD && tmp1 < THRESHOLD
end
• 入力
• 求人に対する応募数
• 出力
• 売上(金額)
• 学習データと結果
• 過去3年分のデータを元に学習
• 応募あたりの金額がわかる、応募数から売上がわかる
コードにすると(気持ちこんな感じ)
47
• 2変数の場合
• 目的関数は以下のようになる
•
• 最適化(偏微分)するものが3つになるだけ
• 2乗とか出てきても、基本同じ
• リッジ回帰
• 過学習:訓練データに最適化し汎用性がなくなること
• 過学習に避けるため、パラメータの正則化を行う
• 目的関数(例):
2変数の場合とリッジ回帰
48
• ロジスティック回帰
• 例:リンゴの品種分類(P/Q)、X1を糖度、X2リンゴ酸含量
• スコア関数:
• 分類の確率:
• 0のときは、Pに含まれる確率1/2
• 正の方向に大きくなるほど、Pである確率が高くなる
• 負の方向に大きくなるほど、Pである確率が0に近づく
分類:カテゴリを予測する
49
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
• ロジスティック損失
• 品種Pとなるとき(y=1)の損失:
• 品種Qとなるとき(y=-1)の損失:
• 反転しているので、マイナスで相殺
• y=1とy=-1の場合で足し合わせると
•
分類:カテゴリを予測する
50
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
• ロジスティック回帰における目的関数
分類:カテゴリを予測する
51
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
• 余裕のある分類面獲得を目指す
• 画像でいうと、灰色の部分を「マージン」と呼ぶ
• マージンが最大となるように分類をする
サポートベクターマシン
52
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
• ヒンジ損失
• 関数:
• ヒンジ損失関数
•
サポートベクターマシン
53
ヒンジ損失とロジスティック損失
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
• マージン最大化
• 分類面(直線)に最も近いサンプルで、yf(x1,x2)=1となるよ
うに、w0,w1,w2が定数倍されているとする。
• この時、マージンは で表される(点と直線の距離より
• 目的関数を最小化することで、マージンの最大化を計る
• カーネル
• は線形であったが、一般
的には直線ではない
• カーネルは、サンプル間の類似度で求められるため、類似
度がわかればカーネルは使える
サポートベクターマシン
54
• 多項式カーネルとガウスカーネルを用いたSVM
サポートベクターマシン
55
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
第3章
教師なし学習
データの性質を理解する
56
K平均法
• K個のグループに分割する
• 各グループの中心を決め、各サンプルが「グループ中心が自分
と最も似ている」グループに所属するようにする
アルゴリズム
1. K個のグループ中心をランダムに選ぶ
2. 次の手順を繰り返す
I. 各サンプルの所属グループを推定する:各サンプルを、グループ中心が
そのサンプルと最も似ているグループに所属させる
II. 各グループのグループ中心を推定する:各グループに所属するサンプル
の平均値を、新しいグループ中心とする
クラスタリング:グループを見つける
57
クラスタリング:グループを見つける
58
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
混合正規分布
• K平均法は1つのサンプルに1つのデータだけ割り当てていた
• ここでは、「各グループへの所属確率」を求める
アルゴリズム
1. K個の正規分布パラメータを初期化する。各グループごと
の重みをランダムに決める。
2. 次の手順を繰り返す
I. 各サンプルが各グループに所属する確率を推定する
II. 各グループへの所属確率を使って、各グループに対する正規分布パラ
メータと、各グループの重みを更新する
クラスタリング:グループを見つける
59
クラスタリング:グループを見つける
60
ちんぷんかんぷんなので、

詳細はホワイトボードで
• 変数が少ないほうが、可視化や解釈が用意になる
• 変数が多くなると、処理が重くなったり、解釈できなるこ
とを「次元の呪い」と言ったりする
次元削減:データを要約する
61
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
• 主成分分析
• 次元削減の代表的手法
• ここでは、2次元→1次元を考える
• 下記の例では、いい例と悪い例を表している
次元削減:データを要約する
62
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
• 主成分分析の定式化
• 直線のベクトルを(w1,w2)で表す場合
の2乗和をを最小にする直線を選び、マッピングする
次元削減:データを要約する
63
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
• 特異値分解
N行M列の行列Xを、N行K列の行列U、K行K列の行列S、M行K列の行列Vに
分解し、行列Xを3つの行列の積USVT
で近似する。
特異値分解で得られたVの転置行列VT
がL(w1,w2)を最小にする(w1,w2)に当た
ることが知られている。
次元削減:データを要約する
64
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
エクササイズ(1)
K平均法を実装してみよう!
65
• K平均法
• K個のグループに分割する
• 各グループの中心を決め、各サンプルが「グループ中心が自分
と最も似ている」グループに所属するようにする
• アルゴリズム
1. K個のグループ中心をランダムに選ぶ
2. 次の手順を繰り返す
I. 各サンプルの所属グループを推定する:各サンプルを、グループ中心が
そのサンプルと最も似ているグループに所属させる
II. 各グループのグループ中心を推定する:各グループに所属するサンプル
の平均値を、新しいグループ中心とする
(再掲)クラスタリング:グループを見つける
66
https://github.com/shengbo-medley/
MiscForStudy/tree/master/20151107
コード汚いですが。。。
動きます!
67
第4章 応用
推薦と異常検知
68
• 映画の評価データの例
• 行列X(i行j列)として与えられたとき
• 「Xijはi番目のユーザがj番目の映画に与えた評点」とする
• ユーザ数をN人、映画数をM本とすると、XはN行M列
推薦:ユーザが好むアイテムを見つける
69
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
• 行列Xを特異値分解し積USVTで近似する
• 特異値分解の資料:http://www.iedu.i.kyoto-u.ac.jp/
uploads/20141022.pdf
推薦:ユーザが好むアイテムを見つける
70
N: ユーザ数、K: ユーザのグループ数&アイテムのグループ数、M: アイテム数
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
• 実際に特異値分解してみる!
• ・・・・
• ・・・・
• ・・・・
• ・・・・
• ・・・・
• ・・・・
• ????
推薦:ユーザが好むアイテムを見つける
71
• 実際に特異値分解してみる
• Rを使えば簡単!(なにも頭を使わず特異値分解できる)
推薦:ユーザが好むアイテムを見つける
72
> M <- matrix( c( 3, 2, 2, 2, 7, 2, 2, 2, 5 ), 3 )
> svd( M )
$d
[1] 9.428639 3.921622 1.649738
$u
[,1] [,2] [,3]
[1,] -0.3971125 0.2331920 -0.8876503
[2,] -0.7557893 -0.6317813 0.1721479
[3,] -0.5206574 0.7392387 0.4271323
$v
[,1] [,2] [,3]
[1,] -0.3971125 0.2331920 -0.8876503
[2,] -0.7557893 -0.6317813 0.1721479
[3,] -0.5206574 0.7392387 0.4271323
• 事前にデータの欠損を考慮する
• 事前の穴埋め方法が補完結果に影響することがある
• そのため、まずはXをP=UVTと近似する
• 穴の場合δij=0、穴ではない場合δij=1とする
• あとは確率的勾配法で求めて、Xを近似する
推薦:ユーザが好むアイテムを見つける
73
• 正規分布を利用した異常検知
• 正規分布
• 世の中の様々なデータが正規分布に基づいていると言われている
• 発生確率が少ないほど異常であると言える
異常検知:他と異なるサンプルを見つける
74
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
- 2
-2 x 2に95.4%ある
-1 x 1に68.3%ある
• 正規分布を利用した異常検知
• 正規分布
• 世の中の様々なデータが正規分布に基づいていると言われている
• 発生確率が少ないほど異常であると言える
異常検知:他と異なるサンプルを見つける
75
© 2015 技術評論社 データサイエンティスト養成読本 機械学習入門
- 2
平均値:μ=0
分散:σ2=1
の正規分布を
標準正規分布と呼ぶ
• マハラノビス距離
• 正規分布に基づき、サンプルの外れ度合いを計る指標
• マハラノビス距離が大きいほど外れ度合いが高い
• 分散が小さいほど、平均から差が外れ度合いに影響する
異常検知:他と異なるサンプルを見つける
76
• 二変数の場合
• それぞれの平均値を求める:
• それぞれの分散を求める:
• 共分散行列:
異常検知:他と異なるサンプルを見つける
77
• 二変数の場合
• 共分散が0の場合マハラノビス距離は以下のようになる
• 一般的な場合
• 共分散が0となることはないので
異常検知:他と異なるサンプルを見つける
78
エクササイズ(2)
外れ値検出をしてみよう!
79
• 実際のマハラノビス距離はχ二乗分布に従う
• χ二乗分布は下記のようなグラフ
• kは自由度(パラメータの数)
外れ値検知をしてみよう!
80
出典:https://ja.wikipedia.org/wiki/%E3%82%AB
%E3%82%A4%E4%BA%8C
%E4%B9%97%E5%88%86%E5%B8%83
• 実際のマハラノビス距離はχ二乗分布に従う
• χ二乗分布の累積密度分布のグラフは下記のようなグラフ
• k=1でマハラノビス距離が1のとき、約68%の集団に属す
外れ値検知をしてみよう!
81
出典:https://ja.wikipedia.org/wiki/%E3%82%AB
%E3%82%A4%E4%BA%8C
%E4%B9%97%E5%88%86%E5%B8%83
• でも、χ二乗分布って難しいんでしょ?
外れ値検知をしてみよう!
82
出典:https://ja.wikipedia.org/wiki/%E3%82%AB
%E3%82%A4%E4%BA%8C
%E4%B9%97%E5%88%86%E5%B8%83
• Rを使えばそんなことはありません!
• pchisq(mahalanobis_distance, k)と1行打てば終わる!
• 続きはwebで:https://github.com/shengbo-medley/
MiscForStudy/tree/master/20151106
外れ値検知をしてみよう!
83
本日の読書会はここまで
84

Más contenido relacionado

Destacado

How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destacado (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

第1回メドレー読書会