Slide 1

Slide 1 text

1 KYOTO UNIVERSITY KYOTO UNIVERSITY グラフアルゴリズム実践活用術 佐藤竜馬

Slide 2

Slide 2 text

2 / 100 KYOTO UNIVERSITY 京大で機械学習を研究しています 佐藤 竜馬(さとう りょうま) 京都大学で機械学習の研究をしています。 Twitter: @joisino_ 専門はグラフニューラルネットワーク 最適輸送・推薦システム 高校 2 年生のときに競技プログラミングをはじめる JOI 2014 金メダル IOI 2014 日本代表 銅メダル JOI 2014 夏季セミナー参加 AtCoder: 2818 Follow Me

Slide 3

Slide 3 text

3 / 100 KYOTO UNIVERSITY 本日の目標:アルゴリズムが実際に役立つことを知る  アルゴリズムを学んで何が出来る?

Slide 4

Slide 4 text

4 / 100 KYOTO UNIVERSITY 本日の目標:アルゴリズムが実際に役立つことを知る  アルゴリズムを学んで何が出来る?  競プロの問題が解ける!楽しい! ↑ わかる。めっちゃいいこと。これはこれで素晴らしい。

Slide 5

Slide 5 text

5 / 100 KYOTO UNIVERSITY 本日の目標:アルゴリズムが実際に役立つことを知る  アルゴリズムを学んで何が出来る?  競プロの問題が解ける!楽しい! ↑ わかる。めっちゃいいこと。これはこれで素晴らしい。  他には? #月間競技プログラミングは役に立たない ?

Slide 6

Slide 6 text

6 / 100 KYOTO UNIVERSITY 本日の目標:アルゴリズムが実際に役立つことを知る  アルゴリズムを学んで何が出来る?  競プロの問題が解ける!楽しい! ↑ わかる。めっちゃいいこと。これはこれで素晴らしい。  他には? #月間競技プログラミングは役に立たない ?  アルゴリズムは実際に役立ちます!!! 生活に役立つ、お金になる、... etc.  競プロっぽい設定でかつ今日から使える(本当に今日から使える) アルゴリズムと問題を学んでモチベーションを付けることを目指します。

Slide 7

Slide 7 text

7 / 100 KYOTO UNIVERSITY グラフとは

Slide 8

Slide 8 text

8 / 100 KYOTO UNIVERSITY グラフは物事の関係を表す  グラフは関係を表す抽象的なデータ構造  頂点と呼ばれる要素と、2 つのノード間を結ぶ辺が存在する 頂点 辺

Slide 9

Slide 9 text

9 / 100 KYOTO UNIVERSITY ソーシャルネットワークは人と人の関係を表す  グラフは解釈次第でさまざまな物事を表すことができる  頂点 = 人間、辺 = 友達関係のソーシャルネットワーク

Slide 10

Slide 10 text

10 / 100 KYOTO UNIVERSITY 交通ネットワークは地理関係を表す  頂点 = 都市(or 街区)、辺 = 道路の交通ネットワーク

Slide 11

Slide 11 text

11 / 100 KYOTO UNIVERSITY 化合物もグラフで表現できる  頂点 = 原子、辺 = 結合の化合物グラフ H C O H N O N

Slide 12

Slide 12 text

12 / 100 KYOTO UNIVERSITY 現実世界に登場するグラフ1: 路線図  頂点 = 駅、辺 = 路線の路線図 https://subway.osakametro.co.jp/guide/routemap.php

Slide 13

Slide 13 text

13 / 100 KYOTO UNIVERSITY 現実世界に登場するグラフ2: 家系図  頂点 = 人、辺 = 親子関係の家系図

Slide 14

Slide 14 text

14 / 100 KYOTO UNIVERSITY 現実世界に登場するグラフ3: 構文木  頂点 = 単語や節、辺 = 包含関係の構文木 https://twitter.com/nakamurakihiro/status/1230798247989366784

Slide 15

Slide 15 text

15 / 100 KYOTO UNIVERSITY 現実世界に登場するグラフ4: 画像  頂点 = ピクセル、辺 = 隣接関係の画像

Slide 16

Slide 16 text

16 / 100 KYOTO UNIVERSITY グラフは様々な物事を統一的に表現できる  グラフのスゴいところ: 一つのデータ構造で人間関係から分子まで統一的に扱える → グラフの処理技術さえ身につければあらゆる状況に対応できる  まとまりのないごちゃごちゃしたデータでもグラフを使えば 統一的に扱える! グラフはあらゆるデータに対応できるオールラウンダー選手 グラフアルゴリズムをマスターすればどんな状況にも対応できる Take Home Message

Slide 17

Slide 17 text

17 / 100 KYOTO UNIVERSITY 最短経路問題

Slide 18

Slide 18 text

18 / 100 KYOTO UNIVERSITY 最短経路問題:頂点間の最適な移り方を求める  最短経路問題 入力:グラフ、頂点 s、頂点 t 出力:s から t への最短経路  ここで、経路の長さは含まれる辺の本数とする。 s t

Slide 19

Slide 19 text

19 / 100 KYOTO UNIVERSITY 最短経路問題:頂点間の最適な移り方を求める  最短経路問題 入力:グラフ、頂点 s、頂点 t 出力:s から t への最短経路  ここで、経路の長さは含まれる辺の本数とする。 s t

Slide 20

Slide 20 text

20 / 100 KYOTO UNIVERSITY 辺に長さがある変種もある  重み付き最短経路問題 入力:グラフ、各辺の長さ、頂点 s、頂点 t 出力:s から t への最短経路  ここで、経路の長さは含まれる辺の長さの合計とする。 s t 8 8 6 12 8 8 2 2 3 2 12 14 3

Slide 21

Slide 21 text

21 / 100 KYOTO UNIVERSITY 応用例 1: マップアプリ

Slide 22

Slide 22 text

22 / 100 KYOTO UNIVERSITY 解き方:幅優先探索  最短経路問題の解き方 s t

Slide 23

Slide 23 text

23 / 100 KYOTO UNIVERSITY 解き方:幅優先探索  最短経路問題の解き方  頂点 s に 0 を書き込む s t 0

Slide 24

Slide 24 text

24 / 100 KYOTO UNIVERSITY 解き方:幅優先探索  最短経路問題の解き方  0 と辺で繋がっている頂点に 1 と書き込む 辺に向きを付けておく s t 0 1 1

Slide 25

Slide 25 text

25 / 100 KYOTO UNIVERSITY 解き方:幅優先探索  最短経路問題の解き方  1 と辺で繋がっている頂点に 2 と書き込む 既に値が書き込まれている頂点はスキップ 辺に向きを付けておく s t 0 1 1 2 2 2 2 既に 0 と書かれているの でここには 2 と書かない

Slide 26

Slide 26 text

26 / 100 KYOTO UNIVERSITY 解き方:幅優先探索  最短経路問題の解き方  t に値が書き込まれたので終了 矢印を s までたどると最短経路が得られる s t 0 1 1 2 2 2 2 値 2 は経路の長さを表す

Slide 27

Slide 27 text

27 / 100 KYOTO UNIVERSITY 応用例 2: 地下鉄の移動コスト 0 1 2 3 4 1 1 1 2 2 2 2 2 2 4 4 4 3 3 3 4 3 3 3 3 3 ゴール スタート 4 ホップで到達可能 → 1 ホップ 2 分とすると 8 分で到達可能(簡単のため乗り換え時間は無視)

Slide 28

Slide 28 text

28 / 100 KYOTO UNIVERSITY 応用例 3: コネを得る  推薦入試のために、憧れの T 教授にアポを取りたい できるだけ少ない紹介者を間に入れて連絡したい T 教授 あなた 友達の A ちゃん

Slide 29

Slide 29 text

29 / 100 KYOTO UNIVERSITY 応用例 3: コネを得る  入力:交友関係を表すグラフ 出力:コネを得る方法 T 教授 あなた

Slide 30

Slide 30 text

30 / 100 KYOTO UNIVERSITY 応用例 3: コネを得る  解法:あなたを頂点 s とし、T 教授を頂点 t として 最短経路問題を解く 頂点 t 頂点 s 間に 2 人 の紹介で T 教授にたどり着ける

Slide 31

Slide 31 text

31 / 100 KYOTO UNIVERSITY 応用例 4: 推しキャラのグッズを得る  推しキャラの缶バッジが欲しいが当たらない どうすればいいか

Slide 32

Slide 32 text

32 / 100 KYOTO UNIVERSITY 応用例 4: 推しキャラのグッズを得る  入力:他の人々の取引希望情報 出力:推しキャラのグッズを得る方法

Slide 33

Slide 33 text

33 / 100 KYOTO UNIVERSITY 応用例 4: 推しキャラのグッズを得る  解法:他の人の取引情報を元にグラフを作る 有向辺 (一方通行) Aさん

Slide 34

Slide 34 text

34 / 100 KYOTO UNIVERSITY 応用例 4: 推しキャラのグッズを得る  解法:他の人の取引情報を元にグラフを作る Aさん Bさん

Slide 35

Slide 35 text

35 / 100 KYOTO UNIVERSITY 応用例 4: 推しキャラのグッズを得る  解法:他の人の取引情報を元にグラフを作る Aさん Bさん Cさん

Slide 36

Slide 36 text

36 / 100 KYOTO UNIVERSITY 応用例 4: 推しキャラのグッズを得る  解法:他の人の取引情報を元にグラフを作る Aさん Bさん Cさん Eさん Dさん Fさん Iさん Gさん Hさん Jさん Kさん

Slide 37

Slide 37 text

37 / 100 KYOTO UNIVERSITY 応用例 4: 推しキャラのグッズを得る  解法:譲りたい赤を始点 s に、欲しい黃を終点 t にして 最短経路を求める Aさん Bさん Cさん Eさん Dさん Fさん Iさん Gさん Jさん Kさん Hさん 頂点 t 頂点 s

Slide 38

Slide 38 text

38 / 100 KYOTO UNIVERSITY 応用例 4: 推しキャラのグッズを得る  解法:譲りたい赤を始点 s に、欲しい黃を終点 t にして 最短経路を求める Aさん Bさん Cさん Eさん Dさん Fさん Iさん Gさん Jさん Kさん Hさん 頂点 t 頂点 s C さんに頼んで赤を緑に E さんに頼んで緑を橙に I さんに頼んで橙を黄に すればよい

Slide 39

Slide 39 text

39 / 100 KYOTO UNIVERSITY 応用例 5: 外貨を得る  手元に現金 10 万円がある。 これをアメリカドルに両替したい。どうすればよいか。  入力:外貨の両替手数料 出力:最適な両替の仕方

Slide 40

Slide 40 text

40 / 100 KYOTO UNIVERSITY 応用例 5: 外貨を得る 手数料: 2000 円  解法:手数料の情報を元にグラフを作る

Slide 41

Slide 41 text

41 / 100 KYOTO UNIVERSITY 応用例 5: 外貨を得る 手数料: 2000 円 手数料: 800 円  解法:手数料の情報を元にグラフを作る

Slide 42

Slide 42 text

42 / 100 KYOTO UNIVERSITY 応用例 5: 外貨を得る 手数料: 2000 円 手数料: 800 円 3000 円  解法:手数料の情報を元にグラフを作る

Slide 43

Slide 43 text

43 / 100 KYOTO UNIVERSITY 応用例 5: 外貨を得る 手数料: 2000 円 手数料: 800 円 3000 円 200 円 500 円  解法:手数料の情報を元にグラフを作る

Slide 44

Slide 44 text

44 / 100 KYOTO UNIVERSITY 応用例 5: 外貨を得る 手数料: 2000 円 手数料: 800 円 3000 円 200 円 500 円  解法:日本円を始点 s にドルを終点 t にして最短経路 頂点 t 頂点 s

Slide 45

Slide 45 text

45 / 100 KYOTO UNIVERSITY 応用例 5: 外貨を得る 手数料: 2000 円 手数料: 800 円 3000 円 200 円 500 円  解法:日本円を始点 s にドルを終点 t にして最短経路 頂点 t 頂点 s 合計 1500 円で両替できる! 直接両替するより安い! 手数料 1700 円で円 → ドル両替サービスを始めると儲かる 外貨取引に限らず他の交易でも同じアイデアが使える

Slide 46

Slide 46 text

46 / 100 KYOTO UNIVERSITY 応用例 6: 映画推薦  映画の推薦サービスを作りたい  入力:人々の映画視聴履歴 出力:各人へおすすめ映画を推薦

Slide 47

Slide 47 text

47 / 100 KYOTO UNIVERSITY 応用例 6: 映画推薦  視聴履歴はグラフで表現できる この映画を見た

Slide 48

Slide 48 text

48 / 100 KYOTO UNIVERSITY 応用例 6: 映画推薦  解法: 人と映画の距離を計算する 最短経路長 3: S さんが前に見た映画を見た 別の人がこの映画を見ている → 関連した良い映画かも 頂点 s 頂点 t 0 1 2 3

Slide 49

Slide 49 text

49 / 100 KYOTO UNIVERSITY 応用例 6: 映画推薦  解法: 人と映画の距離を計算する 頂点 s 頂点 t 最短経路長 5: S さんの映画の好みからは 遠い映画かもしれない 0 1 2 3 4 5

Slide 50

Slide 50 text

50 / 100 KYOTO UNIVERSITY 応用例 6: 映画推薦  解法: 全映画の距離を計算して、距離の近い映画を推薦する 距離 5 距離 3 視聴済(スキップ) : : 推薦

Slide 51

Slide 51 text

51 / 100 KYOTO UNIVERSITY 最短経路アルゴリズムだけで様々な問題を解決  最短経路問題が解けるようになると、推しグッズが手に入るし、 外貨が安く手に入る  ポイント:様々な問題を同じアルゴリズムで解くことができる (ほとんど)同じプログラムでこれら全ての問題を解ける 同じアルゴリズムでも工夫すると種々多様な問題を 解くことができる Take Home Message グラフを受け取って最短経路を出力するプログラム

Slide 52

Slide 52 text

52 / 100 KYOTO UNIVERSITY アルゴリズムだけでなくデータにも気を使おう  データの準備の仕方が重要  たくさんの取引情報を使ってグラフを作ると、それだけ掘り出し物が見つ かりやすくなる  たくさんの人々の映画視聴履歴を使ってグラフを作ると、それだけ 正確に距離を捉えられるようになる  全く同じプログラムを使っても、入力データを改良すると良い結果になる アルゴリズムを改良するだけでなく、入力データを工夫する ことも重要 Take Home Message

Slide 53

Slide 53 text

53 / 100 KYOTO UNIVERSITY グラフカット問題

Slide 54

Slide 54 text

54 / 100 KYOTO UNIVERSITY グラフカット問題は辺を跨がないように頂点をニ分割する  グラフカット問題 入力:グラフ 出力:頂点集合の 2 分割であって、間の辺の数が最小のもの

Slide 55

Slide 55 text

55 / 100 KYOTO UNIVERSITY グラフカット問題は辺を跨がないように頂点をニ分割する  グラフカット問題 入力:グラフ 出力:頂点集合の 2 分割であって、間の辺の数が最小のもの 間の辺の本数は 2 本

Slide 56

Slide 56 text

56 / 100 KYOTO UNIVERSITY 始点と終点を指定するバージョンもある  s-t グラフカット問題 入力:グラフ、頂点 s, 頂点 t 出力:頂点集合の 2 分割のうち、 s が一方に含まれ、t がもう一方に含まれるもののうち、 間の辺の数が最小のもの s t

Slide 57

Slide 57 text

57 / 100 KYOTO UNIVERSITY 始点と終点を指定するバージョンもある  s-t グラフカット問題 入力:グラフ、頂点 s, 頂点 t  出力:頂点集合の 2 分割のうち、 s が一方に含まれ、t がもう一方に含まれるもののうち、 間の辺の数が最小のもの s t 間の辺の本数は 2 本

Slide 58

Slide 58 text

58 / 100 KYOTO UNIVERSITY 重み付きバージョンも考えられる 重み付き s-t グラフカット問題  入力:グラフ、辺の太さ、頂点 s, 頂点 t  出力:頂点集合の 2 分割のうち、 s が一方に含まれ、t がもう一方に含まれるもののうち、 間の辺の太さの合計が最小のもの

Slide 59

Slide 59 text

59 / 100 KYOTO UNIVERSITY 解き方:全探索  グラフカット問題の解き方:  頂点の部分集合を全て調べる 部分集合は 2n - 2 通り(どちらか空集合はスキップ) s-t カットのときは 2n-2 通り(s, t 以外の全部分集合)  最も間の辺が少なかったものを出力  指数時間だが一応解ける

Slide 60

Slide 60 text

60 / 100 KYOTO UNIVERSITY 実は多項式時間でも解ける  グラフカット問題の解き方:  頂点の部分集合を全て調べる 部分集合は 2n - 2 通り(どちらか空集合はスキップ) s-t カットのときは 2n-2 通り(s, t 以外の全部分集合)  最も間の辺が少なかったものを出力  指数時間だが一応解ける  実は多項式時間でも解けます(複雑なので省略)  最大流最小カット定理や、Ford-Fulkerson などで検索

Slide 61

Slide 61 text

61 / 100 KYOTO UNIVERSITY 応用例1: クラスタ検出  人間関係の情報からどういうグループがあるかを検出したい  入力:人間関係の情報 出力:グループ情報  グループの例: アニメクラスタ、ヒップホップクラスタ、アイドルクラスタ、...

Slide 62

Slide 62 text

62 / 100 KYOTO UNIVERSITY 応用例1: クラスタ検出  解法:人間関係の情報を基にグラフを構築する 友達

Slide 63

Slide 63 text

63 / 100 KYOTO UNIVERSITY 応用例1: クラスタ検出  解法:グラフカットを求める

Slide 64

Slide 64 text

64 / 100 KYOTO UNIVERSITY 応用例2: 画像のノイズ除去  ノイズのある画像からノイズを除去したい  入力:ノイズ入りモノクロ画像      出力:ノイズ除去後の画像

Slide 65

Slide 65 text

65 / 100 KYOTO UNIVERSITY 応用例2: 画像のノイズ除去  解法:画像を格子状のグラフとみなす

Slide 66

Slide 66 text

66 / 100 KYOTO UNIVERSITY 応用例2: 画像のノイズ除去  解法:新しい頂点 s, t を作り、 黒頂点を s に、白頂点を t につなぐ s t

Slide 67

Slide 67 text

67 / 100 KYOTO UNIVERSITY 応用例2: 画像のノイズ除去  解法:新しい頂点 s, t を作り、 黒頂点を s に、白頂点を t につなぐ s t

Slide 68

Slide 68 text

68 / 100 KYOTO UNIVERSITY 応用例2: 画像のノイズ除去  解法:s-t 最小カットを求める s t

Slide 69

Slide 69 text

69 / 100 KYOTO UNIVERSITY 応用例2: 画像のノイズ除去  解法:s-t 最小カットを求める s t 元々白色で t と繋がっているが、 左右下が黒頂点なので、 これを青側にすると左右下の辺 が生じて間の辺の本数が 多くなってなってしまう なので赤側にいく

Slide 70

Slide 70 text

70 / 100 KYOTO UNIVERSITY 応用例2: 画像のノイズ除去  解法:白黒に戻す

Slide 71

Slide 71 text

71 / 100 KYOTO UNIVERSITY 応用例2: 画像のノイズ除去  実際に s-t カットでノイズ除去した結果  入力:ノイズ入りモノクロ画像 コード: https://colab.research.google.com/drive/1Mdr3KGrwuX9jAWHk5pVGH2HaUmLmR-jB?usp=sharing

Slide 72

Slide 72 text

72 / 100 KYOTO UNIVERSITY 応用例2: 画像のノイズ除去  実際に s-t カットでノイズ除去した結果  入力:ノイズ入りモノクロ画像      出力:ノイズ除去後の画像 コード: https://colab.research.google.com/drive/1Mdr3KGrwuX9jAWHk5pVGH2HaUmLmR-jB?usp=sharing

Slide 73

Slide 73 text

73 / 100 KYOTO UNIVERSITY 応用例3: 画像のトリミング  画像から人物をトリミングしたい  入力:背景付き画像       出力:人物のトリミング どこが人物でどこが背景かを 色で雑に指示している

Slide 74

Slide 74 text

74 / 100 KYOTO UNIVERSITY 応用例3: 画像のトリミング  解法:画像を格子状のグラフとみなす

Slide 75

Slide 75 text

75 / 100 KYOTO UNIVERSITY 応用例3: 画像のトリミング  解法:色差が小さい辺を太く、色差が大きい辺を細くする

Slide 76

Slide 76 text

76 / 100 KYOTO UNIVERSITY 応用例3: 画像のトリミング  解法:前景指示がある頂点は s に、 背景指示がある頂点は t に太くつなぐ s t

Slide 77

Slide 77 text

77 / 100 KYOTO UNIVERSITY 応用例3: 画像のトリミング  解法:最小カット(一番細く切れる分け方)を求める s t

Slide 78

Slide 78 text

78 / 100 KYOTO UNIVERSITY 応用例3: 画像のトリミング  解法:最小カット(一番細く切れる分け方)を求める

Slide 79

Slide 79 text

79 / 100 KYOTO UNIVERSITY 応用例3: 画像のトリミング  実際に s-t カットでトリミングした結果  入力:背景付き画像 コード: https://colab.research.google.com/drive/1vm6BHg1rsujEOLAANfT29vMwGkTIOoeV?usp=sharing

Slide 80

Slide 80 text

80 / 100 KYOTO UNIVERSITY 応用例3: 画像のトリミング  実際に s-t カットでトリミングした結果  入力:背景付き画像       出力:人物のトリミング コード: https://colab.research.google.com/drive/1vm6BHg1rsujEOLAANfT29vMwGkTIOoeV?usp=sharing

Slide 81

Slide 81 text

81 / 100 KYOTO UNIVERSITY グラフカットアルゴリズムだけで様々な問題を解決  ポイント:様々な問題を同じアルゴリズムで解くことができる (ほとんど)同じプログラムでこれら全ての問題を解ける 同じアルゴリズムでも工夫すると種々多様な問題を 解くことができる Take Home Message グラフを受け取ってグラフカットを出力するプログラム

Slide 82

Slide 82 text

82 / 100 KYOTO UNIVERSITY グラフ機械学習

Slide 83

Slide 83 text

83 / 100 KYOTO UNIVERSITY In: ラベル付きデータとテストデータ、Out: テストのラベル  機械学習:教師ラベル付きデータから、未知のデータのラベルを推定 猫 犬 猫 ? 例を学習

Slide 84

Slide 84 text

84 / 100 KYOTO UNIVERSITY In: グラフ全体、Out: グラフのラベル  グラフ分類:グラフが表現する化合物に薬効があるかを判別する H C O H N O N 薬効あり H C O H O H H 薬効あり H C O H N O N 薬効あり H C H H N H H 薬効なし O C O H O H H ? H 例を学習

Slide 85

Slide 85 text

85 / 100 KYOTO UNIVERSITY グラフ分類も他の機械学習とほとんど同じようにできる  グラフ分類でも、画像分類とほとんど同じアプローチが使える  画像分類における畳み込みニューラルネットワークを グラフニューラルネットワークに置き換えるだけでオーケー  原理はほぼ同じ

Slide 86

Slide 86 text

86 / 100 KYOTO UNIVERSITY グラフ分類も他の機械学習とほとんど同じようにできる  グラフ分類でも、画像分類とほとんど同じアプローチが使える  画像分類における畳み込みニューラルネットワークを グラフニューラルネットワークに置き換えるだけでオーケー  原理はほぼ同じ  グラフニューラルネットワークを説明している時間はないのでここでは 単純な 1-近傍分類法を紹介

Slide 87

Slide 87 text

87 / 100 KYOTO UNIVERSITY グラフの類似度を計算する関数を定義  ステップ 1: グラフどうしの類似度を計算する関数を作る def sim(G1, G2): point = 0 if G1 と G2 の頂点数が同じ: point += 1 if G1 と G2 の炭素原子の数が同じ: point += 3 if G1 と G2 の水素原子の数が同じ: point += 2 if G1 と G2 の両方にベンゼン環がある: point += 5 return point 類似度関数の 定義に正解はない。 どういうものを書くかはセンス

Slide 88

Slide 88 text

88 / 100 KYOTO UNIVERSITY 作った関数を使って、各訓練データとの類似度を計算  ステップ2: 各訓練データとの類似度を計算 H C O H N O N 薬効あり H C O H O H H 薬効あり H C O H N O N 薬効あり H C H H N H H 薬効なし O C O H O H H ? H point = 2 point = 5 point = 2

Slide 89

Slide 89 text

89 / 100 KYOTO UNIVERSITY 定義した類似度の意味で最も似ている訓練データを発見  ステップ3: 一番似ている訓練データを見つける H C O H N O N 薬効あり H C O H O H H 薬効あり H C O H N O N 薬効あり H C H H N H H 薬効なし O C O H O H H ? H point = 2 point = 5 point = 2 一番似ている

Slide 90

Slide 90 text

90 / 100 KYOTO UNIVERSITY 最も似ているデータのラベルと同じラベルで予測する  ステップ4: 一番似ている訓練データと同じラベルを出力 H C O H N O N 薬効あり H C O H O H H 薬効あり H C O H N O N 薬効あり H C H H N H H 薬効なし O C O H O H H 予測:薬効あり H point = 2 point = 5 point = 2 一番似ている

Slide 91

Slide 91 text

91 / 100 KYOTO UNIVERSITY 近傍分類は単純だが実はかなり強力  かなり単純だが、一応「例をもとに新しいデータの予測をする」という 目的はこれで達せられている  教師ラベル付きデータの質・量と類似度の定義次第では かなり良い精度を達成できる  ニューラルネットワークやカーネル法などのファンシーな手法も 根本の考え方は同じ いろんな要素が増えて、数理的な裏付けが付いただけ

Slide 92

Slide 92 text

92 / 100 KYOTO UNIVERSITY 生成モデルが流行している  タグ(呪文)を入れて画像を生成する手法が流行っている 賛否両論ありますが ((best quality)), ((masterpiece)), ((ultra-detailed)), (illustration), (detailed light), 1girl, blonde hair, blue eyes, smiling, bob cut

Slide 93

Slide 93 text

93 / 100 KYOTO UNIVERSITY 生成モデルが流行している  タグ(呪文)を入れて画像を生成する手法が流行っている  これが分子でできると便利そう ((best quality)), ((masterpiece)), ((ultra-detailed)), (illustration), (detailed light), 1girl, blonde hair, blue eyes, smiling, bob cut 有機、水溶性、軽量、安価、 無毒、薬効、...

Slide 94

Slide 94 text

94 / 100 KYOTO UNIVERSITY グラフ生成モデルも盛んに研究されている  構成要素を少し変えると(例:CNN を GNN に変える) VAE, GAN, 拡散モデルなど同じ技法がグラフ生成にも使える  Score-based Generative Modeling of Graphs via the System of Stochastic Differential Equations (ICML 2022)  デノイジング拡散モデルの枠組みを用いる ノイズ推定モデルに GNN を用いる

Slide 95

Slide 95 text

95 / 100 KYOTO UNIVERSITY まとめ

Slide 96

Slide 96 text

96 / 100 KYOTO UNIVERSITY まとめ:グラフは様々な物事を統一的に表現できる  友達関係から化合物まで何でも表現できる!  推しグッズの獲得から推薦システムの作成まで、幅広い問題を 同じ最短経路のアルゴリズムを使って解くことができる! グラフはあらゆるデータに対応できるオールラウンダー選手 グラフアルゴリズムをマスターすればどんな状況にも対応できる Take Home Message 同じアルゴリズムでも工夫すると種々多様な問題を 解くことができる Take Home Message

Slide 97

Slide 97 text

97 / 100 KYOTO UNIVERSITY さらに勉強したい人へ:その他の応用例  現実的な最適化問題の例が多数掲載されています。

Slide 98

Slide 98 text

98 / 100 KYOTO UNIVERSITY さらに勉強したい人へ:機械学習  機械学習に興味を持った方はこちら。  機械学習の良い入門書です。

Slide 99

Slide 99 text

99 / 100 KYOTO UNIVERSITY さらに勉強したい人へ:グラフ全般について  現実世界に登場するグラフについて詳しく書かれています。  英語で分厚いですが、基礎の基礎から丁寧に書かれています。

Slide 100

Slide 100 text

100 / 100 KYOTO UNIVERSITY まとめ:グラフは様々な物事を統一的に表現できる  友達関係から化合物まで何でも表現できる!  推しグッズの獲得から推薦システムの作成まで、幅広い問題を 同じ最短経路のアルゴリズムを使って解くことができる! グラフはあらゆるデータに対応できるオールラウンダー選手 グラフアルゴリズムをマスターすればどんな状況にも対応できる Take Home Message 同じアルゴリズムでも工夫すると種々多様な問題を 解くことができる Take Home Message