LoginSignup
3
6

More than 3 years have passed since last update.

100日後にエンジニアになるキミ - 76日目 - プログラミング - 機械学習について

Last updated at Posted at 2020-06-04

昨日までのはこちら

100日後にエンジニアになるキミ - 70日目 - プログラミング - スクレイピングについて

100日後にエンジニアになるキミ - 66日目 - プログラミング - 自然言語処理について

100日後にエンジニアになるキミ - 63日目 - プログラミング - 確率について1

100日後にエンジニアになるキミ - 59日目 - プログラミング - アルゴリズムについて

100日後にエンジニアになるキミ - 53日目 - Git - Gitについて

100日後にエンジニアになるキミ - 42日目 - クラウド - クラウドサービスについて

100日後にエンジニアになるキミ - 36日目 - データベース - データベースについて

100日後にエンジニアになるキミ - 24日目 - Python - Python言語の基礎1

100日後にエンジニアになるキミ - 18日目 - Javascript - JavaScriptの基礎1

100日後にエンジニアになるキミ - 14日目 - CSS - CSSの基礎1

100日後にエンジニアになるキミ - 6日目 - HTML - HTMLの基礎1

今回は機械学習についてのお話です。

機械学習について

昨今色々な事情で休校になったり、出勤できなかったりしてたりするので
この機会にお勉強はいかがでしょうか?

機械学習について数式なんかを用いずに
小学生でも分かるような内容で説明してみたいと思います。

解説動画はこちら

表示されなかったらすみません

機械学習って何?

image.png

まずはじめに、機械学習って何?っていうところからです。

機械学習はコンピューターにデータを学習させて
未知データに対して予測をする試みを行うことです。

大量のデータに潜むパターンを覚えさせることを学習
未知のデータを判断するルールのことをモデルと言い
このモデル作りが機械学習のポイントになります。

機械学習とAI

image.png

次に昨今の人口知能などとの言葉の関係についてです。

人工知能のことを英語ではAIと言っています。
AIの多くは機械学習を元に作られているものがほとんどです。
そして機械学習のことを英語ではマシンラーニングと呼んでいます。

深層学習機械学習の手法の一つで、英語ではディープラーニングと呼んでいます。

言葉の関係性は図のような感じです。

機械学習はどこで使われているの?

image.png

機械学習がどんな場面で用いられているかと言うと現在では様々な分野で幅広く用いられています。

自動運転のために行われる画像の判別や物体検知、人物や動物の分類、手書き文字の判別などが主な分野です。

人の行動に関わるデータについても多く用いられています。
ショッピングサイトでは、入会するかどうか、退会してしまうかどうか
この人のオススメの商品は何か、と言った判断に機械学習が多く用いられています。

学習させたものから、様々なものの生成を行うこともできます。
画像のスタイルを学習させて、それっぽい画風の画像を作ったり、
それっぽい曲を作る、英語の文章を日本語に翻訳するのも機械学習で行われています。

機械学習でできること

image.png

機械学習でできることは主に3つ
回帰
分類
クラスタリング
です。

それぞれ
回帰:数値を予測する
分類:カテゴリを予測する
クラスタリング:いい感じに分ける
と言うことができます。

学習の方法

image.png

学習方法も大きく分けて3つ
教師あり学習
教師なし学習
強化学習
です。

教師あり学習は答えがあって、その答えに沿って学習させる学習方法です。
教師なし学習は答えが分からないものに対して行う学習方法です。
強化学習はゲームの勝利など、何かしらの価値観に基づき、その価値を最大化させるような学習方法のことを言います。

実際のデータ

image.png

データは縦横のある表形式のデータを用いて行います。
通常はデータの種類(列)は1つではありません。複数存在することがほとんどです。

この列方向のデータの種類のことを機械学習では変数とも呼んでいます。

教師あり学習

image.png

教師あり学習について

部屋の広さから、価格を当てに行くことを考えてみましょう。
まずはデータ(部屋の広さと価格)を用意しておきます。

データに当てはまるような、いい感じの線を引くことを考えてみてください。

右側の図のような線が引けるんじゃないでしょうか?

この線のようなことを学習モデル(判別のルール)と呼んでいます。

image.png

できた予測モデルを用いて、データから予測を行ってみましょう。

部屋の広さのデータから、それに当てはまる線の部分を見ていくと
価格の方が出てきます。これが予測した値になります。

予測はあくまでも答えに近い値を出すだけで、ぴったり当てる事はなかなか難しいです。

またデータは一つだけではないので、いろいろなデータをみながら
いい感じの線を引く方法を考えてあげる必要があります。

今回は数値を当てにいくことを例にしましたが、これは回帰と言う方になります。
男性,女性などの数値でないものを当てに行くものは判別と言っています。

教師なし学習

image.png

続いて教師なし学習です。

教師なし学習はクラスタリングのようにいい感じに分ける学習方法のことを言います。

答えはないので、予測された結果が正しいかどうかは人間の判断に委ねられることになります。

深層学習について

image.png

深層学習についてです。

ニューラルネットという学習モデルを用いた学習方法です。
人の脳の構造を真似した学習モデルで入力層隠れ層出力層の3つの層を設定できます。

そのうち、隠れ層が2つ以上のものをディープニューラルネットワーク(DNN)とも呼んでいます。
そのDNNを用いた学習方法がディープラーニングです。

image.png

めちゃくちゃざっくりですがディープラーニングの何が凄いのかというと
機械が人間の精度を超えたということです。

特に世界的に行われている画像認識のコンテストでは
人間の精度を超えるモデルが出来上がっています。

ということで、人間の代わりにより精度の高い判別をしてくれるようになってきたため
英語の文章を日本語に翻訳するなど、様々な分野で活躍するようになってきています。

機械学習に必要なもの

image.png

機械学習を初めてみたい方にはまずはPCを用意しましょう。

次にPythonというプログラム言語をインストールしましょう。

最後に機械学習に使う表形式のデータを用意すれば良いです。

さて、機械学習をしてみたいけどプログラミングとか分からないなーという方が居たら
当方で講座を用意していますのでそちらを参考にしてみてください!!!

参考:
Pythonプログラミング講座

まとめ

ハイパーざっくりですが機械学習についての説明です。

機械学習自体は、このご時世、どこの企業でも取り入れられており
サービスには欠かすことのできないツールになってしまいました。

そのため、知らないよでは済まされなくなってきています。

概念だけであればあまり難しくはありません。
細かく追求しようとするとキリがありません。

まずはざっくりとした知識として身につけておき
業務などでやるようになったらどうやって実現すれば良いのかを
学べば良いと思います。

君がエンジニアになるまであと24日

作者の情報

乙pyのHP:
http://www.otupy.net/

Youtube:
https://www.youtube.com/channel/UCaT7xpeq8n1G_HcJKKSOXMw

Twitter:
https://twitter.com/otupython

3
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
6