本日は唐揚げを...個発注。」それを確認して「パートのおばちゃん代理アルゴリズム」を作るのです。するとこのようなことがわかってきます。台風の次の日はコロッケが通常の〇倍売れる。〇度を超えると梅のトッピングのお弁当が通常の〇倍売れる。冬はシャケ弁に入ったシャケの廃棄ロスが他の季節より〇倍多い。老人会がある3日前には幕の内弁当の材料を〇セット発注する。・・・あなたは3日3晩寝ずに、1年分のデータを入力して作ったアルゴリズムを店長にみてもらいました。店長「おー!仕事ができるね。店長「よし、早速入力してみるね。5日後の日曜は天気予報によると天気は晴れ、最高気温21度、最低気温13度。休日だけど、町内のイベントは特になし。店長はパートさんが残した1年分のノートや発注書の他に、過去3年分の売上や客数といったPOSデータを持っています。店長「過去3年間に、この条件に似た日が5日もあったから予測結果と照らし合わせてみたけど、実際は5件中2件しか当たっていないよ」せっかく徹夜して作ったモデルでしたが、3年分の天気、気温、曜日のデータを5件分当てはめてみると、その条件で合致した売上や販売点数は2件だけ。残り3件は大失敗に終わりました。ちなみに、あなたがアルゴリズムを作るために入力した1年分のデータを「学習データ」。店長が過去の天候を入力した過去のデータを「テストデータ」と言います。今回のアルゴリズムは、過去1年分の学習データを入力した条件にはあてはまりますが、2年前、3年前のテストデータを入れると当てはまりません。実はこれが今回サブタイトルにもある過学習という状態です。テストデータに対してアルゴリズムが複雑すぎるという理由2点が原因で起こります。1学習データが足りないからこれをお弁当屋さんの例えで説明すると、最初から3年分のデータを入力していれば店長にとって「使えるアルゴリズム」になっていたはずです。テストデータに対してアルゴリズムが複雑すぎるも説明しましょう。そのお弁当屋さんが40年間営業しているとします。創業から40年分のデータを入力したアルゴリズムを作るとしましょう。バブル時期、または今と違って近くに競合店が少なかった時の売上も入力します。その他、災害などで一時的に売上が大きく減少した時のデータも入れました。たくさんのデータを学習しているので精度の高いアルゴリズムと思いきや、近い将来を予測するには過去3年分のみ入力したアルゴリズムのほうが正しい結果を導くことがあります。店長「やっぱり大切なのは経験と勘だな」あなた「いや、店長。考える時間をください。店長「いいよ、何か策があるの?」あなた「・・・あります。難しい話になりますが、最後にk-分割交差検証(クロスバリデーション)を説明しましょう。k-分割交差検証(クロスバリデーション)過学習を回避する方法としてk-分割交差検証と呼ばれるものがあります。k-分割交差検証は、学習データを分割して、一部を学習データ、残りを仮のテストデータとして使うことで、解析の妥当性を検証する方法です。お弁当屋さんに過去5年分の学習データがあるとしましょう。1年を仮のテストデータとして検証するものです。5、4、3、2年前を学習データ検証作業をすべての組み合わせに対して行いましょう。これを行うことにより、どのテストデータが最適なのか妥当性を調べることが可能となります。k-分割交差検証を行うことで、学習データしか手元にない状況であっても、「過学習」しない汎化性能(未知のテストデータに対する識別能力)の高いモデルを選ぶことができるのです。過学習について簡単にご説明いたしました。冒頭で説明した通り、当社では機械学習をつかった売上予測やキャンペーン予測などを行っています。使うライブラリ集)などを使って行います。「話だけ聞いてみたい」という方はビデオサービスZOOMを使って20分の無料コンサルをすることができますので、是非ホームページのCONTACTページからお問い合わせください(通常コンサルは30分5,000円です)。【過学習2】線形回帰における過学習について検索:最近の投稿ゴールデンウィーク休業のお知らせ(5月1日~5月5日)【中小企業や個人商店様向け】外注しなくてもOK!異常検知システム自作のすすめ。12月29日(火)から1月5日(火)【データの前処理について】回帰モデルを用いてロレックスの形状から買取価格を予測してみた。USCONTACTトップへ戻る。