1章製品目標からMLの枠組みへ

データから学習し、与えられた目標に合わせて最適化を行うことで問題を解決するため、MLは確率的に振る舞います。プログラマーが問題を解く手順を記述する従来のプログラミングとは対照的です。このため、ヒューリスティックな解法を定義できないようなシステムを構築するのに特に役立ちます。

図1-1では、猫を検知するシステムを作成する2つの方法を示しています。左側のプログラムは手動で書き下した手順で構成されています。右側は、猫や犬の写真にラベルを付けたデータセットを利用して、画像からカテゴリへの対応付けをモデルに学習させるMLアプローチです。MLアプローチでは、どのようにして結果が得られるかは指定されておらず、入力と出力の例が示されているだけです。

手順の定義と例示の違い

図1-1 手順の定義と例示の違い

MLは強力であり、まったく新しい製品を生み出すことができます。しかし、それはパターン認識に基づいているため、ある程度の不確実性が伴います。製品のどの部分がMLの恩恵を受けるのかを見極めることが重要であり、ユーザエクスペリエンスが悪くならないように配慮しつつ、学習の目標をどのように設定するかが重要になります。

例えば、ピクセル値に基づいて画像中の動物を自動的に検出する手順を人手で書くことは、ほぼ不可能です(おそらく、作り上げるのに大変な時間がかかります)。しかし、さまざまな動物の何千もの画像を畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)に与えることで、この分類を人間よりも正確に行うモデルを構築できます。これは、MLを使って取り組むべき魅力的な問題です。 ...

Get 機械学習による実用アプリケーション構築 ―事例を通じて学ぶ、設計から本番稼働までのプロセス now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.