G検定 › Web参考書 › 第3章

教師あり学習(回帰と分類、線形回帰、ロジスティック回帰、SVM、決定木、アンサンブル学習)

第3章 機械学習の概要 / 節 1

シラバスのキーワード: 回帰問題分類問題線形回帰単回帰分析重回帰分析ロジスティック回帰サポートベクターマシン (SVM)マージン最大化カーネルトリック決定木ランダムフォレストバギングブースティング勾配ブースティング自己回帰モデル (ARモデル)

本文を読んだあと、覚えているか確認してください。

教師あり学習の枠組み

特徴量(入力)と教師データ(正解)のペアから、入力と出力の対応関係を学習します。出力が連続値(売上高、気温)なら回帰問題、離散的なカテゴリ(迷惑メールか否か、犬か猫か)なら分類問題です。クラスが3つ以上の分類は多クラス分類で、2値分類器をクラスごとに用意する一対他(one-vs-rest)などで実現します。

線形モデル

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

クラスを分ける境界と、境界に最も近いデータ点(サポートベクター)との距離(マージン)を最大にするように境界を決めます。直線で分けられないデータは、高次元空間に写像して線形分離します。写像後の内積をカーネル関数で元の空間のまま計算する工夫がカーネルトリックです。

決定木とアンサンブル学習

決定木は「年齢は30歳以上か」のような条件で段階的に分岐させるモデルで、分類にも回帰にも使え、判断の過程を人が読めます。深くすると過学習しやすい弱点があります。

手法 仕組み 代表例
バギング ブートストラップサンプリング(復元抽出)で作った複数のデータセットで並列にモデルを学習し、多数決や平均を取る ランダムフォレスト(特徴量もランダムに選ぶ)
ブースティング 弱い学習器を逐次的に追加し、前のモデルの誤りを次のモデルが補う 勾配ブースティング(XGBoost、LightGBM)

試験で問われる観点

この節の練習問題(17問)

答えを見る前に選んでから開いてください。同じ問題は章別演習でランダム出題されます。

  1. 問1
    教師あり学習において、「来月の売上高」のように連続値を予測する問題と、「このメールは迷惑メールか否か」のように離散的なカテゴリを予測する問題の呼び方の組み合わせとして正しいものを選びなさい。
    1. 1連続値: 回帰問題、カテゴリ: 分類問題
    2. 2連続値: 分類問題、カテゴリ: 回帰問題
    3. 3連続値: クラスタリング、カテゴリ: 次元削減
    4. 4連続値: 強化学習、カテゴリ: 教師なし学習
    答えと解説

    正解: 1

    教師あり学習は、予測対象が連続値なら回帰問題、離散的なクラスなら分類問題に分かれます。線形回帰は回帰問題の、ロジスティック回帰は名前に回帰と付きますが分類問題の代表的な手法です。クラスタリングと次元削減は正解ラベルを使わない教師なし学習、強化学習は報酬をもとに行動を学ぶ別の枠組みです。

  2. 問2
    ロジスティック回帰の説明として、最も適切なものを選びなさい。
    1. 1複数の決定木をブートストラップ標本で独立に学習させ、多数決で2クラスに分類する手法
    2. 2線形結合の出力をシグモイド関数で0〜1の確率に変換し、閾値で2クラスに分類する手法
    3. 3線形結合の出力をそのまま連続値として用い、目的変数との二乗誤差を最小化する回帰の手法
    4. 4説明変数の条件分岐を木構造で繰り返し、葉に到達したデータのクラスを予測する手法
    答えと解説

    正解: 2

    ロジスティック回帰は、入力の線形結合をシグモイド(ロジスティック)関数に通して「クラス1である確率」を出力し、0.5などの閾値で分類する手法です。名前に回帰と付きますが用途は分類で、多クラス分類ではソフトマックス関数に拡張されます。直線で当てはめるのは線形回帰、木構造で分けるのは決定木、決定木の多数決はランダムフォレストです。

  3. 問3
    サポートベクターマシン(SVM)において、クラスを分ける境界と、境界に最も近いデータ点との距離を最大にするように境界を決める考え方を( )という。括弧に入る語として最も適切なものを選びなさい。
    1. 1ブートストラップサンプリング
    2. 2勾配ブースティング
    3. 3マージン最大化
    4. 4カーネルトリック
    答えと解説

    正解: 3

    SVMは、境界(超平面)と各クラスの最も近い点(サポートベクター)との距離であるマージンを最大化することで、汎化性能の高い境界を求めます。線形に分離できないデータに対しては、カーネル関数で高次元空間へ写像したのと同じ効果を計算量を増やさずに得るカーネルトリックを使います。ブートストラップサンプリングはバギングで用いる復元抽出、勾配ブースティングはブースティングの一手法です。

  4. 問4
    ランダムフォレストの説明として、最も適切なものを選びなさい。
    1. 1前のモデルが誤分類したデータの重みを大きくして次の決定木を逐次学習し、各木の重み付き和で予測するブースティングの手法
    2. 2特徴量をランダムに選んで多数の決定木を学習し、前の木の予測誤差を次の木が順に補正していく勾配ブースティングの手法
    3. 3ブートストラップサンプリングで作った複数のデータから、ランダムに選んだ特徴量で1本の深い決定木を学習し、その葉の値で予測する手法
    4. 4ブートストラップサンプリングで作った複数のデータと、ランダムに選んだ特徴量で多数の決定木を学習し、その多数決や平均で予測するバギングの手法
    答えと解説

    正解: 4

    ランダムフォレストは、元データから復元抽出(ブートストラップサンプリング)した複数の訓練集合と、分岐ごとにランダムに選んだ特徴量で多数の決定木を独立に学習させ、分類なら多数決、回帰なら平均で予測するアンサンブル学習です。並列に学習するバギングの代表例で、1本の決定木より過学習しにくくなります。誤分類したデータの重みを大きくして逐次学習するのはAdaBoostなどのブースティング、前の木の誤差を次の木が補正するのは勾配ブースティングで、1本の深い決定木だけで予測する手法はランダムフォレストではありません。

  5. 問5
    アンサンブル学習のうち、バギングとブースティングの違いの説明として最も適切なものを選びなさい。
    1. 1バギングは複数のモデルを並列に独立して学習させて結果を統合し、ブースティングは前のモデルの誤りを補うように次のモデルを逐次的に学習させる
    2. 2バギングは決定木を弱学習器として用いる場合に限られる手法で、ブースティングはニューラルネットワークを弱学習器として用いる場合に限られる手法である
    3. 3バギングはラベルなしデータでクラスタごとにモデルを学習させる教師なし学習の手法で、ブースティングはラベル付きデータで誤りに重みを付ける教師あり学習の手法
    4. 4バギングは前のモデルの誤りを補うように次のモデルを逐次的に学習させ、ブースティングは複数のモデルを並列に独立して学習させて結果を統合する
    答えと解説

    正解: 1

    バギング(bootstrap aggregating)は、復元抽出したデータで複数のモデルを並列に学習し、多数決や平均で統合します。ランダムフォレストが代表例です。ブースティングは、直前までのモデルが誤ったデータを重視して次のモデルを順番に学習させ、弱いモデルを積み重ねて強いモデルを作ります。勾配ブースティングやXGBoostが代表例です。どちらも複数モデルを使う教師あり学習のアンサンブル手法で、モデルの種類に限定はありません。

  6. 問6
    時系列データの分析で、ある時点の値を過去の自分自身の値の線形結合で予測するモデルを自己回帰(AR)モデルという。これを複数の時系列変数が互いの過去の値に依存する形へ拡張したモデルとして最も適切なものを選びなさい。
    1. 1隠れマルコフ(HMM)モデル
    2. 2ベクトル自己回帰(VAR)モデル
    3. 3自己回帰移動平均(ARMA)モデル
    4. 4サポートベクター回帰(SVR)
    答えと解説

    正解: 2

    ARモデルは1つの時系列を自身の過去の値で説明するモデルで、VARモデルは複数の時系列(例: 売上と広告費)をベクトルとして扱い、各変数を全変数の過去の値で説明するように拡張したものです。ARMAモデルは1つの時系列に移動平均の項を加えた拡張であり、複数変数への拡張ではありません。隠れマルコフモデルは観測できない状態の遷移を扱う確率モデル、サポートベクター回帰はSVMを回帰に応用した手法で、自己回帰の多変量化ではありません。

  7. 問7
    住宅の価格を、面積・築年数・駅からの距離の3つの説明変数から予測したい。予測結果の根拠を「どの変数がどれだけ効いているか」として説明する必要がある。この場面で最も適切な手法を選びなさい。
    1. 1主成分分析
    2. 2Q学習
    3. 3重回帰分析
    4. 4k-means法
    答えと解説

    正解: 3

    複数の説明変数から連続値を予測し、各変数の係数で影響の大きさを説明できるのは重回帰分析です。説明変数が1つなら単回帰分析になります。k-means法はクラスタリング、主成分分析は次元削減でどちらも教師なし学習、Q学習は強化学習の手法で、価格予測には使いません。

  8. 問8
    線形回帰のうち、説明変数が1つのものと、説明変数が2つ以上のものの名称の組み合わせとして正しいものを選びなさい。
    1. 1単回帰分析、重回帰分析
    2. 2重回帰分析、単回帰分析
    3. 3ロジスティック回帰、線形回帰
    4. 4自己回帰、ベクトル自己回帰
    答えと解説

    正解: 1

    単回帰分析は「広告費から売上を予測する」のように説明変数が1つ、重回帰分析は「広告費・店舗数・気温から売上を予測する」のように説明変数が複数の線形回帰です。ロジスティック回帰は分類のためのモデル、自己回帰とベクトル自己回帰は時系列データで過去の値から将来を予測するモデルです。

  9. 問9
    決定木の説明として、最も適切なものを選びなさい。
    1. 1過去の自分自身の値の線形結合で将来の値を予測する時系列モデルで、次数pを決めて係数を推定し、定常な系列の短期予測に用いられる
    2. 2データを「年齢は30歳以上か」のような条件で段階的に分岐させて予測する木構造のモデルで、分類にも回帰にも使え、判断の過程を人が読める
    3. 3データ点をk個の重心に割り当てて重心を再計算する処理を繰り返してグループに分けるモデルで、教師データを必要とせず、事前にkを指定する
    4. 4説明変数の線形結合にシグモイド関数を適用して事象が起きる確率を出力するモデルで、二値分類に使われ、係数からオッズ比を読み取れる
    答えと解説

    正解: 2

    決定木は条件分岐を繰り返してデータを分割していく木構造のモデルで、分岐の条件をたどれば予測の根拠が説明できるため解釈性が高い一方、深くすると過学習しやすい弱点があります。k個の重心に割り当てるのはk-means法、シグモイド関数で確率を出力するのはロジスティック回帰、過去の自分の値から予測するのは自己回帰モデルです。

  10. 問10
    サポートベクターマシンで、直線では分けられないデータを扱うために、データを高次元の空間に写像して線形分離できるようにする際、写像後の内積を直接計算せずに済ませる工夫を( )という。括弧に入る語として最も適切なものを選びなさい。
    1. 1マージン最大化
    2. 2ブートストラップサンプリング
    3. 3カーネルトリック
    4. 4主成分分析
    答えと解説

    正解: 3

    カーネルトリックは、高次元空間へ写像した後の内積をカーネル関数で元の空間のまま計算することで、計算量を抑えつつ非線形な境界を扱えるようにする手法です。マージン最大化はSVMが境界を決める基準、ブートストラップサンプリングはバギングで使う復元抽出、主成分分析は次元削減の手法です。

  11. 問11
    勾配ブースティングの説明として、最も適切なものを選びなさい。
    1. 11本の深い決定木を作ってから、汎化性能が上がるように不要な枝を刈り取って過学習を抑える
    2. 2データをカーネル関数で高次元空間に写像し、マージンが最大になる線形の分離境界を求める
    3. 3複数の決定木をブートストラップ標本で並列に独立して学習させ、予測の多数決や平均で結果を決める
    4. 4浅い決定木を順番に学習させ、前の木までの予測の誤差(残差)を次の木が補うように積み上げていく
    答えと解説

    正解: 4

    勾配ブースティングは、弱い学習器(通常は浅い決定木)を逐次的に追加し、それまでのモデルの誤差を減らす方向(勾配)に新しい木を学習させるブースティング手法です。XGBoostやLightGBMなどの実装が表形式データのコンペで広く使われています。並列に学習して多数決するのはバギング(ランダムフォレスト)、高次元への写像はSVMの考え方です。

  12. 問12
    2値分類のモデルを使って、「犬・猫・鳥」のような3つ以上のクラスを分類する多クラス分類を実現する一般的な方法として、最も適切なものを選びなさい。
    1. 1各クラスについて「そのクラスか、それ以外か」を判定する2値分類器を用意し、最も確信度の高いクラスを選ぶ
    2. 2ラベルのないデータとして扱い、クラスタリングで3つの塊に分けたうえで、各塊に事後的にクラス名を割り当てる
    3. 3クラス数と同じ数の2値分類器を用意し、各分類器の出力を連結して1つの回帰値とし、四捨五入してクラスを決める
    4. 43つのクラスを数値の1・2・3に置き換えて1つの回帰モデルで予測し、出力に最も近い整数を選んでクラスとする
    答えと解説

    正解: 1

    一対他(one-vs-rest)と呼ばれる方法で、クラスごとに「自分か他か」の2値分類器を作り、出力が最大のクラスを予測とします。ロジスティック回帰をソフトマックス関数で拡張して一度に多クラスの確率を出す方法もあります。クラスを数値に置き換えて回帰することは順序の意味がないため不適切で、クラスタリングで代用したりクラスを無視したりする方法も誤りです。

  13. 問13
    次の業務課題のうち、教師あり学習の「回帰問題」として扱うのが最も適切なものを選びなさい。
    1. 1顧客からの問い合わせメールを「請求」「故障」「その他」に振り分ける
    2. 2製造ラインのセンサー値から、翌日の製品の不良個数を予測する
    3. 3購買履歴が似ている顧客を自動でいくつかのグループにまとめる
    4. 4クレジットカードの取引が不正かどうかを判定する
    答えと解説

    正解: 2

    回帰問題は連続的な数値を予測する問題で、不良個数のような量の予測が該当します。メールの振り分けと不正取引の判定は離散的なカテゴリを当てる分類問題です。似た顧客をグループにまとめるのは正解ラベルのないクラスタリングで、教師なし学習に分類されます。

  14. 問14
    教師あり学習のモデルに関する記述として、誤っているものを選びなさい。
    1. 1ランダムフォレストは、ブートストラップサンプリングで作った複数のデータセットと、ランダムに選んだ特徴量で多数の決定木を学習させる
    2. 2アンサンブル学習は複数のモデルを組み合わせる手法で、単体のモデルより汎化性能が向上することが多い
    3. 3サポートベクターマシンは決定木を多数組み合わせたアンサンブル学習の一種である
    4. 4線形回帰は説明変数と目的変数の関係を直線(平面)で近似するモデルで、係数の大きさから各変数の影響を読み取れる
    答えと解説

    正解: 3

    サポートベクターマシンはマージン最大化によって境界を決める単体のモデルで、決定木のアンサンブルではありません。線形回帰、ランダムフォレスト、アンサンブル学習に関する記述はいずれも正しい内容です。ランダムフォレストはデータと特徴量の両方をランダムに選ぶことで木ごとの多様性を確保しています。

  15. 問15
    バギングで複数の学習用データセットを作るために用いる、元のデータから重複を許してランダムに抽出する方法として最も適切なものを選びなさい。
    1. 1k-分割交差検証(検証用を入れ替えて評価)
    2. 2ホールドアウト検証(訓練と検証に一度だけ分割)
    3. 3ブースティング(弱い学習器を逐次的に追加)
    4. 4ブートストラップサンプリング(復元抽出)
    答えと解説

    正解: 4

    バギングでは、復元抽出であるブートストラップサンプリングで作った複数のデータセットで並列にモデルを学習し、結果を統合します。k-分割交差検証とホールドアウト検証はモデルの性能を評価するための検証方法です。ブースティングは弱い学習器を逐次的に追加して前の誤りを補うアンサンブル手法で、抽出方法の名前ではありません。

  16. 問16
    通信会社が、契約者ごとに「来月解約する確率」を0〜1の値で算出し、確率の高い順にフォローしたい。最も適切な手法を選びなさい。
    1. 1単回帰分析
    2. 2ロジスティック回帰
    3. 3k-means法
    4. 4自己回帰モデル(AR)
    答えと解説

    正解: 2

    ロジスティック回帰は説明変数の線形結合にシグモイド関数を適用し、事象が起きる確率を0〜1で出力する分類モデルです。単回帰分析は説明変数1つで連続値を予測する手法で出力が0〜1に収まらず、k-means法は正解ラベルを使わないクラスタリング、自己回帰モデルは1つの時系列の過去の値から将来の値を予測する手法です。

  17. 問17
    決定木とアンサンブル学習に関する記述として、不適切なものを選びなさい。
    1. 1決定木は分類にも回帰にも使え、判断の過程を人が読める
    2. 2決定木は、木を深くするほど過学習しにくくなる
    3. 3XGBoostやLightGBMは、勾配ブースティングの代表例である
    4. 4バギングは、並列に学習したモデルの多数決や平均を取る
    答えと解説

    正解: 2

    決定木は分岐を深くするほど訓練データに細かく当てはまり、過学習しやすくなるのが弱点です。分類にも回帰にも使えて判断の過程を読めること、XGBoostやLightGBMが勾配ブースティングの代表例であること、バギングが並列に学習したモデルの多数決や平均を取ることは、いずれも正しい記述です。