本日は、機械学習を触る機会がありました。というのも、私は大学院で免許取得プログラムを使って高校地歴公民に加え、高校情報科を取得中です。そこで機械学習について学ぶ機会がありました。

機械学習というと、なんだか難しいイメージがありますが仕組み自体はとてもシンプルで面白かったので、今回は機械学習の仕組みを簡単に紹介してみようと思います。

機械学習とは?

機械学習とは、コンピューターが大量のデータを学習し、分類や予測などのタスクを遂行するアルゴリズムやモデルを自動的に構築する技術です。現在のAIの中核技術であり、ディープラーニングも機械学習の一部です。

機械学習が使われている例

身近に機械学習が使われている例としては、とある会社で、お客様からのテキストデータから苦情や、要望などの業務改善に繋がるようなキーワードを抽出し、顧客満足度の向上を実現するといったものや、医療の現場では膨大な患者の症状のデータベースを探り特定の患者の将来の病気を予測するような活用がされています。

また、時系列分析を使って膨大なデータベースを探り将来の株価の変動を予測するといったところにもひと役買っています。

参考https://techplay.jp/column/443

実際に機械学習を触ってみる

では、実際に触っていきます。今回使うのはhttps://teachablemachine.withgoogle.com/trainです。

目標は機械がリンゴ、バナナ、チェリー絵を学習し、自動で判別しそれぞれの値段を表示することです。

①でリンゴ・バナナ・チェリーの画像をアップロードします。ウェブカメラで高速でそれぞれ100枚ずつ撮影します。機械に学習させるためにはなるべくデータは多い方が良いので、色んな形を書いてそれをアップロードします。ちなみに写真の撮影はウェブカメラを使えば高速で取れるのですぐ終わります。

②で①のデータを集約します。上手くいくかな?

③で実際に機械が判別できているか動作を確認します。できていますね。

画面右に注目すると、webカメラにチェリーが写っています。機械学習したコンピューターはチェリーと判断しているのがわかると思います。

また、リンゴに切り替わると、今度はコンピューターもリンゴと判断しています。

プログラミングを組んでみる

きちんと動作ができていることが確認できたら、今度はスクラッチを使ってプログラムを組んでいきます。スクラッチは小学生でも授業で使っているぐらい簡単なものなので、誰でも使えると思います。

スクラッチ→https://scratch.mit.edu/studios/1168062/

そこに、先ほど学習させたデータをURL化してスクラッチに読み込みます。

そして

・リンゴと機械が判断した場合は200円とネコが言う
・バナナと機械が判断した場合は100円とネコが言う
・チェリーと機械が判断した場合は150円とネコが言う

というようにプログラムを組みます。

プログラムを動かす

実際にプログラムを動かしてみると以下です。きちんと動作していることがわかります。

リンゴを写すと、機械学習をしたコンピュータはリンゴと判断し、料金を知らせています。

他のものに関しても同様に反応できています。

このように、機械学習は社会における様々なデータを分析し、自動化しています。高等学校情報科の新学習指導要領では新しくプログラミング言語Pythonが追加されるなど、機械学習の重要性は高まっています。

結論:意外とシンプルで面白い

実際にこうして触ってみるとシンプルで面白いなと思いました。今日紹介した内容はこれからの小学生もやるそうです。私が小学生の時にはこんなことはやっていませんでした。

日々自分の頭をアップデートしていく必要がありますね。

LINEで送る
Pocket