2
2

More than 3 years have passed since last update.

機械学習について

Last updated at Posted at 2020-04-21

はじめに

今回は,よく耳にする機械学習について,自分なりにまとめてみた.
というものの,ちょっとした事情から予め機械学習に触れてはいた.だがしかし,ある程度の知識はあるけれどもまだフワッとした知識が目立つので,ここらで一つ,自分の知識まとめをしようと思った.
本記事は機械学習の大まかな知識を,自分なりの言葉でまとめていければ,と思う.

機械学習とは

そもそも機械学習とは何か,ここをはっきりさせておこう.

機械学習(Machine Learning: ML)は,明示的な指示を用いることなく,その代わりにパターンと推論に依存して,特定の課題を効率的に実行するためにコンピュータシステムが使用するアルゴリズム及統計モデルの科学研究である.
(参照wiki: https://ja.wikipedia.org/wiki/%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92)

・・・難しいですね.一言でまとめるとしたら,「コンピュータがデータ群から学習し,課題を効率的に実行できるようなシステム」といった感じですかね.
システム例として身近なものだと,スパムメールフィルタが挙げられる.スパムメールなどには一定の規則(メールアドレスが同じ,文面が同じ 等)が存在するため,その規則を推測し迷惑メールボックスに振り分けていく,といった形を取っている.

機械学習のカテゴリ分け

一口に機械学習といえど,やはり用途や目的によって部分的に異なっていく.
ということで,まずはそれぞれを説明する前に,こんなカテゴリ分けになることを先にみておきましょう.
スクリーンショット 2020-04-21 15.19.47.png

それぞれを今回は大まかにまとめてみるが,その前にまずは教師あり学習教師なし学習の違いを先にまとめる.

まず教師あり学習だが,これは予め入力と出力をセットで機械に学習をさせ(これを教師データ,訓練データなどという),出力がわからない入力に対して出力を予想する,といった機械学習手法のことである.つまりは,予想問題をいっぱいやって傾向を読み対策を立て,答えがまだわからない本番問題に取り組む,受験と同じようなものだろう(この例えは如何なものか...).
次に教師なし学習だが,これは先と違うということなので,ラベルがついていない入力データ群を用いて機械に学習させる手法である.ここから教師なし学習では,入力データの隠れたパターンや規則を機械が見つけ出すことを目的としている.つまり,目的とする出力などはなく,学習結果なども簡単には期待値や正解を出すことができない.先の例で例えるとしたら,ぶっつけ本番試験に臨み,その場で今回の問題の傾向を見つけていくようなものかな(この例えは...)(ちゃんと受験勉強はしておきましょうね).

回帰

教師あり学習手法の一つである,回帰.具体的な目的として,回帰は連続的な出力結果を得たい時に用いる手法である.
例えば,株価を予測していきたい時は過去の株価の変動データを元に今後の株価の値を連続的に判断して予測を立てていきます.これが回帰の手法となります.
一言で言うと「入力データの連続値を線で予想する」といった感じですかね.
(某流行りのゲームでもカブ価予測は回帰を使えるのでしょうか?)

分類

教師あり学習手法の一つである,分類.具体的な目的として,分類は離散的な出力結果を得たい時に用いる手法である.
例えば,アヤメの種類を予測する時に,花弁の長さや幅といった離散的な値から,このアヤメはAと言う種類に分類される,と言うように予測を立てていきます.これが分類の手法となります.
一言で言うと「入力データの離散的な値からグループ分けを予想する」といった感じですかね.

クラスタリング

教師なし学習手法の一つである,クラスタリング.具体的な目的として,未知のデータ群から特徴によってCluster(集団)を見つける手法である.
もちろん,教師なし学習のためラベルを与えるなどは一切しない.そのため,複数のグループ分け種別などが予測されるが,それをまたもう少し細かく制御していくことで,適正なClusterを見出していく.
年齢や性別,嗜好性などからClusterを作成し,それぞれのClusterに適したメールを送信する,といったレコメンデーションやマーケティングなどに用いられたりする.

次元削減

教師なし学習手法の一つである,次元削減.だが,これは少し今までとは異なる.
機械学習における「次元」だが,これはいわゆる要素のことと考えてもいい.様々な要素からなるデータを学習させていくのだが,その中でも重要度が低い要素があったとしたら,その要素は学習から省いても学習結果に問題ない事になる.この作業が次元削減のことだ.
いろいろな要素を加味して機械学習を行いたい,といった気持ちはわかるがいらない情報(ノイズ)を入れてもそれはただの無駄.そう言うのをなくしましょうね,といったものが次元削減のことである.
もちろん当たり前だけど,重要な要素は削減したりしないように!

+α知識
「どの変数を削減するのか」→「削減した結果どう影響が出るのか」といったことは,教師データとして存在しないため,その観点から教師なし学習に分類されることになります.
また削減したモデルを用いて,教師あり学習にもう一度つっこんで学習させる,と言うことも機械学習ではよくある手法.つまり,こんな感じで分析をする前処理としても利用されるため,そういったところからなんか難しい,応用テクニックとして感じてしまう...

まとめ

今回は大まかな形で機械学習についてまとめてみた.
うーん,やっぱり言葉にして説明するってのはなかなか難しいな,とすごく思いました.
次回からはそれぞれの学習手法について掘り下げていくので,そこでもっと言語化を図れるようにしていこうと思います.

2
2
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
2
2