abstract

機械学習入門
Sho Yokoi (京都大学工学部情報学科)
本講義では、機械学習と呼ばれる計算機科学の一分野*1 について概説する。語自体はすっかりバズワード化
し、「自動運転の達成」「プロ棋士に勝利」などの仰々しい触れ込みと共にテレビや新聞紙面で扱われる機会も
増えてきた。人工知能という語とほとんど同義で使われることも多く、その意味の違いは分野の外からは判然
としない。
機械学習とは何なのか、誤解を恐れず一言で説明するとすれば、それは、計算機に何からの仕事を行わせる
際、人間が関数の形を整えるのではなく、大量のデータから計算機自身に関数の形を整えさせようとする技術の
総称である*2 。計算機が行う仕事とは例えばレントゲン写真から癌の可能性を推測することであり、検索ワー
ドに対して良い検索結果を返すことであり、ロボットが倒れないよう制御することであり、Facebook であなた
の知り合いらしき人を提示することであり、ある言語で書かれた文書を別の言語に翻訳することであり*3 、ク
レジットカードの不正利用を検知することであり、早押しクイズで人間に勝つことでもある。
機械学習を人工知能の一部と見るならそれは経験から世界知識を得るモジュールである*4 。認知科学や神経
科学の隣接領域としての計算機科学の一分野と見るなら「学習」という高次の認知機能をアルゴリズムや計算
機構の観点から捉えようとする試みである。経験から仮説を得るという帰納推論への計算機科学的アプローチ
であるとも言える。
本講義は機械学習に興味がありその内容を具体的に理解したいと考える人向けに、巷に溢れる機械学習の教
科書に入門するための足がかりを提供することを目的とする。特にデータと計算資源が充実した現代において
大きな威力を発揮している統計的機械学習と呼ばれるアプローチを中心に説明をおこなう*5 。次のような語の
イメージを掴むことができれば、多くの教科書へスムーズに一歩目を踏み出せるだろう。
• 人工知能、機械学習、データマイニング、パターン認識
• 教師あり学習、教師なし学習、強化学習、回帰、分類、クラスタリング
• 生成モデル、識別モデル
• 誤差、損失関数、最適化
• バイアスとバリアンス、次元の呪い、過学習、正則化
• ベイズ主義、頻度主義
• 評価、交叉検定、モデル選択
本講義では大学一年生レベルの微分積分と線型代数および簡単な確率統計の知識のみを仮定する*6 *7 。
数学徒が機械学習に入門する際に障害となると考えられるのは数学的「でない」部分であろう。それはモデ
ルを立てるという考え方であり、計算機という資源の可能性と制約に関する考え方(すなわち時間・空間計算
量、数値計算による最適化、動的計画法などのアルゴリズム)であり、一見堅そうな教科書に飛び交う大量の
未定義語と多義語であり、「世界の真理を知る」ためでなく「目の前の現実的なタスクを解く」ために振る舞う
というノリ*8 である。しかしここを乗り越えれば、結構面白いことが「できる」ようになる*9 。
*1
*2
*3
*4
*5
*6
*7
*8
*9
ラムダ計算や計算複雑性理論などの所謂「理論計算機科学」の諸分野よりはずっと工学的な領域にある。
Andrew Ng という機械学習研究者は次のように説明している: “Machine learning is the science of getting computers to act
without being explicitly programmed” 。
フリードメインでの高精度な自動翻訳が実現するのはもう少し先の未来だろう。
人工知能という学問領域が計算機で実現しようとする「知的活動」の多くは、知識や環境情報という入力を用いて問題解決なり意思
決定を行うという意味である種の関数ないしアルゴリズムの形をとるが、学習はその関数が利用する知識ないし関数の形自体を世界
から取り出すことを目的としており、注目している階層が異なる。
統計的機械学習は数理統計と最適化を基盤としているため、勉強を進めていくとこの両方の分野の知識が必要となる。統計的機械学
習でない機械学習としては、どの程度のデータを与えればどの程度まで学習が達成可能なのかという漸近的挙動等を解析する「計算
論的機械学習」や、決定論的・記号的な制約のもとで一階述語論理式の集合としての知識を得ようとする学習理論などがある。ただ
し現在における主流は統計的機械学習であり、なんの注釈もなく「機械学習」という語が使われたなら多くの場合それは統計的機械
学習を意味する。
ただし今回の講義の主眼はモデルの性質や学習・予測アルゴリズムの数学的に厳密な理解ではなく機械学習のアプローチの理解にあ
るので、予備知識がなくとも大きな問題はない。確率統計に関しては、連続確率変数の確率密度関数という語に抵抗が無い程度で十
分である。プログラマ界隈から数学的に「難しい」という扱いを受けがちな定番教科書『パターン認識と機械学習; PRML』でさえ
予備知識は微分積分と線型代数で事足りる。
数理統計や情報理論寄りに行けば、情報幾何といったピュアマス界隈からも数学的興味が向けられているトピックも存在する。ま
た、機械学習をはじめとした計算機科学の各領域において、乱択アルゴリズムや確率的な近似計算は重要なトピックであり、数学的
にも興味深い。ただしいずれも今回の講義のスコープには含めない。
理論的に美しくなくとも、あるいはうまくいく理由すら分からなくとも、それがうまくいくのであれば工学的には良い方法である。
ただしここにも流派があり、生成モデル派の人がこれを聞いたら怒るかもしれない。
…かもしれない。