讃岐小僧のEngineering×Techメモ

未経験から挑戦中のプログラミングや、趣味の野球や狩猟について、その他、ビジネスやテクノロジーをテーマに様々なことをつぶやく場所です。

【JDLA】G検定受験に向けたメモ ~part3~

G検定とは

一般社団法人日本ディープラーニング協会(JDLA)が実施する資格試験。

小僧が受験するのはG検定で合格できたものはJDLAより下記の認定を受け取ることができる。

ディープラーニングの基礎知識を有し、適切な活用方針を決定して事業応用する能力を持つ人材

www.jdla.org

今回も前回~part2~に引き続きG検定受験にむけた内容をメモしていきたいと思います。

特異点

数学や物理学でよく用いられる概念で、ある基準が適用できなくなる点のこと

ランダムフォレスト

ランダムフォレストは複数の特徴量を元にパターンを出力する教師あり学習の手法の一つ。 出力を決定するために用いる分岐器をランダム生成する

ランダムフォレストでは複数の決定木が作られる。
それぞれの学習結果は異なるため、異なる結果を用いて多数決を取りモデルの最終出力を決定する

アンサンブル学習

複数のモデルを学習させることをアンサンブル学習という

バギング

全体から一部のデータ・複数のモデルを用いて学習する方法をバギングという

※ランダムフォレストはバギングの中で決定木を用いている方法

ブーストラップサンプリング

ランダムフォレストの学習プロセスでランダムに生成されるそれぞれの分岐器において、使用されるデータを全体のデータから一部をランダムに取り出して利用すること

ブースティング

一部データを繰り返し抽出し、複数のモデルを学習させる手法
ブースティングではまず一つのモデルを学習する。

次に作成するモデルでは、はじめに生成したモデル学習時に誤認識してしまったデータを優先的に正しく分類できるように学習する
このように順次、前のモデルで誤ったデータに重みをつけて学習を進めていく

一般的にランダムフォレストよりブースティングモデルの方がいい精度が得られることが多い
ただし、並列処理をしないため学習にかかる時間が多くなる

バギングとブースティングの違い

バギング:複数のモデルを一気に並列に作成
ブースティング:複数モデルを逐次的に作成

有名なブースティングモデル

  • AdaBoost
  • 勾配ブースティング
  • XgBoost

サポートベクターマシーン(SVM

各データ点との距離が最大となるような境界線を求めることで、パターン分類を行う手法
距離を最大化することをマージン最大化と呼ぶ

SVMの課題

  • 扱うデータは高次元
  • データが線形分類できない(直線で分類できない)

前者の場合は超平面で考えれば問題はないが、後者の場合は何をもってマージンが最大となるか考える必要がある
SVMではデータをあえて高次元に写像することで、その写像後の空間で線形分類できるようにするよいうアプローチがとられる。

この写像に用いられる関数をカーネル関数といい、実際に写像することをカーネルトリックという

ニューラルネットワーク

人間の脳の神経回路を模した構造(層構造)のアルゴリズム
入力を受け取る部分を入力層、出力する部分を出力層と呼ぶ
入力層における各ニューロンと出力層におけるニューロン間のつながりは重みで表現される

単純パーセプトロン

このモデルは複数の特徴量(入力)を受け取り、一つの出力を行う

f:id:keisuke8925gdk:20190307155529p:plain
単純パーセプトロンのイメージ

多層パーセプトロン

入力層と出力層をだけのシンプルな単純パーセプトロン更に層を追加するというアプローチを取ったもの
入力層と出力層の間に追加された層を隠れ層とういう

f:id:keisuke8925gdk:20190307155734p:plain
多層パーセプトロンのイメージ

誤差逆伝播法(backpropagation)

ニューラルネットワークでは多層パーセプトロンの出現で調整すべき重みの数も増えた
予測値と実際の値との誤差をネットワークにフィードバックするアルゴリズム

次の記事はこちら