meideru blog

家電メーカーで働いているmeideruのブログです。主に技術系・ガジェット系の話を書いています。

俺氏、機械学習を勉強し始める

 

「機械学習」をご存知ですか?

その名の通り、コンピュータなどに物事を学習させることです。

最近話題の人工知能とも密接な関係のある研究テーマです。

人工知能

私は、興味が湧きましたので、しばらく勉強することにしました。

今日は、その機械学習の話をしたいと思います(*‘ω‘ *)

目次

機械学習とは

機械学習(きかいがくしゅう、英: machine learning)とは、人工知能における研究課題の一つで、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法のことである。

(Wikipediaの「機械学習」より引用)

 

身近な使用例で言うと、ネット通販の下のほうに出てくる「あなたへのオススメ商品」などですね。

Amazonとかで買い物すると、下のほうに自分が好むような商品が出てきませんか?

あれには機械学習が使われています。

私たちが購入したり閲覧したりした商品を学習データとして、機械学習を行っています。

機械学習とコンピュータ将棋の関係

ここ数年で急激に強くなったコンピュータ将棋も、機械学習で強くなりました。

コンピュータ将棋の黎明期は、各々のパラメータを人間が手作業で調整して強くしていました。しかし、人間の手作業では限界があり、実力ではプロの棋士には及びませんでした。

そんなときに、彗星の如く現れたのが「Bonanza」というコンピュータ将棋です。画期的なのは、機械学習が導入された点です。

莫大な数の棋譜を教師データとして学習することにより、これまで手作業ではとてもできなかったような数のパラメータを調整することができるようになりました。

その結果、今ではプロの棋士を圧倒できるほど強くなりました。

勉強のために購入した本

とりあえず、2冊の本を購入しました。

ITエンジニアのための機械学習理論入門

「ITエンジニアのための機械学習理論入門」

最小二乗法からベイズ推定まで、機械学習の具体的なアルゴリズムが解説されている本です。

本屋で機械学習に関する本を立ち読みしていたところ、一番わかりやすかったので購入しました。

オススメです( *´艸`)

Pythonスタートブック

「Pythonスタートブック」

Python(パイソン)とは、プログラミング言語の一種です。C言語やC++とは違って、かなりの高級言語です。

この言語は、ライブラリが豊富で、人工知能(機械学習)の開発で多用されます。

恐らく、今、一番わかりやすくPythonを解説している本が、これなんじゃないかと思います。

まとめ

機械学習を入門した理由は、コンピュータ将棋の評価関数の開発に利用したいからです。

今現在、コンピュータ将棋を作っています。

まだ駒の動かし方を定義しているような段階ですが、完成したら評価関数と呼ばれるコンピュータ将棋の心臓部を作らなければなりません。

評価関数とは、局面の情報を与えてやると、その局面を数値化して有利・不利を判断できる関数のことです。

この評価関数はたくさんの基準(パラメータ)からできていて、このパラメータを機械学習で調整してやるのです。

がんばります。

 

以上です!

ノシ

PS
まずはコンピュータ将棋のライブラリを作って、GitHubに公開しようと思います。

 - 技術系