関数と確率関数の違い、スッキリ解説!新人エンジニアが最初に学ぶべき基本のキ
こんにちは。ゆうせいです。
エンジニアの世界に足を踏み入れたばかりのあなた、「関数」という言葉はもうお馴染みかもしれませんね。でも、「確率関数」と聞くと、どうでしょう?「なんだか難しそう…」と少し身構えてしまいませんか。
実は、この二つは似ているようで、役割が全く違うんです。この違いをしっかり理解すると、データを扱ったり、AIモデルを学んだりする上で、大きな武器になりますよ。
今回は、この二つの関数の違いを、誰にでも分かるように、例え話を交えながらじっくり解説していきます。一緒に、モヤモヤをスッキリ解消しましょう!
まずは基本の「関数」をおさらいしよう
確率関数の話をする前に、まずは基本となる「関数」について、簡単におさらいしておきましょう。
関数とは、一言でいうと「何かを入れたら、必ず決まったものが一つだけ出てくるハコ」のようなものです。
一番わかりやすい例えは、自動販売機です。
あなたが「150円」というお金を入れて、「お茶」のボタンを押したとします。すると、ガコンと音を立てて「お茶」が一本出てきますよね。
このとき、「お茶のボタンを押す」という行為が入力(引数)、出てきた「お茶」が出力(返り値)です。この一連の仕組み全体が「関数」です。もし、お茶のボタンを押したのに、コーラが出てきたり、何も出てこなかったりしたら、それはもう自動販売機として機能していません。
つまり、関数の一番大事なルールは、「一つの入力に対して、出力は必ず一つに決まる」ということです。
数学の世界では、よく のような式で表現されます。
これは、「xという箱に何か数字を入れたら、それを2倍した数字が出てくる」という意味の関数ですね。
- xに「3」を入れれば、必ず「6」が出てきます。
- xに「10」を入れれば、必ず「20」が出てきます。
結果が一つにビシッと決まる。これが関数の世界です。確定的な世界のルール、と言ってもいいかもしれませんね。
では「確率関数」とは何者か?
さて、お待たせしました。本日の主役、「確率関数」の登場です。
確率関数も、何かを入力して何かを出力するという点では関数と似ています。しかし、出てくるものが全く違うのです。
確率関数は、「ある出来事(事象)が、どれくらいの確率で起こるか」という数値を返す関数です。
今度は、サイコロを例に考えてみましょう。
あなたがサイコロを一つ振るとき、出る目は1から6のどれかですよね。ここで、「サイコロを振って3の目が出る」という出来事を考えてみます。
この出来事が起こる「確率」はいくつでしょうか?
そう、 ですね。
この関係性を表すのが確率関数です。サイコロの出る目をXとすると、確率関数は
のように書かれます。kには1から6までの具体的な数字が入ります。
- 「3」の目が出る確率を知りたい場合:入力は「3」→ 出力は「
」 - 「5」の目が出る確率を知りたい場合:入力は「5」→ 出力は「
」
関数のときは、出てくるのは「お茶」や「6」といった「具体的なモノや値」でした。
一方、確率関数で出てくるのは、あくまで「確率」という0から1の間の数値なのです。
そして、確率関数にはとても重要なルールがあります。それは、「すべての出来事の確率を足し合わせると、必ず1になる」というルールです。
サイコロの例で言えば、1から6の目が出る確率はすべて ですから、
となり、ちゃんとルールを守っていますね。
決定的な違いを整理しよう
ここまでをまとめると、二つの違いは「何をしたいのか」という目的の違いに集約されます。
項目 | 関数 | 確率関数 |
主な目的 | 入力と出力の確定的な関係を示す | ある出来事が起こる確率を示す |
入力するもの | 数値やデータ(x) | 出来事・事象(サイコロの目が3、など) |
出力されるもの | 確定した一つの値(f(x)) | 確率(0から1の間の数値) |
関数が扱うのは、原因と結果がはっきりしている「確実な世界」です。プログラムで書く処理の多くは、こちらの関数ですよね。
対して、確率関数が扱うのは、結果がどうなるか分からない「不確実な世界」です。機械学習で「この画像が猫である確率は80%」と予測したり、ゲームで「レアアイテムがドロップする確率」を計算したりするのは、まさに確率関数の世界なのです。
次の一歩へ
関数と確率関数の違い、イメージできたでしょうか?
- 関数: 入れたものが決まれば、出てくるものも一つに決まる「自動販売機」。
- 確率関数: ある出来事がどれくらいの起こりやすさかを示す「天気予報の降水確率」。
こんな風に覚えておくと、分かりやすいかもしれません。
もし、あなたがこれから統計学や機械学習の分野を深く学んでいきたいなら、この確率関数の考え方は避けては通れません。
次のステップとしては、「確率質量関数」と「確率密度関数」という二つのキーワードを調べてみるのがおすすめです。今回例に出したサイコロのように、結果が飛び飛びの値になるものを扱うのが確率質量関数。身長や体重のように、連続的な値を扱うのが確率密度関数です。
この二つをマスターすれば、あなたのデータ分析のスキルは格段にレベルアップしますよ。応援しています!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール
- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。