見出し画像

機械学習の定義

今回は機械学習の定義についてノートしたいと思います。


機械学習の定義

私は10年以上プログラマーとして企業で働いてきたのですが、正直、最近まで機械学習という言葉は知っていても意味はよく分かっていませんでした。そんなときに初めて機械学習の定義を聞いて衝撃を受けたのを覚えています。

以下が1959年にアーサー・サミュエルという人が言った機械学習の定義なのですが、〇〇〇に入る5文字の言葉はなんでしょうか?

明示的に〇〇〇しなくても学習する能力をコンピュータに与える研究分野





正解は、

明示的にプログラムしなくても学習する能力をコンピュータに与える...
アーサー・サミュエル(1959年)
出典: 『Machine Learning』コーセラ

プログラマーの私にとってプログラムをしないということに驚きました。

とは言っても、機械学習を使ったシステムを作るのに全くプログラミングが不要かというとそうではなく、あくまで今までIf文Else文などでその分野のエキスポートやプログラマが知的なルールを書いていた部分を自動化できるという意味です。また、これを実現するにはビッグデータが必要です。なので、言い換えると以下のようになると思います。

その分野のエキスパートやプログラマが知的なルールを明示的にプログラムすることなくビッグデータから知的なルールを自動生成する。


機械学習は知的なルールを自動生成

従来のITシステムで知的な振る舞いを実現するには、その分野のエキスパートやプログラマが現実世界を観察してモデル化し知的なルールを人間がプログラムすることが開発プロセスでした。いっぽう機械学習で知的なルールを作るプロセスは、従来のITシステムを作る開発プロセスとはずいぶん異なります。ではどうやって機械学習で知的なルールを自動生成しているのでしょうか。

次のノートでは機械学習で知的なルールを自動生成するプロセスについてまとめたいと思います。


【参考文献】
Andrew Ng(2012)『Machine Learning』コーセラ https://www.coursera.org.
松尾 豊 (著)(2015)『人工知能は人間を超えるか ディープラーニングの先にあるもの』KADOKAWA/中経出版.
Andreas C. Muller (著), Sarah Guido (著), 中田 秀基 (翻訳)(2017)
『Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎』オライリージャパン.


この記事が参加している募集

この記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。

企業で12年間プログラマ→個人事業主| 本業はAndroid/iOSアプリの開発。機械学習・深層学習(ディープラーニング)| E資格(JDLA Deep Learning for ENGINEER 2019 #2)https://github.com/FookieMonster

この記事が入っているマガジン

コメントを投稿するには、 ログイン または 会員登録 をする必要があります。