【DB勉強会】08_機械学習モデル構築のWhyとHowとWhat

>100 Views

June 15, 26

スライド概要

(AIによる要約)
本資料では、機械学習モデルを構築する目的(Why)として、未来を予測し行動を最適化したいことを説明しています。需要予測や故障予測、動画レコメンドといった具体例を挙げ、モデルが「ちょうどいい」タイミングや量を導き出す仕組みであることを示しています。モデル構築の手順(How)は、①予測対象の決定、②予測期限の設定、③仮説立案とデータリスト作成、④データ取得、⑤探索的データ分析(EDA)で特徴量を見つけ、⑥モデル学習、⑦精度検証、⑧業務への実装と運用の8ステップで構成しており、各ステップは往復しながら進めます。最後に、回帰・分類・クラスタリングなどの代表的なモデル類型(What)を紹介し、実装はLightGBMやランダムフォレストなどのツールで容易に行えると述べています。

profile-image

アジャイル/スクラム/データサイエンス/プロダクトマネジメント/プロジェクトマネジメント/組織論など、日々の学びをスライドにします。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

ダウンロード

関連スライド

各ページのテキスト
1.

【製造業データビジネス勉強会】08 機械学習モデル構築の WhyとHowとWhat 2026/06/16 @shimitaka1982 清水 隆史

2.

今日の 勉強どころ

3.

データビジネスの階層構造 プロセス 現時点の 個人的な感触 新規事業創出 プロジェクトマネジメント ビジネスモデル 要求分析・要件定義 プロダクトマネジメント リスクマネジメント プラクティ ス マインドセット 人材育成 ビジネス力 データサイエンス力 データエンジニアリング 力

4.

データビジネスの進め方 ① 事業設計 ⑧ マ ③ データ準備 ー ④ 探索的データ分析 ケ テ ⑤ モデル構築 ィ ン ⑥ 社会実装 グ ⑦ 保守・運用 ② サービス設計 現時点の 個人的な感触 • いずれも単方向ではなく、 行ったり来たりを繰り返す • 全てを行うわけではなく、 途中から始まったり途中で 終わったりすることもある • 初期の段階で後期の要素を 考えておく必要がある

5.

(参考)ゴールデンサークル Why(なぜ) ✓目的、信念、存在意義 How(どうやって) ✓プロセス、方法 Why What(何を) How ✓具体的な商品、サービス ※主にマーケティングで使われる考え方だが、 私は「相手から共感を得られるコツ」として解釈 [出典]サイモン シネック: 優れたリーダーはどうやって行動を促すか https://youtu.be/qp0HIF3SfI4?si=oELMEZ2vmNbr2Rnb What

6.

(参考)Whyから始める そんなわけで、 モデル構築のWhyから 話を始めます

7.

モデル構築の Why

8.

なぜモデルを構築するのか? 一言でいえば 未来を予測したいから

9.

(事例1)お弁当の需要予測 課題 ✓お弁当を出来るだけ多く売りたい ✓多すぎ→余って廃棄処分 ✓少なすぎ→機会損失 対策 ✓「ちょうどいい量」を予測しよう!

10.

(事例2)機械の故障予測 課題 ✓機械が壊れると工場が生産ラインに影響が出る ✓機械が壊れる前に検知してメンテナンスしたい ✓一方でメンテナンスしすぎると逆にコストがかかる 対策 ✓「ちょうどいいメンテナンスの タイミング」を予測しよう!

11.

(事例3)次に見たい動画を予測 課題 ✓何千・何万の動画コンテンツからユーザーが自力で見たい動画 を探すのは大変 ✓ユーザーが迷わず動画を再生し続け、サービスを解約せずに使 い続けてもらいたい 対策 ✓「ユーザーが見たいであろう動画」 を予測しよう!

12.

なぜモデルを構築するのか? こんな時に モデルをつくって 未来を予測する

13.

なぜモデルを構築するのか? もう少し言えば 予測することによって 行動を最適化したい

14.

モデルとは何か 世の中には「モデル」と名の付くものが沢山ある ✓ファッションモデル ✓プラモデル ✓ビジネスモデル ✓プロセスモデル ✓ロールモデル ✓OSI参照モデル …etc.

15.

モデルとは何か モデルは所詮プラモデル ✓『会社を変える分析の力』という本で 河本さんは「モデルは所詮プラモデル のようなもの」ということを書かれて いる [出典]会社を変える分析の力 (講談社現代新書) https://amzn.asia/d/026k7A97

16.

モデルとは何か モデルとは複雑なものからエッセンスを抽出して、 出来るだけ簡単にしたものみたいな意味合い [出典]大和 (戦艦) - Wikipedia https://ja.wikipedia.org/wiki/%E5%A4%A7%E5%92 %8C_(%E6%88%A6%E8%89%A6) [出典]日本海軍 戦艦 大和 | 株式会社 ハセガワ http://www.hasegawa-model.co.jp/product/z01/

17.

モデルとは何か 未来を予測するためには現実世界の現象を完璧に 再現できれば一番良いが、それは現実的ではない よって、出来るだけその現実世界を忠実に再現し ている簡易的なもの(モデル)を作りだすことに よって、出来るだけ精度高く未来を予測する、と いうのが機械学習モデルを構築する目的(Why) となる

18.

モデル構築の How

19.

モデル構築のステップ では次に、どのようにモデルを 構築していくか、について整理 する 実はここまでの勉強会の流れが ほとんどそのままモデル構築の ステップとなっている ① 事業設計 ② サービス設計 ③ データ準備 ④ 探索的データ分析 ⑤ モデル構築 ⑥ 社会実装 ⑦ 保守・運用

20.

①何を予測するのか、を決める ビジネス上の課題を機械学習が解ける問題に落とし込み、 「何を予測するのか」を決める ここで回帰・分類・クラスタリング(後述)のどれにあ たるかも考える (例)お弁当の需要予測 →お弁当を作成する個数を予測する 予測したい

21.

②いつまでに予測するのか、を決める それをいつまでに予測すればいいのかを考える (例)お弁当の需要予測 →おかずの発注の関係で前日の17時までに翌日のお弁 当を作成する個数を予測する ここまでのデータ が使える 6/13 17時 6/14 8時 6/14 11時 おかず発注締め切り =予測締め切り おかず届く お弁当作成開始 お弁当販売開始

22.

③仮説を立てて欲しいデータをリスト アップ この後予測(つまりモデル構築)に必要となるデータを 集めるが、その前に「仮説」を立てておく この時点では「○○が関係しそうだから△△のデータが あるとよさそう」という程度で構わない お弁当の需要に天気は関係しそうだから 天候データは集めておきたい あとは経験的に近隣でイベントが行われ るかどうかも影響しそうだからイベント 情報のデータも集めておきたい

23.

④データを集める 以前紹介した点などに注意しながらデータを集める [出典] 【DB勉強会】04_データ集めとデータエンジニアリング https://www.docswell.com/s/shimitaka/58NV8W-data-business-benkyo-04#p15

24.

⑤EDAで特徴量のあたりをつける 以前紹介した点などに注意しながらEDAを進めて予測に 役に立ちそうな変数(特徴量)のあたりをつける [出典] 【DB勉強会】07_データ受領と探索的データ分析~NotebookLMを使ったお手軽EDA~ https://www.docswell.com/s/shimitaka/ZX26PN-data-business-benkyo-07#p25

25.

⑥データを使ってモデル構築する 特徴量さえあれば、モデル構築自体はプログラムで1行で 終わる ハイパーパラメータ(モデル構築時の設定値のようなも の)などもまずはデフォルトで構築してみて構わない また、様々なモデルのパターン(LightGBM、ランダム フォレスト等)を使ってみると良い

26.

⑦精度検証を行う 学習に使っていないテスト用のデータを構築したモデル に入力し、予測がどれぐらいあたっているかを検証する (例)1/1~3/31のデータを使って学習していたら、4/1 ~5/31のデータを使ってテストする*、など 学習に使うデータ (trainデータという) 検証に使うデータ (validデータとか testデータとかいう) 1/1~3/31までのデータ 4/1~5/31までのデータ *この方法が有効なのは時系列変動が無いデータであるという前提条件が担保される場合

27.

⑧業務での使われ方を考える モデルが構築されたら、そのモデルの業務での使われ方 を考える (例)サーバーで自動的に毎日モデルが動いて17時に お弁当発注者のスマホに発注個数の通知が届く 明日のお弁当の作成個数の 138個です! 予測は ←お弁当の 発注者

28.

⑧業務での使われ方を考える 業務での使われ方を考えてみた結果、「いつまでに予測 するのか」や「使うデータ」に修正が必要だと気付く場 合もある 17時におかずの発注締め切りなのに、 17時にアプリの通知が来るんじゃ間に 合わないじゃん! →16時には通知が来るようにしよう →16時までの天気予報しか使えない ←お弁当の 発注者

29.

⑧業務での使われ方を考える つまりタイムラインはこうなる ここまでのデータ が使える ここで おかず発注 6/13 16時 6/13 17時 6/14 8時 6/14 11時 予測量通知 おかず発注 締め切り おかず届く お弁当作成開始 お弁当販売開始

30.

⑧業務での使われ方を考える そのうち、通知された後で人がおかずを発注するのも面 倒だから自動的に発注できる仕組みが作れるといいじゃ ん、みたいな発想が出てくる そうなったら、今度はおかず発注の仕組みとの連携を考 えればよい わざわざ私の元にアプリで通知 来なくても、自動的に発注して くれたら嬉しい!! ←お弁当の 発注者

31.

モデル構築の What

32.

そもそもどんなモデルがあるのか 機械学習は以下のように分けられる 回帰 (例)単回帰分析、重回帰分 析 教師あり学習 分類 機械学習 教師なし学習 クラスタ リング (例)LightGMB、ランダム フォレスト、ロジスティック 回帰 (例)k-means(k平均法)

33.

どのモデルかを考える (例1)お弁当の需要予測 →明日の必要量を予測するのなら回帰 (例2)機械の故障予測 →あと1週間以内に壊れるか壊れないかを予測するの なら分類 (例3)次に見たい動画を予測 →ユーザーを「洋画大好きグループ」「アニメオタク グループ」などにグループ分けするならクラスタリング

34.

どのモデルかを考える 前頁はあくまでも一例であって、同じような問いでも回 帰・分類・クラスタリングが変わる場合もある (例3)ユーザーがその動画をどれくらい気に入るかの 「スコア(数値)」を予測し、そのスコアが高い順に動 画を並べておすすめする、といったことをやりたければ 回帰の問題になる

35.

ここまでのまとめ 何を予測するのか? 明日のお弁当の作成個数を予測する タイプは? 回帰 いつまでに予測するのか? 前日の16時までに 使うデータは? 天気予報のデータ(前日16時時点) イベントのデータ(前日16時時点) どうやってモデルが使われ 前日の16時に翌日のお弁当の作成個数がお弁 るのか? 当発注者のスマホにメールで通知される ここまで整理できればほとんどモデル構築出来たも同然 言い方を変えるとモデル構築するためにはこういった情報 を整理することが極めて重要になる

36.

モデル構築 もう少し 詳しく

37.

使うデータをもう少し詳細に考える 「天気予報のデータ」と一言で言っても色々ある ✓天気(晴れ、曇り、雨、晴れ時々曇り、など) ✓気温 ✓降水確率(1時間ごとの降水確率) ✓雨雲レーダー 具体的にどのようなデータをどう使うのかを考える その際にも「仮説」があると良い

38.

使うデータをもう少し詳細に考える (例)お弁当屋さんが多くの人が働いているオフィス ビルの1階にある。晴れの時よりも雨の時の方が「今日 は外に食べに行かずにお弁当で済まそう」と考える人 が多くお弁当も多くの個数が売れる。 お昼の時間帯に雨が降っているかどうかがポイントな ので、前日16時の時点で「当日の12時の降水確率」を 取得して活用することにする

39.

使うデータをもう少し詳細に考える 本当に相関関係がありそうなのかをチェックしてみる 以下のような一覧表を作って過去のデータを整理する 予測したい 前日の16時の時点での 日(当日) 当日の降水確率 当日のお弁当の作 当日実際にお弁当 成個数 が売れた個数 4/1 0 100 25 4/2 10 150 40 4/3 30 150 128 4/4 90 150 150(完売) 4/5 60 100 75 4/6 30 200 180 4/7 20 200 130

40.

使うデータをもう少し詳細に考える 「イベントのデータ」と一言で言っても色々ある ✓近くの野球場でプロ野球の試合が行われるかどうか ✓近くのサッカー場でJリーグの試合が行われるかどうか ✓近くのホールでアーティストのライブが行われるかどうか ✓それぞれのイベントの集客予定人数 ✓イベントの開始時間 具体的にどのようなデータをどう使うのかを考える その際にも「仮説」があると良い

41.

使うデータをもう少し詳細に考える (例)お弁当屋さんの近くには徒歩10分に野球場と徒 歩15分にサッカー場と徒歩20分にホールがあるが、 サッカー場とホールはやや遠いためあまりお弁当屋さ んには寄らないと考え、野球だけに絞る。野球は14時 開始と18時開始がある。 何となく18時開始の方が夜ご飯用に お弁当を買ってくれる傾向がある 気がするが、念のため両方の パターンについて相関関係を 見ておきたい。

42.

使うデータをもう少し詳細に考える 野球(イベント)開催のフラグの列を設けてみた 予測したい 日(当日) 前日の16時の時点での当 イベント開催のフ 日の降水確率 ラグ 当日のお弁当の作 成個数 当日実際にお弁当 が売れた個数 4/1 0 C 100 25 4/2 10 B 150 40 4/3 30 B 150 128 4/4 90 B 150 150(完売) 4/5 60 B 100 75 4/6 30 A 200 180 4/7 20 A 200 130 追加した列 A:野球開催(14時開始) B:野球開催(18時開始) C:野球開催なし

43.

使うデータをもう少し詳細に考える つまり「降水確率とイベントのデータを使って当日実 際にお弁当が売れた個数を予測する問題」となる 説明変数(特徴量) 目的変数 予測したい 日(当日) 前日の16時の時点での当 イベント開催のフ 日の降水確率 ラグ 当日のお弁当の作 成個数 当日実際にお弁当 が売れた個数 4/1 0 C 100 25 4/2 10 B 150 40 4/3 30 B 150 128 4/4 90 B 150 150(完売) 4/5 60 B 100 75 4/6 30 A 200 180 4/7 20 A 200 130

44.

使うデータをもう少し詳細に考える これを眺めると、降水確率が低めで野球が14時開催の 日が一番お弁当が売れそうだと分かる 予測したい 日(当日) 前日の16時の時点での当 イベント開催のフ 日の降水確率 ラグ 当日のお弁当の作 成個数 当日実際にお弁当 が売れた個数 4/1 0 C 100 25 4/2 10 B 150 40 4/3 30 B 150 128 4/4 90 B 150 150(完売) 4/5 60 B 100 75 4/6 30 A 200 180 4/7 20 A 200 130

45.

使うデータをもう少し詳細に考える だがよく見ると、翌日の4/7もほぼ同じ条件だがお弁 当の売れ行きに大きな差があることが分かる 予測したい 日(当日) 前日の16時の時点での当 イベント開催のフ 日の降水確率 ラグ 当日のお弁当の作 成個数 当日実際にお弁当 が売れた個数 4/1 0 C 100 25 4/2 10 B 150 4/3 30 B 150 4/4 90 B 150 4/5 60 B 100 4/6 30 A 200 180 4/7 20 A 200 130 40 4/6は180個も売れ たのに、4/7は130 128 個しか売れないの 150(完売) はなぜ? 75

46.

使うデータをもう少し詳細に考える ここでまた「仮説」を考える (例)よく考えたら曜日が関係 しているのかもしれない。 4/6は土曜日、4/7は日曜日。 また、野球の観客数にも関係 しているのかもしれない。

47.

使うデータをもう少し詳細に考える 曜日と野球の試合の観客数の実績を入れてみた 予測した い日(当 日) 曜日 前日の16時の イベント開催のフラグ 時点での当日 の降水確率 観客数 当日のお弁 当の作成個 数 当日実際に お弁当が売 れた個数 4/1 月 0 C 0 100 25 4/2 火 10 B 25000 150 40 4/3 水 30 B 23000 150 128 4/4 木 90 B 21000 150 150(完売) 4/5 金 60 B 32000 100 75 4/6 土 30 A 43000 200 180 4/7 日 20 A 38000 200 130

48.

使うデータをもう少し詳細に考える どうやら観客数とお弁当の売れ行きには相関がありそ うだ!と気付く 予測した い日(当 日) 曜日 前日の16時の イベント開催のフラグ 時点での当日 の降水確率 観客数 当日のお弁 当の作成個 数 当日実際に お弁当が売 れた個数 4/1 月 0 C 0 100 25 4/2 火 10 B 40 4/3 水 30 B 4/4 木 90 B 25000 150 日曜日の方が観客数が少な 23000 150 いからお弁当の売れ行きも 少ないのかもしれない! 21000 150 4/5 金 60 B 32000 100 75 4/6 土 30 A 43000 200 180 4/7 日 20 A 38000 200 130 128 150(完売)

49.

使うデータをもう少し詳細に考える ところが、野球の観客数は当然だが前日の16時の時点 では分からない。だからモデル構築には使えない。 予測した い日(当 日) 曜日 前日の16時の イベント開催のフラグ 時点での当日 の降水確率 観客数 当日のお弁 当の作成個 数 当日実際に お弁当が売 れた個数 4/1 月 0 0 100 25 4/2 火 10 25000 150 40 4/3 水 30 23000 150 128 4/4 木 90 21000 150 150(完売) 4/5 金 60 B 32000 100 75 4/6 土 30 A 43000 200 180 4/7 日 20 A 38000 200 130 C B 前日の16時の時点では B 分からない! B

50.

使うデータをもう少し詳細に考える チケットの売れ行きの詳細な情報は公開されてない。 だが、目視でチケット販売サイトを見ればなんとなく 分かる。 (例)6/14時点で 6/21のvs虎チームは ほぼ満席、6/28の vs兎チームは6割 ほどの売れ行き [出典] ベイチケ https://ticket.baystars.co.jp/

51.

使うデータをもう少し詳細に考える 以上から、代替手段として以下の方法が考えられる (代替手段1)チケット販売サイトを目視で確認して 売れ行きの感覚値を1~10段階で入力して予測に使う (代替手段2)事前に分かっている対戦カードを説明 変数に追加して予測に使う (代替手段3)そもそも観客数を予測するモデルを構 築しその結果を説明変数に使用する どれもメリット・デメリットがあることから、コスト やスケジュールを鑑みて選択する

52.

使うデータをもう少し詳細に考える このように、使いたいデータが手に入らなくても、代 替手段を考えるということは大切である。 「使いたい」と思ったデータが都合よく手に入るわけ ではないし、仮に手に入るとしてもお金がかかったり 契約で縛られたりする場合もある。 「使いたい」というのと「使える」というのは別であ る、ということは認識しておこう。

53.

モデル構築 すべきか問題

54.

モデル構築すべきか問題 Why→How→Whatを見てきたが、そもそもモデル構 築すべきかどうか、というのはよくよく考える必要が ある。 (例)故障検知というのは製造業で良く出てくるお題 である(誰もがやりたがる)。ところが、経験則的に だいたい以下のような結論に至ることが多い。 ✓【ケース1】故障検知モデルがうまく作れない ✓【ケース2】故障検知出来たところで誰も嬉しくない ✓【ケース3】傾向を見るだけならモデルを作る必要がない

55.

【ケース1】 故障検知モデルがうまく作れない 故障検知というのは正常データと故障データを比較し て初めて構築が可能になる ところが、日本の製造業製品というのは基本的には品 質が高いので、市場に出た製品は経年劣化でもない限 りそうそう壊れるものではない よって、故障データが全体のうちの100分の1しかない、 といったことがよくある。 これを不均衡データという

56.

【ケース1】 故障検知モデルがうまく作れない 不均衡データでも機械学習モデルは作れないこともな いが、精度はかなり怪しいことになる 普通に考えれば、100分の1を予測するというのは難し いということは想像できる。また、それは技術が優れ ていれば解決できる類のものではない。 ところが、機械学習モデルは内部的に凄いことをやっ ていると思われがちなので、普通だと出来ないことを 出来ると暗に思われてしまっている節がある。

57.

【ケース2】 故障検知出来たところで誰も嬉しくない 「Why(なぜ)?」でも学んだ通り、機械学習モデル をつくるのは予測することによって行動を最適化した いから 具体的な「行動の最適化」例として「事前に故障検知 することによって早期にメンテンナンスを行って故障 リスクを抑えたい」といった話がよく出る ところが、分かったところで「早期にメンテナンスを 行う」ということが出来ない、という場合も多い

58.

【ケース2】 故障検知出来たところで誰も嬉しくない よくあるのが、故障することが事前に分かったところ でメンテナンス対応の人員が増えるわけではないから 元々の修繕計画を変更してまで臨時対応することは出 来ない、というオペレート側の問題 また、出来上がったモデルによって故障すると予測す る前に定期メンテナンス(例えば5年に1回、など)が やってくる場合もある さらに、製品のユーザー側の都合でそもそも部品交換 が出来ないという場合もある(稼働を止められない、 など)

59.

【ケース3】 傾向を見るだけならモデルを作る必要がない そもそも「故障の原因を詳細に知りたい」といった ニーズであれば、予測を行う必要性がなく、古典的な 統計解析を行えばよい なのだが、おそらく機械学習モデルを構築することが 「分析すること」だと誤解していると思われる依頼を 良く受ける(これは実はあながち間違いとも言い切れ なくて、特徴量重要度(インポータンス)を見ること が目的という場合もあるが、ここではそういうケース は例外とする)

60.

【ケース3】 傾向を見るだけならモデルを作る必要がない これはおそらく、「こういう傾向でした」で終わって しまうとその後のビジネスに繋がらない、という事業 側の都合もあると邪推している だが、どう頑張ってもビジネスに繋がらないものは繋 がらないので、気付いた段階でその後のSaaS的なビジ ネス創出は諦めて「傾向を導出することに役に立て た」と誇りに思うことが肝要だと思う

61.

本当に嬉しいの?を考える モデルによって誰が嬉しいのか?本当に嬉しいのか? をしっかり考えることが必要 「どうやってモデルが使われるのか」をナラティブ (物語)で考えてみると良い

62.

Thank You !!