SE(しがないエンジニア)

20代しがないエンジニアの雑記。

【機械学習】文系でもわかる機械学習(超前提知識)


環境を入れたところで、教師あり学習をやってみようかなと思います。
ただ、機械学習についてあまり体系的な学習ができてなかった。

今回は、勉強しながら内容をまとめていくことにします。

この記事の目的・レベル感

私は文理融合の学部でコンピュータ関連の勉強をしてましたが、ほぼ文系です。
折角なので、文系の方や、この分野に明るくない方にとって分かり易いものにしたいと思っています。
なので、かなりライトな内容になっていると思います。悪しからず。

機械学習ってどういう位置づけ?

よくこの分野で耳にする単語には、下記のようなものがありますよね。
大体どのセミナーなどに参加しても、こんな言葉が長々と複雑に並べられるイメージ。


厳密には、この3つは意味合いが違っていて、これらには関係性があるようです。
まずは前提知識として、これらを紐解いていきたいと思います。

人工知能(Artificial Intelligence)とは

コンピュータを使って、学習・推論・判断など人間の知能のはたらきを人工的に実現したもの。

人工知能 - Wikipedia


この言葉は1956年頃に生まれたものだそうです。
ダートマス会議という、人工知能の学術研究分野を確立した会議が開かれた年です。)

「ヒトと同じこと、それ以上のことが出来るコンピュータを作る!」という夢が出てきた頃ですかね。

確かに、ごく最近まで「AI、人工知能」という形で理想形として映画に出てきたりしています。
スターウォーズとか、ロードランナーとか。)

纏めると、やはり包括的なフレーズとして使われているようです。

機械学習(Machine Learning)とは

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

機械学習 - Wikipedia


人工知能とは少し意味合いが違うことがお分かりいただけたでしょうか。
人工知能はあくまで「目的」であり、それを実現するための「技術・手法」が機械学習です。

要するに、人間と同じことをしてもらうために機械にお勉強させよう、ということです。

お勉強の方法がいくつかあって、これをアルゴリズムといいます。
具体的には下記のとおり。

  • 教師あり学習
     人間が用意した大量の正解データ(教師データ)によって、関係性を機械が事前に学習します。
     →これは犬だ、と予め教えておくと、やがて犬を正確に認識するようになる。

  • 教師なし学習
     機械には教師データを与えません。
     機械がデータの構造や特徴を学習します。
     →大量のデータを分析していくうちに、自然と「これが犬か。。。」と認識するようになる。
      幼児の成長と似ています。

  • 強化学習
     機械は今おかれた状態を観測し、取るべき行動を自身で決定します。
     最も「報酬」が多く得られる行動を自身で学習していく、というものです。
     →ArufaGoが例としてあります。碁では勝つことが報酬にあたります。
      コンピュータはより多く勝てる(報酬を得る)ように学習していきます。



深層学習(Machine Learning)とは

深層学習とは、多層のニューラルネットワーク(ディープニューラルネットワーク、英: deep neural network)による機械学習手法である。

ディープラーニング - Wikipedia



なるほど。機械学習の一つであるということから、関係性は読み解けるかと。
ただ、自分的にはこれ聞いただけでは、ちょっと難しい内容でした。ですので噛み砕きます。

ニューラルネットワークって何者?

脳機能の特性を、計算機上のシミュレーションによって表現することを目指した数学モデル。
※ニューラル(つまり、ニューロン)は神経細胞のこと。

詰まるところ機械学習の手法の一種ということです。

なんとなく

わかった気がする。
かなりざっくりとした見解ですが、取り巻くワードの関係性は整理できたと思います。
今後はPythonを使いながら、機械学習の各アルゴリズムの特性や使用法をつかんでいきたいと思います。
ではでは!