宇宙系プログラマと看護師夫婦の情報発信チャンネル

mikazukiblog

プログラミング

プログラミング知識0でもわかる機械学習の入門【本を買う前に読みましょう】

投稿日:

「AI流行ってるし、勉強してみたいな」とか「機械学習ってよく聞くけど実際なんなの?」

↑こんな疑問に答えます。

私は、宇宙関連企業で5年間、プログラマとして業務を行ってきました。

最近は、宇宙産業にも機械学習を取り入れられないかと、勉強をはじめました。

そこで、自分の勉強もかねて、機械学習に興味を持っている方に、それが何なのかを少しでも広めたいと思い、この記事を書くことにしました。

最近ニュースやネット記事でも、見ない日はないくらい流行っている「AI(人工知能)」や「機械学習」というワードですが、いったいどんなものなんでしょう。

本格的にそれらを学習するには、プログラミングの知識が必要となります。

もし、プログラミングを「やったことない」とか「すこしかじったことある」くらいの人が、いきなり本屋で難しい参考書を買っても、普通に挫折するだけだと思います。

この記事では、まずはそれらがどんなものか、小学校高学年くらいの子に説明するように解説していきます。

たぶん、他のどのサイトよりもやさしいレベルの解説をします。

これから、勉強しようか考え中の方、好奇心から知りたいと思っている方の機会学習の勉強を始めるきっかけとなれば幸いです。

プログラミング知識0でもわかる機械学習入門





そもそも、機械学習ってなに?

という問いに対して、おかたく言うと

データから規則性やパターン、傾向などを学習し、それに基づいて未知なものを予測、判断する技術

です。

わかりにくいですね。

例を聞けばわかりやすいですかね。

人間は誰しも日常的に「予想」して「行動」してますよね。

例えば、

「ここ2,3日寒いし、明日はカイロを買って暖かい服を着て外出しよう」

というのも、傾向を学習して対応を判断した結果です。

なぜAI(人工知能)は流行っているのか

AIを機能させるのは、大量のデータです。

人間が2,3個の情報から次の未来を予測するのは、簡単な場合も多いです。

しかし、機械にとって、その未来を予測するには、もっとたくさんのデータを必要とする場合が多いのです。

そのデータ(情報)が世の中にあふれるようになったことが、AIの発展を後押ししたことは間違いありません。

データがあふれるようになった要因は、

  • インターネットの普及
  • スマートフォンの普及
  • SNSの隆盛

です。

今では、小学生でも簡単に動画を撮り、それをYouTubeにアップすることができます。

爆発的な情報量の増加が起きていることは、皆さんも実感しているのではないでしょうか?

AIはその情報をエサに、どんどん成長していく分野なのです。

伸びるということは価値がある→価値があるということはお金になる

ということで、世界中がこぞって開発競争をしているのです。

ということは今のうちにAIを勉強しておけば、市場価値の高い人になれるでしょうね。

AIと機械学習って違うの?

機械学習というのは、AIの一つの分野です。

機械学習の中に「ニューラルネットワーク」という手法があり、「深層学習(ディープラーニング)」という拡張機能があります。

おおよその関係がこのようになっています。

機械学習のステップ

機械学習のステップは、大きく

  • 学習
  • 推論

に分けられます。

ステップ1:学習

ここでは、コンピュータ(機械)に大量のデータを与えます。

そこからそのデータを分析させ、パターンや傾向などを導かせます。

なお、データのパターンを導くための方法は、人間がコンピュータに教えてやります。

上で挙げた例で考えると、過去の同じ時期の気温などのデータを機械に読み込ませると、

「おそらく明日も寒いからカイロを準備するのをおすすめするよ」

なんてことを機械が言ってくるのです。

ステップ2:推論

先ほどの例で、最近は寒いとしても、本当に明日も寒いかはわかりませんよね。

では、機械は自分で天気予報を見て、明日の朝の気温がマイナス5度だとわかりました。←新データ

そうなれば、

 

「明日は寒いからカイロが良く売れそうだ」とか「この気温の時は、過去のデータからカイロは100箱は売れそうだ」

なんてことが推測できるのです。

こんな感じで、

新データに対しても、学習しておいた傾向やパターンを使い、将来の予測・判断ができるのが機械学習なのです。

今回の例は、簡単に予測できるのですが、実際にはもっと複雑なパターンを機械学習で予測することに使うのです。

人間がすぐに頭に入れられる情報はそこまで多くはありませんが、機械には比べ物にならないほど大量の情報を入れることができます。

その強みをいかして世の中に貢献するための技術なんですね。

機械はどうやって学習するのか



機械学習は、大きく

  • 教師あり
  • 教師なし
  • 強化学習

に分けられます。

「なんじゃそりゃ」

って感じですよね。

教師というのは、実際の人間の先生というわけではなく、機械学習の世界では、「正解を教えてくれるデータ」のことです。

例えば、女性と男性の写真を分類する機械学習なら、

「この写真は女性」、「あの写真は男性」

といった正解が「教師データ」となります。

教師あり学習

女性・男性の分類をするために、写真を機械に大量に読み込ませるとします。

その時に、先ほどの「教師(正解)データ」を写真一枚一枚とセットにして読み込ませる方法です。

機械側は、この時に読み込む写真データの人物が、女性か男性かを知ることができますね。

女性と男性それぞれの特徴を機械に気づかせることで、次に正解を教えないで写真を読み込ませたときに、性別を正しく識別できるというわけです。

教師なし学習

よく例に使われるのが、Amazonの「おすすめ商品」の欄です。

なぜかAmazonのページに行くと、自分が欲しそうなものが勝手にリストアップされてますよね。

これが教師なし学習による「グルーピング」というものです。

グルーピング

あなたの閲覧履歴などから、そういう商品を見た人たちをグループ分けするといったこと

これによって表示されるものは、実際に自分が欲しいものとは限りませんよね。

正解がないにもかかわらず、あなたの趣味に似た人が買っている商品をおすすめすることで、少しでも買ってもらう可能性を高めているのです。

強化学習

世界一の囲碁の棋士にAIが勝ったというニュースを聞いたことありませんか?

このAIには「強化学習」が使われています。

これにも、教師なし学習と同じように正解データは与えられません。

代わりに与えられるのが、「行動の選択肢」と連続した行動の結果に対する「報酬」です。

この状況で、得られる報酬を最大化するように学習するのが強化学習です。

また、なんか難しくなってきましたね。

要するに、

AIがある選択をして、良い結果になったらご褒美をあげる。

ということを繰り返し、学習させることで、どんな選択をしたら良いかの判断の正解率を高めていく方法です。

どの学習方法にせよ人間がある程度教えてあげる

教師あり学習でも、最初に正解を決めるのは人間です。

教師なし学習でも、どんなグルーピングをするかは人間が決めます。

強化学習もどんな結果に報酬を与えるかを人間が決めます。

このように、当たり前ですが、人間が教えてあげることがあって初めて成り立つ方法であることは注意してくださいね。

まとめ



機械学習の入り口の理解が少しでも進みましたでしょうか?

今回は、

  • 機械学習はAIの中の一つの分野である
  • 機械学習は「学習」と「推論」の2ステップで行う
  • 機械学習には「教師あり学習」、「教師なし学習」、「強化学習」の大きく3種類がある

ということを解説しました。

わかりにくい点もあったかと思いますが、なんとなくこんなことやってんだということがわかってもらえれば幸いです。

最後に、これからAIを調べてみようという方に、読んでおいたほうが良い本のリンクを貼っておきます。

知識0から多くのことを学べるので、ぜひおすすめです。

活字が苦手な方には漫画版もありますので、読んでみましょう。

 

 

プログラミングスクール

AIのスクール

-プログラミング

Copyright© mikazukiblog , 2022 All Rights Reserved Powered by STINGER.