0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

G検定対策ノート:機械学習の基本概念

0
Posted at

機械学習とは

機械学習とは、人間が細かいルールを全部書かなくても
データからパターンや判断基準を学ばせる技術

ざっくり言うと、AIという大きな分野の中に機械学習があり、
機械学習の中にディープラーニングがある、という位置づけ。

例:迷惑メール
🔷 従来のプログラム
本文に、無料当選今すぐが入っているなら迷惑メールのようなルールを人間が作成

🔷 機械学習の迷惑メール対策
過去の正解データから“迷惑メールっぽさ”のパターンを数値的に学んで判断している

つまり、

ルールを人間が書く
→ データからルールっぽいものを機械に見つけさせる

という発想。

G検定向けには、こう覚えるといい。

機械学習 = データから規則性を学び、未知のデータに対して予測・分類・判断する方法

ポイントは 未知のデータ。
学習済みのデータだけ当てられても意味がなくて、初めて見るデータにも使えること、つまり 汎化性能 が大事。

例:

やりたいこと 機械学習での扱い
家の広さから価格を予測 回帰
メールを迷惑/通常に分ける 分類
顧客を似た者同士で分ける クラスタリング
ゲームAIが勝つ行動を覚える 強化学習

教師あり学習

正解つきデータから学ぶ方法。

例のように、あらかじめ「答え」が付いている。

例:

入力データ 正解
メール本文 迷惑メール
画像
面積・駅距離・築年数 家賃

代表例は2つ。
とりあえず、分類回帰を覚えること。

種類 内容
分類 カテゴリを当てる 迷惑メール/通常メール、犬/猫
回帰 数値を予測する 家賃、売上、気温

教師なし学習

正解なしデータから構造を見つける方法。

答えなしで、「似ている」「まとまり」「外れ値」を探す。

たとえば、顧客データに「優良顧客」「離反しそうな顧客」みたいな正解ラベルがない状態で、
似た特徴を持つ人たちをグループ分けする。

代表例は3つ。
とりあえず、クラスタリング次元削減異常検知を覚えること。

種類 内容
クラスタリング 似たデータをグループ化 顧客分類、記事分類
次元削減 データの情報を保ちながら圧縮 可視化、特徴量圧縮
異常検知 普通と違うデータを見つける 不正検知、故障検知

強化学習

行動して、報酬をもとに学ぶ方法。

AIに試行錯誤してもらい、報酬を最大化する学習方法です。

教師あり学習のように「この入力の正解はこれ」と毎回教えるのではなく、
行動の結果として得られる 報酬 をもとに、より良い行動を学ぶ。

例:

場面 学ぶこと
ゲームAI 勝つための行動
ロボット制御 転ばずに歩く動き
広告配信 クリックされやすい配信方法
自動運転 安全に目的地へ進む行動

基本要素(G検定にはあまりでない?)

用語 意味
エージェント 行動する主体
環境 エージェントが関わる世界
状態 現在の状況
行動 エージェントが選ぶ動き
報酬 行動の良し悪しを表す点数
方策 どの状態でどの行動を取るかのルール

半教師あり学習

少量の正解付きデータ大量の正解なしデータを使う方法

教師あり学習のめんどいところは、データはたくさんあるが、それに正解ラベルを付ける作業が大変・・・
たとえば画像は大量に集められても、「これは猫」「これは犬」と人間がラベルを付けるコストが高い

そこで、

少しだけラベル付きデータがある
大量のラベルなしデータもある

という状態で、両方を活用する。

イメージ:

学習方法 正解ラベル
教師あり学習 たくさん必要
教師なし学習 不要
半教師あり学習 少しだけ必要
強化学習 正解ラベルではなく報酬を使う

過学習と汎化性能

過学習

学習データに合わせすぎて、初めて見るデータに弱くなる状態。

たとえば、模試の答えを丸暗記して点数は取れるけど、本番の少し違う問題に対応できない感じ。

参考:

状態 学習データ 新しいデータ
良いモデル よく当たる よく当たる
過学習 よく当たる 当たらない
学習不足 当たらない 当たらない

つまり、"学習データの点数だけ高い"モデルは危ない

汎化性能

学習に使っていない未知のデータに対して、どれだけうまく予測できるか。

G検定対策ならこれでいい・・・

汎化性能 = 未知データへの対応力

機械学習の目的は、学習データを丸暗記することではなく、
新しいデータにも通用する規則性を学ぶこと。

なぜ過学習が起きるのか

過学習の主な原因

原因 内容
モデルが複雑すぎる 細かい例外まで覚えてしまう
学習データが少ない 偏ったデータを一般法則だと思い込む
ノイズが多い 本来関係ない偶然まで学んでしまう
学習しすぎ 訓練データに最適化されすぎる

たとえば「犬を判定するAI」に、白い犬の画像ばかり学習させると、
犬 = 白いもの と勘違いする可能性がある。

過学習の見分け方

ポイントは、訓練データと検証データの成績差

イメージ:

訓練データの成績 検証データの成績 状態
高い 高い 良い
高い 低い 過学習
低い 低い 学習不足

ようするに、

訓練データでは正解率が高いのに、検証データでは正解率が低い

これが出たら過学習を疑う。

過学習の対策

代表的対策:

対策 内容
データを増やす 偏りを減らす
モデルを単純にする 複雑すぎる表現を抑える
正則化 複雑なモデルにペナルティを与える
早期終了 学習しすぎる前に止める
交差検証 データの分け方に依存しないよう評価する
ドロップアウト ニューラルネットワークの一部をランダムに無効化する

G検定では、正則化早期終了ドロップアウト交差検証から優先して覚えること

まとめ

用語 意味
過学習 学習データに合わせすぎて、未知データに弱くなる状態
汎化性能 未知データに対してうまく予測できる性能
学習不足 学習データに対しても十分に当たらない状態
正則化 複雑すぎるモデルを抑える方法
早期終了 過学習が進む前に学習を止める方法
交差検証 データ分割に依存しすぎないように評価する方法

過学習とは、訓練データにはよく適合するが、未知データへの汎化性能が低下している状態。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?