クリーム色の背景、色付き表示、高コントラスト、大きな文字のほうが読みやすいですか?配色と文字を選ぶと、すべてのページに一度で反映されます。

無料レッスン

モデルは例から学ぶ

このレッスンのあとで: モデルが例からどのように学ぶかを、説明できる。

40分のレッスンコマンドなし

明日、おにぎりは何個売れるか

あるコンビニチェーンでは、毎日、店長がおにぎりを発注します。

多すぎると売れ残り、少なすぎると売り切れます。ベテランの店長は、天気や曜日を見て、だいたいの数が分かります。

では、その勘をコンピューターに任せることはできるでしょうか。このレッスンでは、過去の記録から数を予測するしくみを見ていきます。

このレッスンのゴール

メモ

モデルが例からどのように学ぶかを、説明できる。

キーワード

ことばいみれい
機械学習例からパターンを見つける方法です。
モデル見つけたパターンを使って予測するしくみです。
特徴量予測の手がかりになる情報です。天気、曜日
正解ラベル予測したい答えの、本当の値です。売れた個数
学習例を見て、モデルを調整することです。
予測新しい入力に対して、モデルが出す答えです。

学生が入力するセルは、このプレビューでは空白です。

ルールを書くか、例から学ぶか

ふつうのプログラムでは、人がルールを書きます。たとえば「雨なら80個」と、決まった数を書いておきます。

機械学習では、ルールを人が書きません。過去の記録をたくさん渡して、コンピューターにパターンを見つけさせます。

そのパターンをまとめたものが、モデルです。

二つのやり方のちがい

ふつうのプログラム機械学習
ルールを決めるのは人コンピューター
人が渡すものルール過去の例
できあがるものプログラムモデル
向いている仕事手順がはっきりしている手順を言葉にしにくい

学生が入力するセルは、このプレビューでは空白です。

例は、手がかりと答えでできている

学習に使う一件一件の記録を、例と呼びます。

例には、二種類の情報が入っています。一つは、予測の手がかりになる特徴量です。天気や曜日がそうです。

もう一つは、予測したい答えの本当の値で、正解ラベルと呼びます。ここでは、実際に売れた個数です。

例: ある店の過去の記録

日付天気(特徴量)曜日(特徴量)売れた個数(正解ラベル)
6月3日晴れ月130
6月4日雨火80
6月5日晴れ水120
6月6日くもり木100
6月7日雨金70
6月8日晴れ土125

学生が入力するセルは、このプレビューでは空白です。

よくある誤解

注意

モデルは、例にないことも知っていると思われがちです。実際には、渡された例の中のパターンしか知りません。雪の日の記録が一つもなければ、雪の日の予測はできません。予測したい場面の例があるかを、まず確かめましょう。

先に学び、あとで予測する

機械学習の流れは、二つの段階に分かれます。

最初は学習です。モデルは例を見て、天気と個数の関係をつかみます。

次は予測です。明日の天気を入れると、学んだ関係から個数を答えます。

下のコードは、とても簡単なモデルです。同じ天気の日の平均を、予測にしています。

やってみよう: 平均で予測する

コード: python
# コンビニ1店舗の、過去6日分の記録です。
# 変数名は、現場の習慣に合わせて英語で書きます。
weathers = ["晴れ", "雨", "晴れ", "くもり", "雨", "晴れ"]
sales = [130, 80, 120, 100, 70, 125]

tomorrow = "晴れ"

# 明日と同じ天気の日だけを集めて、平均を出します。
total = 0
count = 0
for i in range(len(weathers)):
    if weathers[i] == tomorrow:
        total = total + sales[i]
        count = count + 1

print("使った例:", count, "日分")
print("明日の予測:", total / count, "個")

# tomorrow を "雨" に変えて、もう一度実行しましょう。

授業で使いますか?このモジュールを学生に割り当てると、教員用ガイド、自動採点つきの課題、学生ごとのラボを使えます。