俺氏、機械学習を勉強し始める
「機械学習」をご存知ですか?
その名の通り、コンピュータなどに物事を学習させることです。
最近話題の人工知能とも密接な関係のある研究テーマです。
私は、興味が湧きましたので、しばらく勉強することにしました。
今日は、その機械学習の話をしたいと思います(*‘ω‘ *)
目次
スポンサーリンク
機械学習とは
機械学習(きかいがくしゅう、英: machine learning)とは、人工知能における研究課題の一つで、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法のことである。
(Wikipediaの「機械学習」より引用)
身近な使用例で言うと、ネット通販の下のほうに出てくる「あなたへのオススメ商品」などですね。
Amazonとかで買い物すると、下のほうに自分が好むような商品が出てきませんか?
あれには機械学習が使われています。
私たちが購入したり閲覧したりした商品を学習データとして、機械学習を行っています。
機械学習とコンピュータ将棋の関係
ここ数年で急激に強くなったコンピュータ将棋も、機械学習で強くなりました。
コンピュータ将棋の黎明期は、各々のパラメータを人間が手作業で調整して強くしていました。しかし、人間の手作業では限界があり、実力ではプロの棋士には及びませんでした。
そんなときに、彗星の如く現れたのが「Bonanza」というコンピュータ将棋です。画期的なのは、機械学習が導入された点です。
莫大な数の棋譜を教師データとして学習することにより、これまで手作業ではとてもできなかったような数のパラメータを調整することができるようになりました。
その結果、今ではプロの棋士を圧倒できるほど強くなりました。
勉強のために購入した本
とりあえず、2冊の本を購入しました。
ITエンジニアのための機械学習理論入門
「ITエンジニアのための機械学習理論入門」
最小二乗法からベイズ推定まで、機械学習の具体的なアルゴリズムが解説されている本です。
本屋で機械学習に関する本を立ち読みしていたところ、一番わかりやすかったので購入しました。
オススメです( *´艸`)
Pythonスタートブック
「Pythonスタートブック」
Python(パイソン)とは、プログラミング言語の一種です。C言語やC++とは違って、かなりの高級言語です。
この言語は、ライブラリが豊富で、人工知能(機械学習)の開発で多用されます。
恐らく、今、一番わかりやすくPythonを解説している本が、これなんじゃないかと思います。
まとめ
機械学習を入門した理由は、コンピュータ将棋の評価関数の開発に利用したいからです。
今現在、コンピュータ将棋を作っています。
まだ駒の動かし方を定義しているような段階ですが、完成したら評価関数と呼ばれるコンピュータ将棋の心臓部を作らなければなりません。
評価関数とは、局面の情報を与えてやると、その局面を数値化して有利・不利を判断できる関数のことです。
この評価関数はたくさんの基準(パラメータ)からできていて、このパラメータを機械学習で調整してやるのです。
がんばります。
以上です!
ノシ
PS
まずはコンピュータ将棋のライブラリを作って、GitHubに公開しようと思います。
スポンサーリンク
関連記事