603 Views
February 03, 20
スライド概要
ヤフー福岡 TechMeetup #6「機械学習、はじめの一歩」でのLT登壇内容です。
2023年10月からSpeaker Deckに移行しました。最新情報はこちらをご覧ください。 https://speakerdeck.com/lycorptech_jp
ヤフー福岡 Tech Meetup#6 機械学習、はじめの一歩 機械学習を業務に導入した話 2020年1月29日 ヤフー株式会社 テクノロジーグループ サイエンス統括本部 田中 康貴 Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved.
自己紹介 田中 康貴(koki tanaka) 2008- 大手警備会社 R&D (新卒入社) 音声・画像認識に関する研究を担当 2018- ヤフー株式会社 クレジットカード事業である、ヤフーカードのデータ分析業務を担当 2019年より、ヤフー社内データの横断活用に関する業務も担当 Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 2
ヤフーのイメージ? 潤沢な計算資源・分析基盤 多種多様なビッグデータ 独自スパコン Kukai 経験豊富なエンジニア hadoop kubernetes Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 3
あまり参考にならない・・・ 興味がある方は Yahoo! JAPAN Tech Blog(https://techblog.yahoo.co.jp) Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 4
今回のテーマ グループ会社の業務に機械学習を導入した話 会社の業務課題を機械学習で解決しようとしたとき、 気をつけるべきポイント Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 5
ヤフーカード メディア YAHOO!ニュース JAPAN YAHOO!天気・災害 JAPAN GYAO Entertainment Company Sportsnavi YAHOO!検索 JAPAN BuzzFeed YAHOO!占い JAPAN など コマース ヤフオク! ASKUL YAHOO!ブックストア JAPAN LOHACO YAHOO!ショッピング JAPAN ebook japan 一休.com など Fintech YAHOO!ファイナンス JAPAN YAHOO!ウォレット JAPAN YAHOO!マネー JAPAN ジャパンネット銀行 YAHOO!カード JAPAN YJFX! from YAHOO! JAPAN など 6
ヤフーカードの主な業務 ユーザー YAHOO!カード JAPAN 入会申し込み 審査結果・カード発送 与信審査 カード利用 カード利用許可・請求 オーソリ・売上 Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 7
ポイント.1 課題を選択する Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved.
課題を選択する 課題(困っていること)はたくさんある 機械学習を使うべき!課題を選択するのが重要 (そもそもクロス集計しておしまいというケースも・・・) Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 9
ヤフーカードの課題 クレジットカード不正利用 の被害を減らしたい 現状:ルールベースの不正監視システム、人手不足 Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 10
課題を選択するときの視点 データはあるの? ・ボリューム(学習と検証に使える量) ・品質(欠測、正しさ) ・目的にあっているか(知りたい情報が表現できるか) ・データの入手性も大事 Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 11
課題を選択するときの視点 データはあるの? ・ボリューム(学習・検証に使える量) ○ 過去数ヶ月分のオーソリ(決済)データ ・品質(欠測、正しさ) △ 日次でデータの抽出を担当部署に依頼 ・目的にあっているか(知りたい情報が表現できるか) ・データの入手性も大事 Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 12
課題を選択するときの視点 伸びしろはあるの? 現状で90%できていることを100%にするのは難しい 60%→70%は楽かも Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 13
課題を選択するときの視点 ○ クレジットカードの不正被害は拡大傾向 300 250 200 150 100 50 0 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 (見込み) 業界全体で約270億円 出典:一般社団法人日本クレジット協会 令和元年12月27日 クレジットカード不正利用被害の集計結果について Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 14
課題を選択するときの視点 効果が数値で表現できる? 機械学習を導入する成果をどう見せるか? (よくある例:運用効率UP!→いくらになるの?) Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 15
課題を選択するときの視点 効果が数値で表現できる? 機械学習を導入する成果をどう見せるか? ○ 不正抑止効果を金額(割合)で換算可能 Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 16
ポイント.2 小さくはじめる Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved.
小さくはじめる いきなり社内システムに組み込むのはリスク高 オフラインで検証(手作業でデータ取得するなど) ※この時点で効果が出るとなお良い Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 18
機械学習の導入(理想) 取引の不正有無を即時に判定し処理したい お店(カード利用) 売上情報 不正判定結果 AI Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 19
機械学習の導入(小さくはじめる) お店(カード利用) 売上情報 DB 後日まとめて抽出したリスト 機械学習 (PC) 電話確認 不正疑い取引リスト Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 20
機械学習の導入(ちいさくはじめる) 【運用】 オフラインでデータを取得 機械学習による不正予測とオペレータの電話確認 【効果】 月間不正被害のうち約8%を抑えることに成功 Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 21
まとめ 機械学習を業務に導入するには ・課題を選択する ・小さくはじめる ことが大切 Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 22
余談:DASK Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved.
データは大量にあるけど計算資源がない・・・ DASK(https://dask.org) DASK Pythonで並列・分散処理を行うライブラリ ほぼPandasインターフェースでメモリに乗らないサイズの データを処理できる ※ただし出力はメモリに乗る必要がある Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 24
DASK install, sample install (pip) pip install “dask[complete]” #依存パッケージも含めてインストールする場合 pip install dask #コアパッケージのみのインストール install (conda) conda install dask #依存パッケージも含めてインストールする場合 conda install dask-core #コアパッケージのみのインストール Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 25
sample import pandas as pd import dask.dataframe as dd from dask.diagnostics import ProgressBar import multiprocessing # sample dataset from sklearn.datasets import load_boston boston = load_boston() df = pd.DataFrame(boston.data, columns=boston.feature_names) # pandas dataframe > dask dataframe ddf = dd.from_pandas(df, npartitions=multiprocessing.cpu_count()) #ddf = dd.read_csv(‘temp_*.csv’) # 連番のファイルを*で読める # 集計 ddf = ddf[ddf.CRIM>0.5] ddf = ddf.groupby(by=‘CHAS’).mean() # 計算 with ProgressBar(): df_out = ddf.compute() # pandas dataframe Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved. 26
EOP Copyright (C) 2020 Yahoo Japan Corporation. All Rights Reserved.