1. イントロダクション¶
スパムメールの自動振り分け、動画のおすすめ、顔認証によるロック解除など、身の回りの多くのサービスは機械学習の技術によって実現されています。 本章では、機械学習とは何か、従来のプログラミングとどう違うのかを紹介したうえで、本テキスト全体の学習の進め方と実行環境の準備について説明します。
1.1 機械学習でできること¶
機械学習(Machine Learning)とは、コンピュータがデータから自動的にパターンや傾向を学習し、その結果をもとに予測や判断を行う技術です。
従来のプログラミングでは、プログラマが処理の手順や判断の基準(=ルール)を明示的に記述する必要がありました(ルールベース)。しかし、たとえばスパムメールは日々巧妙化していくため、人手でルールを更新し続けるのは容易ではありません。 一方、機械学習では大量のデータからパターンを自動的に発見するため、新しいパターンが現れてもデータを追加して再学習させればモデルを更新できます。
| 従来のプログラミング | 機械学習 | |
|---|---|---|
| 入力 | データ+ルール | データ+正解ラベル(教師あり学習の場合) |
| 出力 | 判定結果 | モデル |
| 判定のしくみの作り方 | 人間がルールを明示的に記述 | データからパターンを自動的に発見 |
| 新しい状況への対応 | ルールの追加・修正が必要 | データの追加と再学習 |
機械学習の身近な応用例
- スパムメールフィルタ:過去のメールデータから、受信メールがスパムかどうかを自動判定
- レコメンドシステム:購買履歴や視聴履歴から、おすすめの商品や動画を提案
- 画像認識:写真に写っているものを自動で識別(顔認証もその応用例)
- 音声アシスタント:音声認識 と 自然言語処理 を組み合わせて音声に応答
- 自動運転:カメラやセンサーのデータから歩行者・標識・車両を検出
機械学習の 3 つの分類
機械学習は、大きく以下の 3 つに分類されます。
- 教師あり学習(Supervised Learning):正解ラベル付きのデータから学習し、新しいデータに対して予測を行う手法(例:画像分類、株価予測、スパム判定)
- 教師なし学習(Unsupervised Learning):正解ラベルのないデータからパターンや構造を発見する手法(例:顧客のグループ分け、異常検知)
- 強化学習(Reinforcement Learning):試行錯誤を通じて最適な行動を学習する手法(例:ゲーム AI、ロボット制御)
本テキストでは、主に 教師あり学習 を中心に学びます。詳しくは 第4章 で説明します。
1.2 本テキストの進め方¶
本テキストは、Python の基礎から機械学習の応用までを段階的に学べるように、全 14 章と付録で構成されています。 第I部(第1〜3章)で Python とデータ可視化の基礎を、第II部(第4〜9章)で機械学習の基本手法を、第III部(第10〜13章)で画像・テキストへの応用を、第IV部(第14章・付録)で深層学習とアプリ開発を扱います。
- 1 イントロダクション(本章)
- 2 Python入門
- 3 データ可視化
- 4 機械学習の基礎
- 5 前処理と特徴量選択
- 6 回帰
- 7 分類
- 8 木構造とアンサンブル学習
- 9 教師なし学習
- 10 画像処理の基礎
- 11 画像データを用いた機械学習
- 12 自然言語処理の基礎
- 13 テキストデータを用いた機械学習
- 14 深層学習の基礎と活用
- 付録 機械学習アプリの作り方
各章は前の章の内容を土台としているため、基本的には第1章から順番に読み進めることを推奨します。 ただし、すでに Python の基礎を習得している方は、第2章 を飛ばしても問題ありません。 また、各章末には演習問題を用意しているので、ぜひ挑戦して理解を深めてください。
1.3 Webインタラクティブ教材の使い方¶
本テキストには、学習をサポートするための Web ベースのインタラクティブ教材が用意されています。 教材には Playground からアクセスできます。授業でこのテキストを使用している場合は、担当教員の指示に従ってアクセスしてください。
1.4 環境構築の準備¶
本テキストでは、Python コードを実行するための環境として、主に 3 つの方法を紹介します。 目的や状況に応じて、適切な環境を選んでください。
1.4.1 Google Colab¶
Google Colab(Google Colaboratory)は、ブラウザ上で Python コードを記述・実行できる無料のクラウドサービスです。Python と主要なライブラリがあらかじめ用意されているため環境構築が不要で、Google アカウントさえあれば最も手軽に始められます。GPU も無料で利用でき、本テキストのコードはすべて Google Colab 上で実行できます。
- ブラウザで Google Colab にアクセスし、Google アカウントでログインする
- 「ファイル」→「ノートブックを新規作成」をクリックする
- セルに Python コードを入力し、
[Shift]+[Enter]で実行する
さっそく以下のコードを入力して実行し、メッセージが表示されたら成功です。
Google Colab のショートカットキー
[Shift]+[Enter]: セルを実行して次のセルに移動[Ctrl]+[Enter]: セルを実行して同じセルに留まる[Ctrl]+[F9](または「すべてのセルを実行」ボタン): すべてのセルを実行[Ctrl]+[M]→[B]/[A]: 下 / 上に新しいセルを追加
なお、作成したノートブックは Google Drive の「Colab Notebooks」フォルダに自動保存されます。
1.4.2 Visual Studio Code¶
自分のパソコン(ローカル環境)で開発したい場合は、Microsoft の無料コードエディタ Visual Studio Code(VS Code)が使えます。
VS Code と Python をインストールし、VS Code の Python 拡張機能と必要なライブラリ(pip install)を導入すれば準備完了です。
Jupyter Notebook 形式のファイル(.ipynb)も扱えるため、Google Colab で作成したノートブックをダウンロードして編集・実行することもできます。
1.4.3 CHIKUWA Editor¶
CHIKUWA Editor は、本テキストの学習をサポートするために開発された、学習用 AI を搭載した Python 学習環境です。Python 本体とライブラリ一式が同梱されているため、公式の配布サイトからダウンロード・インストールすればすぐに学習を始められます。 本テキストでは CHIKUWA Editor を推奨開発環境とします。詳しい使い方は CHIKUWA Editor の使い方 を参照してください。