本記事は『なっとく!機械学習』の「本書に寄せて」「まえがき」「本書について」の一部を抜粋したものです。掲載にあたって編集しています。
本書に寄せて
機械学習は複雑で、マスターするのは難しいと思っていませんか。そんなことはありません。本書を読んでみてください。
Luis Serranoは、何かをわかりやすく説明することにかけては達人です。Serranoに初めて会ったのは、彼がUdacityで機械学習を教えていたときです。Serranoに教わると、機械学習なんて足し算や引き算と同じくらい簡単なんだという気持ちになってしまいます。そして何といっても、Serranoの授業内容は楽しいものでした。UdacityのためにSerranoが制作した動画はとびきり魅力的で、Udacityが提供しているコンテンツの中でも高い人気を誇っています。
さらによいのが本書です。本書をおそるおそる開いた人でも楽しめる内容になっています。機械学習界のとっておきの秘密をSerranoが解き明かし、この分野において重要なアルゴリズムや手法をステップ形式で説明しています。数学が苦手な人でも機械学習が好きになれます。Serranoは私たちのような筋金入りの学者の多くが愛してやまない意味不明な数学用語をできる限り排除し、直感的に理解できる実用的な説明に徹しています。
本書の真の目標は、あなた自身がこれらの手法を使いこなせるようになることです。このため、本書には多くの練習問題が含まれており、それらの問題を解きながら謎めいた手法を実際に試してみることができます(そして神秘のベールがはがされます)。どちらかと言えばNetflixで最新のテレビ番組をひがな一日観て過ごしたい派でしょうか。それとも、せっかくなのでコンピュータビジョンや自然言語理解の問題に機械学習を応用してみたい派でしょうか。後者に該当するなら、本書はあなたのためにあります。機械学習の最新技術を試してみるのがいかにおもしろいかは言葉に尽くせません。あなたが命じたとおりにコンピュータが不思議なことを行うのをぜひその目で確かめてください。
この数年間、機械学習は最もホットなテクノロジとして注目を集めているため、新たに獲得したスキルを自分の仕事に活かすことができるでしょう。数年前の『New York Times』誌の記事によれば、機械学習の専門家は全世界で1万人しかおらず、空いているポストは数百万もありました。この状況は現在も変わりません。本書をしっかり読んでプロの機械学習エンジニアを目指してください。この世界で今最も需要の高いスキルの1つが身につくこと請け合いです。
Serranoは本書において、複雑なアルゴリズムをほぼ誰もが理解できるように説明するという偉業を成し遂げています。だからといって内容の深さに妥協が見られるわけではありません。それどころか、啓発的なプロジェクトや練習問題を通してあなたの能力を高めることに重点を置いて取り組んでいます。
その意味では、本書は受動的な読み物ではありません。本書を十分に活用するには、自分から動かなければなりません。Udacityではよく「他の誰かが運動しているのを見ていても痩せない」と言います。機械学習を自分のものにするには、現実の問題に応用することを学ばなければなりません。その心構えができているなら、手に取るべきは本書です──あなたが誰であってもです。
Sebastian Thrun, PhD
Founder, Udacity
Adjunct Professor, Stanford University
まえがき
未来はここにあります。そしてその未来には「機械学習」という名前が付いています。医薬から銀行業務、自動運転車、コーヒーの注文に至るまで、ほぼすべての業界で機械学習が応用されており、機械学習に対する関心は日々急速に高まっています。しかし、機械学習とはそもそも何でしょうか。
機械学習の本を読んだり、機械学習の講座に参加したりすると、たいてい複雑な数式やコードを山ほど目にします。長い間、私は機械学習とはこういうものであり、数学とコンピュータサイエンスの両方の知識がしっかりある人だけのものだと思っていました。
しかし、私は機械学習を他のテーマと比べるようになりました。たとえば音楽です。音楽の理論と実践は複雑なテーマです。しかし、音楽と聞いて思い浮かべるのは音符や音階ではありません。頭に浮かぶのは曲や旋律です。その後で、機械学習も同じだろうかと考えました。機械学習は本当に数式やコードの集まりでしかないのでしょうか。それとも、その陰に旋律が隠れているのでしょうか。
こんなことを考えた私は、機械学習の旋律を理解するという冒険の旅に出ることにしました。数式やコードを何か月も凝視し、いくつもの図を描き、紙ナプキンに図を描いては家族や友だちや同僚に見せました。小さなデータセットや大きなデータセットでモデルを訓練し、実験をしました。
しばらくすると、どこからか機械学習の旋律が聞こえてきました。すると突然、とても美しい絵が頭の中で形になり始めたのです。そこで私は機械学習のあらゆる概念に沿った物語を紡ぎ始めました。そうした旋律、美しい絵、物語こそが、私が何らかのトピックを楽しく学ぶ方法なのです。私が本書で共有したいのはそうした旋律であり、絵であり、物語です。私が目指しているのは機械学習を誰もが完全に理解できるものにすることであり、本書はその旅を始めるための第一歩です。あなたもこの旅に一緒に出かけませんか。
本書について
本書では、あなたに2つのことを教えます。機械学習モデルとそれらのモデルの使い方です。機械学習モデルの種類はさまざまです。イエス・ノー形式の決定論的な答えを返すものもあれば、答えを確率として返すものもあります。数式を使うものもあれば、if文を使うものもあります。
それらの機械学習モデルに共通するのは、答え(予測値)を返すことです。予測値を返すモデルからなる機械学習の分派はその名も予測型機械学習です。本書では、このタイプの機械学習に焦点を合わせます。
本書を読むために必要なことと本書の学習目標
本書では、予測型機械学習の枠組みを確立します。本書を最大限に活用するには、直線のグラフ、方程式、確率の基礎など、初歩的な数学を十分に理解していて、視覚的にイメージできる必要があります。コードの書き方(特にPython)を知っていると助けになりますが、絶対に必要というわけではありません。コードが書けると、さまざまなモデルを実装して現実のデータセットに応用する機会が得られます。本書を最後まで読めば、次のスキルが身につくはずです。
- 線形回帰とロジスティック回帰、ナイーブベイズ、決定木、ニューラルネットワーク、サポートベクトルマシン、アンサンブル法など、予測型機械学習の最も重要なモデルとそれらの仕組みを説明できる。
- 各モデルの長所と短所、それらのモデルが使うパラメータを識別できる。
- これらのモデルが現実にどのように使われるのかを認識し、あなたが解いてみたい問題に機械学習をどのように応用できるかを考え出せる。
- これらのモデルを最適化し、比較し、改善しながらできるだけ性能のよい機械学習モデルを構築する方法を理解している。
- モデルを一から記述するか、既存のパッケージを使って実装し、現実のデータセットで予測値を生成するために使うことができる。
特定のデータセットや問題が頭に浮かんでいる場合は、本書で学んだことをそのデータセットや問題に応用する方法をぜひ検討してみてください。それを出発点にして、ぜひ独自のモデルを実装して試してみてください。