LoginSignup
0
1

機械学習 学習まとめ: 教師あり学習

Posted at

教師あり学習

  • データ集合の各データの特徴量とラベル(もしくは目標値)の関係を学習するアルゴリズム
  • タスクとしては予測(回帰)や分類など

線形回帰モデル

線形

  • 比例で表される直線(2次元空間)、平面(3次元空間)、超平面(4次元以上空間)
    • 2次元空間だと$ y = ax + b $、3次元空間だと$ z = a·x + b·y + c$
    • n次元空間における超平面(hyperplane)の方程式
      • $ y = a_0 + a_1·x_1 + a_2·x_2 + \cdots + a_{n-1}·x_{n-1} $
      • $ y = a_0 + \displaystyle \sum_{i=1}^{n-1}a_i·x_i $
      • $ y = \displaystyle \sum_{i=0}^{n-1}a_i·x_i , where   x_0 = 1 $
      • $ y = \boldsymbol{a}^T·\boldsymbol{x}, where   \boldsymbol{a} = \left(\begin{matrix} a_0 \\ a_1 \\ \vdots \\ a_{n-1}\end{matrix}\right)$
        • $ \boldsymbol{a} $はn次元ベクトル
        • $ \boldsymbol{a}^T $で$ \left(\begin{matrix} a_0 & a_1 & \cdots & a_{n-1} \end{matrix}\right)$
        • $\boldsymbol{x}$もn次元ベクトル、$ \boldsymbol{x} = \left(\begin{matrix} x_0 \\ x_1 \\ \vdots \\ x_{n-1}\end{matrix}\right)$

回帰問題

  • ある入力(離散あるいは連続値)から出力(連続値)を予測する問題
    • 直線で予測: 線形回帰
    • 曲線で予測: 非線形回帰
  • 回帰で扱うデータ
    • 入力: m次元のベクトル
      • 入力の各要素を説明変数または特徴量と呼ぶ
      • $ \boldsymbol{x} = \left(\begin{matrix} x_1 & x_2 & \cdots & x_{m} \end{matrix}\right)^T \in \mathbb{R}^m$
    • 出力: スカラー値
      • 目的変数
      • $ y \in \mathbb{R}^1 $

線形回帰モデル

  • 回帰問題を解くための機械学習モデルの一つ

  • 入力とm次元パラメータの線型結合を出力するモデル

    • 入力
      • $ \boldsymbol{x} = \left(\begin{matrix} x_1 & x_2 & \cdots & x_m \end{matrix}\right)^T \in \mathbb{R}^m$
    • パラメーター(重み、回帰係数)
      • $ \boldsymbol{w} = \left(\begin{matrix} w_0 & w_1 & w_2 & \cdots & w_m \end{matrix}\right)^T \in \mathbb{R}^{m+1}$
        • パラメーターは最小二乗法で推定する
    • 線型結合(入力とパラメーターの内積)
      • $ \hat{y} = \boldsymbol{w}^T \boldsymbol{x} + w_0 = \displaystyle \sum_{j=1}^{m}w_jx_j + w_0$
        • 予測値にはハットをつける
  • 単回帰モデル

    • 説明変数(入力)が一次元
    • $ \boldsymbol{y} = \boldsymbol{X} \boldsymbol{w} + \boldsymbol{ε} $
      • $ \boldsymbol{X} = \left(\begin{matrix} \boldsymbol{x_1} & \boldsymbol{x_2} & \cdots & \boldsymbol{x_n} \end{matrix}\right)^T $
      • $ \boldsymbol{y} = \left(\begin{matrix} y_1 & y_2 & \cdots & y_n \end{matrix}\right)^T $
      • $ \boldsymbol{x_i} = \left(\begin{matrix} 1 & x_i \end{matrix}\right)^T $
        • $x_0$を1とすることによって、$w_0$も同様に扱えるようにする
      • $ \boldsymbol{ε} = \left(\begin{matrix} ε_1 & ε_2 & \cdots & ε_n \end{matrix}\right)^T $
      • $ \boldsymbol{w} = \left(\begin{matrix} w_0 & w_i \end{matrix}\right)^T $
      • $ \left(\begin{matrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{matrix}\right) = \left(\begin{matrix} 1 & x_1 \\ 1 & x_2 \\ \vdots \\ 1 & x_n \end{matrix}\right) \left(\begin{matrix} w_0 \\ w_1 \end{matrix}\right) + \left(\begin{matrix} ε_1 \\ ε_2 \\ \vdots \\ ε_n \end{matrix}\right) $
        • $ \boldsymbol{X} \boldsymbol{w} $はn×2行列と2×1行列の内積(結果はn×1行列となる)
  • 線形重回帰モデル

    • 説明変数が多次元(m>1)
      • 重みは偏回帰係数と呼ぶ
    • 単回帰は直線だが、重回帰は超平面
    • $ \boldsymbol{y} = \boldsymbol{X} \boldsymbol{w} + \boldsymbol{ε} $
      • $ \boldsymbol{X} = \left(\begin{matrix} \boldsymbol{x_1} & \boldsymbol{x_2} & \cdots & \boldsymbol{x_n} \end{matrix}\right)^T $
      • $ \boldsymbol{y} = \left(\begin{matrix} y_1 & y_2 & \cdots & y_n \end{matrix}\right)^T $
      • $ \boldsymbol{x_i} = \left(\begin{matrix} 1 & x_{i1} & \cdots & x_{im} \end{matrix}\right)^T $
      • $ \boldsymbol{ε} = \left(\begin{matrix} ε_0 & ε_1 & \cdots & ε_n \end{matrix}\right)^T $
      • $ \boldsymbol{w} = \left(\begin{matrix} w_0 & w_1 & \cdots & w_m \end{matrix}\right)^T $
      • $ \left(\begin{matrix} y_1 \\ y_2 \\ \vdots \\ y_n \end{matrix}\right) = \left(\begin{matrix} 1 & x_{11} & \cdots & x_{1m} \\ 1 & x_{21} & \cdots & x_{2m} \\ \vdots & \vdots & \vdots & \vdots\\ 1 & x_{n1} & \cdots & x_{nm} \end{matrix}\right) \left(\begin{matrix} w_0 \\ w_1 \\ \vdots \\ w_m \end{matrix}\right) + \left(\begin{matrix} ε_1 \\ ε_2 \\ \vdots \\ ε_n \end{matrix}\right) $
        • $ \boldsymbol{X} \boldsymbol{w} $はn×(m+1)行列と(m+1)×1行列の内積(結果はn×1行列となる)
        • $ \boldsymbol{X} $は計画行列/デザイン行列
  • 線形回帰モデルでは最小二乗法でパラメーターを推定

    • 二乗誤差(残差平方和): データとモデル出力の二乗誤差の和
    • 平均二乗誤差MSE: Mean Squared Error
      $$ MSE_{train} = \dfrac{1}{n_{train}} \displaystyle \sum_{i=1}^{n_{train}} (\hat{y_i}^{(train)} - y_i^{(train)})^2 $$
    • 最小二乗法では、学習データの平均二乗誤差を最小とするパラメーターを探索する
      • その勾配がゼロになる点を求める
    • $ \hat{\boldsymbol{w}} = arg min_{\boldsymbol{w} \in \mathbb{R}^{m+1}} MSE_{train} $
      • $ \dfrac{∂}{∂\boldsymbol{w}}MSE_{train} = 0 $
        • 以下では$_{train}, ^{(train)}は省略$
      • ⇒ $ \dfrac{∂}{∂\boldsymbol{w}}\lbrace\dfrac{1}{n} \displaystyle \sum_{i=1}^{n} (\hat{y_i} - y_i)^2 \rbrace = 0 $
        • $MSE$を展開
      • ⇒ $ \dfrac{1}{n}\dfrac{∂}{∂\boldsymbol{w}}\lbrace (\boldsymbol{X}\boldsymbol{w} - \boldsymbol{y})^T (\boldsymbol{X}\boldsymbol{w} - \boldsymbol{y})\rbrace = 0 $
        • 二乗を行列で表現(1×n行列とn×1行列の内積)
      • ⇒ $ \dfrac{1}{n}\dfrac{∂}{∂\boldsymbol{w}}\lbrace (\boldsymbol{w}^T\boldsymbol{X}^T - \boldsymbol{y}^T) (\boldsymbol{X}\boldsymbol{w} - \boldsymbol{y})\rbrace = 0 $
        • 転置の線形性 & 転置の公式
      • ⇒ $ \dfrac{1}{n}\dfrac{∂}{∂\boldsymbol{w}}\lbrace \boldsymbol{w}^T\boldsymbol{X}^T\boldsymbol{X}\boldsymbol{w} - \boldsymbol{w}^T\boldsymbol{X}^T\boldsymbol{y} - \boldsymbol{y}^T\boldsymbol{X}\boldsymbol{w} + \boldsymbol{y}^T\boldsymbol{y})\rbrace = 0 $
        • $\lbrace\rbrace$内を展開
      • ⇒ $ \dfrac{1}{n}\dfrac{∂}{∂\boldsymbol{w}}\lbrace \boldsymbol{w}^T\boldsymbol{X}^T\boldsymbol{X}\boldsymbol{w} - 2\boldsymbol{w}^T\boldsymbol{X}^T\boldsymbol{y} + \boldsymbol{y}^T\boldsymbol{y} \rbrace = 0 $
        • $ \boldsymbol{y}^T\boldsymbol{X}\boldsymbol{w}$はスカラなので、$ \boldsymbol{y}^T\boldsymbol{X}\boldsymbol{w} = (\boldsymbol{y}^T\boldsymbol{X}\boldsymbol{w})^T $
        • これを転置の公式で、$ (\boldsymbol{y}^T\boldsymbol{X}\boldsymbol{w})^T = \boldsymbol{w}^T\boldsymbol{X}^T\boldsymbol{y} $
      • ⇒ $ 2\boldsymbol{X}^T\boldsymbol{X}\boldsymbol{w} - 2\boldsymbol{X}^T\boldsymbol{y} = 0 $
        • ベクトルの微分計算
        • $ \dfrac{∂}{∂\boldsymbol{w}}( \boldsymbol{w}^T \boldsymbol{b} ) = \boldsymbol{b} $
        • $ \dfrac{∂}{∂\boldsymbol{w}}(\boldsymbol{w}^T \boldsymbol{A} \boldsymbol{w} ) = (\boldsymbol{A} + \boldsymbol{A}^T) \boldsymbol{w} $
      • ⇒ $ \boldsymbol{X}^T\boldsymbol{X}\boldsymbol{w} = \boldsymbol{X}^T\boldsymbol{y} $
        • 両辺を2で割って、一部を右辺に移動
      • ⇒ $ \hat{\boldsymbol{w}} = (\boldsymbol{X}^T\boldsymbol{X})^{-1}\boldsymbol{X}^T\boldsymbol{y} $
        • 両辺に左から$ (\boldsymbol{X}^T\boldsymbol{X})^{-1} $をかける
        • 正規方程式(Normal equation)が得られた
    • 回帰係数
      • $ \hat{\boldsymbol{w}} = (\boldsymbol{X}^{(train)T}\boldsymbol{X}^{(train)})^{-1}\boldsymbol{X}^{(train)T}\boldsymbol{y}^{train} $
      # (X^TX)^{-1}X^Tの部分を計算する
      w_wo_y = np.dot(np.linalg.inv(np.dot(X_train.T, X_train)), X_train.T)
      # w = (X^TX)^{-1}X^T · y
      w = np.dot(w_wo_y, ys)
      
    • 予測値
      • $ \hat{\boldsymbol{y}} = \boldsymbol{X_*}(\boldsymbol{X}^{(train)T}\boldsymbol{X}^{(train)})^{-1}\boldsymbol{X}^{(train)T}\boldsymbol{y}^{train} $
        • $\boldsymbol{X_*}$は、予測したい新しい$\boldsymbol{X}$

非線形回帰モデル

  • 非線形な構造を持つ現象に対して、非線形モデリングを適用する
    • 例えば、$ y = w_0 + w_1x + w_2x^2 + w_3x^3 $
  • $x$の代わりに、基底関数である$φ(x)$を用いる
    • $φ(x)$は$x$の何らかの関数
    • 例えば、$ y = w_0 + w_1φ_1(x) + w_2φ_2(x) + w_3φ_3(x) $
    • ただし、$\boldsymbol{x}$については非線形だが、パラメーター$\boldsymbol{w}$の観点では線形である(linea-in-parameter)ことに注意
      • このため、正確には「非線形モデルによる線形回帰」と言える
  • 1次元の基底関数
    • 多項式: $φ_j = x^j$
    • ガウス型基底関数: $ φ_j(x) = exp \lbrace -\dfrac{(x - μ_j)^2}{2h_j} \rbrace $
      • $μ_j$が山の位置を、$h_j$が山の幅を規定する
  • n次元の基底関数
    • 2次元ガウス型基底関数: $ φ_j(\boldsymbol{x}) = exp \lbrace -\dfrac{(\boldsymbol{x} - \boldsymbol{μ_j})^T(\boldsymbol{x} - \boldsymbol{μ_j)}}{2h_j} \rbrace $

    • 説明変数: $ \boldsymbol{x_i} = \left(\begin{matrix} x_{i1} & x_{i2} & \cdots & x_{im} \end{matrix}\right)^T \in \mathbb{R}^{m}$

    • 非線形関数ベクトル: $ \boldsymbol{φ}(\boldsymbol{x_i}) = \left(\begin{matrix} φ_1(\boldsymbol{x_{i}}) & φ_2(\boldsymbol{x_{i}}) & \cdots & φ_k(\boldsymbol{x_{i}}) \end{matrix}\right)^T \in \mathbb{R}^{k}$

    • 非線形関数の計画行列: $ \boldsymbol{Φ}^{(train)} = \left(\begin{matrix} \boldsymbol{φ}(\boldsymbol{x_{1}}) & \boldsymbol{φ}(\boldsymbol{x_{2}}) & \cdots & \boldsymbol{φ}(\boldsymbol{x_{n}}) \end{matrix}\right)^T \in \mathbb{R}^{n×k}$

    • 最尤法による予測値: $ \hat{\boldsymbol{y}} = \boldsymbol{Φ_*}(\boldsymbol{Φ}^{(train)T}\boldsymbol{Φ}^{(train)})^{-1}\boldsymbol{Φ}^{(train)T}\boldsymbol{y}^{train} $

      • ロジック自体は線形回帰と同じ

ロジスティック回帰モデル

分類問題

  • ある入力(数値)からクラスに分類する問題
  • 分類で扱うデータ
    • 入力: m次元のベクトル
      • 入力の各要素を説明変数または特徴量と呼ぶ
      • $ \boldsymbol{x} = \left(\begin{matrix} x_1 & x_2 & \cdots & x_{m} \end{matrix}\right)^T \in \mathbb{R}^m$
    • 出力: スカラー値
      • 目的変数
      • $ y \in \lbrace 0, 1 \rbrace $ (0 or 1の値)
  • 3つのアプローチ
    • 識別的アプローチ
      • $ p(C_k|\boldsymbol{x}) $を直接モデル化
    • 生成的アプローチ
      • $ p(C_k) $と$ p(\boldsymbol{x}|C_k) $をモデル化し、その後Bayesの定理を用いて$ p(C_k|\boldsymbol{x}) $を求める
    • 識別的アプローチには識別関数の構成もある
      • 例えば、$ \begin{cases} f(\boldsymbol{x}) \geqq 0 ⇒ C = 1 \\ f(\boldsymbol{x}) < 0 ⇒ C = 0 \end{cases} $
      • SVMなど
    • ロジスティック回帰は識別的アプローチ

ロジスティック回帰モデル

  • 分類問題を解くための教師あり機械学習モデル
    • 入力とm次元パラメーターの線型結合をシグモイド関数に入力
    • 出力(シグモイド関数の出力)は$ y = 1 $になる確率の値
    • 入力
      • $ \boldsymbol{x} = \left(\begin{matrix} x_1 & x_2 & \cdots & x_m \end{matrix}\right)^T \in \mathbb{R}^m$
    • パラメーター(重み)
      • $ \boldsymbol{w} = \left(\begin{matrix} w_0 & w_1 & w_2 & \cdots & w_m \end{matrix}\right)^T \in \mathbb{R}^{m+1}$
        • パラメーターは最小二乗法で推定する
    • 線型結合(入力とパラメーターの内積)
      • $ \hat{y} = \boldsymbol{w}^T \boldsymbol{x} + w_0 = \displaystyle \sum_{j=1}^{m}w_jx_j + w_0$
      • ただこのままだと$y$は実数になってしまう
  • シグモイド関数
    • ロジスティック関数ともいう
    • $ \boldsymbol{w}^T\boldsymbol{x} \in \mathbb{R} $の出力を$ y \in \lbrace 0, 1 \rbrace $につぶす
      • 入力は実数、出力は0〜1の値
    • $ σ(x) = \dfrac{1}{1 + exp(-ax)} $
      • $a$を増加させると、$x=0$付近での曲線の勾配が増加
    • シグモイド関数の微分は、シグモイド関数自身で表現できる
      • $ \dfrac{∂σ(x)}{∂x} = aσ(x)(1-σ(x)) $
  • シグモイド関数を経ることによって、以下のようになる
    • $ P(Y = 1|\boldsymbol{x}) = σ(\boldsymbol{w}^T \boldsymbol{x} + w_0) $
      • $σ$はシグモイド関数
      • シグモイド関数の出力は確率になり、データYは確率が0.5以上ならば1、未満ならば0と予測することが可能になる
  • 逆に、対数オッズを線形回帰により予測するという言い方もできる
    • 発生確率$P$を対数オッズ(ロジット)に変換することをロジット変換という
    • $ logit(P) = log(\dfrac{P}{1-P}) $
    • 逆に対数オッズ(ロジット)を確率に変換するのが、ロジスティック変換であり、これを実現しているのが、シグモイド関数(ロジスティック関数)

サポートベクターマシーン(SVM: Support Vector Machine)

  • 教師あり学習
  • 分類と回帰どちらでも適用可能
    • 分類は決定的(確率は出さない)
  • サポートベクターから最大限マージンを取るように決定境界線を決定する
    • サポートベクター: 境界線(面)の最も近くにあるデータ点(マージン上にある)
      • サポートベクターは少なくとも正例・負例それぞれ1つずつの2つとなる
      • マージンの外側のデータは予測に影響を与えない
    • ハードマージンは誤分類を許容しないが、ソフトマージンはある程度誤分類を許容する
      • ハードマージンは外れ値一つで境界線が大きく変わってしまい、過学習を起こしやすい
      • ソフトマージンは誤分類を許容するので、外れ値によって境界線が大きく変わることがなく、ロバスト性が増す
      • ソフトマージンでは、マージンの中にデータが入ることも許容する
  • マージンを最大化しつつ,誤分類を減らしていくという最適化問題を解く
    • マージンの最大化は、マージンの逆数の最小化と考え、以下を最適化する
      • $ min \lbrace \dfrac{1}{M} + C \displaystyle \sum_{i=1}^m𝜉_i \rbrace $
        • $M$はマージン、$𝜉_i$は𝑖番目のデータがマージンを侵した具合(=残差)
        • パラメーター$C$によって、どれだけ誤分類を許容するかが決まる
          • $ C $が大きいと,$ 𝜉 $は小さくないといけないので、誤分類をあまり許容しない($ C $が無限大の時は誤分類を一切許容しない、結果的にハードマージンになる)
          • 逆に$ C $が小さいと、比較的誤分類を許容する
          • 一般に過学習を防ぐためには$ C $を小さくする方がよい
  • 一般的な線形分類器の決定境界は超平面になる
    • 超平面は以下の式で表される
      • $ θ_0 + θ_1x_1 + θ_2x_2 + \cdots + θ_nx_n = 0 $
    • $x_0 = 1$とすると、
      • $ θ_0x_0 + θ_1x_1 + θ_2x_2 + \cdots + θ_nx_n = 0 $
    • これをベクトルで表記すると、
      • $ θ^T \boldsymbol{x} = 0 $
    • $ θ^T \boldsymbol{x} < 0 $が>0か、<0かで超平面のどちら側にあるかを判定する
  • あるデータ$\boldsymbol{x}$から超平面への距離は、
    • $ d = \dfrac{|θ_0x_0 + θ_1x_1 + θ_2x_2 + \cdots + θ_nx_n|}{\sqrt{θ_0^2 + θ_1^2 + θ_2^2 + \cdots + θ_n^2}} $
    • この距離がマージンとなり、これを最大化するためには、分母である$ \sqrt{θ_0^2 + θ_1^2 + θ_2^2 + \cdots + θ_n^2} $を最小化する
      • 平方根を外して、$ min \displaystyle \sum_{j=0}^n{θ_j^2} $と表現できる
  • $ θ^T \boldsymbol{x} < 0 $が>0か、<0かで超平面のどちら側にあるかを判定するが、実際にはマージンを取ることを考慮し、損失を計算する際に$ θ^T \boldsymbol{x} $が$ <-1 $(y=0の時)、また$ > 1 $(y=1の時)には損失は0とし、それ以外の場合に損失を線形に増やす
    • そのためにヒンジ損失(hinge loss)を利用する
      • 正解ラベルが1のデータでは、$ θ^T \boldsymbol{x} > 1 $であれば損失が0
      • 正解ラベルが0のデータでは、$ θ^T \boldsymbol{x} < -1 $であれば損失が0
  • ハードマージンの場合、以下を制約として、$ \displaystyle \sum_{j=0}^n{θ_j^2} $を最小化する
    • $ θ^T \boldsymbol{x}> 1  \text{if}  y_i = 1 $
    • $ θ^T \boldsymbol{x}< -1  \text{if}  y_i = 0 $
  • ソフトマージンの場合、変数$𝜉_i$(スラック変数)を導入して上記の制約を以下のように緩め、損失関数$ \displaystyle \sum_{j=0}^n{θ_j^2} + C \sum_{i=1}^m{𝜉_i}$ の最小化を図る
    • $ θ^T \boldsymbol{x}> 1-𝜉_i  \text{if}  y_i = 1 $
    • $ θ^T \boldsymbol{x}< -(1-𝜉_i)  \text{if}  y_i = 0 $
  • カーネルトリック
    • 一見線形分離ができなそうなデータも、高次元特徴量を作ることで線形分離させることができる(高次元に写像する)
      • 例えば、特徴量$ x $を$ (x, x^2) $の二次元空間に写像し、新しい特徴量を生成する
      • この際、写像する関数(射影関数)を$ Φ(x) $で表し、$ Φ(x_i)^TΦ(x_j) $の計算を行う
      • $ Φ(x) $が新たな特徴ベクトル
      • ただし、これはそのままでは非常に計算コストが高くなる
    • カーネルトリックでは、計算量を減らすために、特徴ベクトルの内積である$Φ(x_i)^TΦ(x_j)$を一つのカーネル関数に置き換える
      • $ K(x_i, x_j) = Φ(x_i)^TΦ(x_j) $
      • $ K(x_i, x_j) $がカーネル関数
    • よく使われるカーネル関数
      • 正規化線形カーネル
        • $ K(x, x') = \dfrac{x^Tx'}{||x||||x'||}$
      • 多項式カーネル
        • $ K(x_i, x_j) = (x_i^Tx_j+c)^d $
      • ガウスカーネル(RBFカーネル、動径基底関数)
        • $ K(x_i, x_j) = exp\lbrace -\dfrac{||x_i - x_j||^2}{2σ^2} \rbrace $
      • シグモイドカーネル
        • $ K(x_i, x_j) = -\dfrac{1}{1+exp(-γx_i^Tx_j)} $
      • これらのカーネル関数を使い、
        • $ f(x) = \displaystyle \sum_{i=1}^ma_iK(x, x_i) $
        • 未知のデータ$x$に対して全ての学習データ$x_i$とのカーネル関数の結果を係数$a_i$を使って線形結合した形にする
  • 計算例: TBF

決定木とランダムフォレスト

  • 決定木とは特定の特徴がよく現れるようなデータのかたまりを見つけ、その分類ルールを生成する機械学習の手法
    • 目的変数の特徴が固まって存在するようなデータグループを見つけていく
    • 複数の説明変数を使った条件でデータを分割していくことで、そのデータ領域内における目的変数の特徴の濃度を高めていく
    • 得られた説明変数の条件で構成されるデータの分岐ルール(If-Thenの条件ルール)をツリー構造で生成する
    • 決定木には分類木と回帰木という2つのタイプがある(つまり、分類と回帰両方に利用できる)
      • 回帰木の場合、各データ領域内の値の平均値を期待値として評価する
  • 分岐は情報利得の最大化(=不純度の減少量の最大化)を実現するように決定する
    • 実際の分岐の指標としては、モデルにより、ジニ係数、カイ2乗統計量、エントロピーなどを利用する
  • データのスケールを事前に揃えておく必要がない、分析結果の説明が容易であるなどのメリットがある
  • 決定木とバギングを組み合わせたものが、ランダムフォレスト
    • 複数の決定木を作成し、その多数決で最終的な結果を出す

k近傍法(kNN)

  • 教師あり学習
  • 分類
  • 最近傍のデータをk個取ってきて、それらがもっとも多く所属するクラスに識別
    • k=1だと最近傍法
  • kの値を変えると分類結果も変わる
  • kを大きくすると決定境界は滑らかになる
  • 一個抜き交差検証法(leave-one-out cross-validation)
    • 1個のデータのみをテスト用に利用し、残りを全て学習データとして利用する交差検証
      • データの数だけ学習を繰り返し、モデルごとにテストして得られた結果を平均し算出
0
1
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
1