Upgrade to Pro — share decks privately, control downloads, hide ads and more …

第八章-決定木モデル【数学嫌いと学ぶデータサイエンス・統計的学習入門】

 第八章-決定木モデル【数学嫌いと学ぶデータサイエンス・統計的学習入門】

第八章【数学嫌いと学ぶデータサイエンス・統計的学習入門】

Ringa_hyj

July 22, 2020
Tweet

More Decks by Ringa_hyj

Other Decks in Technology

Transcript

  1. R1 年収200 年収400 年収600 経験年数 打数 打数 経験年数 経験年数や打数によって、ある値で層を分割する 予測変数が分割される点を

    内部ノード と呼ぶ 経験年数によって二つの領域R1,R2に分割された。 一方は分割されたデータ領域 x∉R1 に紐づく Y=年収の平均である200が出力される R2 R3 ・回帰木
  2. R1 打数 経験年数 R2 R3 領域、内部ノード の閾値を決めるかという話 ා =1 ෎

    ∈ − ො 2 上式(RSS)を最小化するように学習する y^Rjは j番目の箱の予測対象の値の平均である 最大J領域まで分けていることを考える しかし、とりうるJの上限を毎回計算していては計算コス トが持たない ・回帰木
  3. 木の複雑さをコストとして考えた刈り込み法は 最弱リンク刈り込み法とよばれる 2分割を行う 領域内の観測値(変数?)がある値よりも下回るまで分割を続ける 以下を木のコストとして考える |T|は終端のノード数 Rmはm番目のノードで分けられた領域 YRmはその領域の平均値 αはチューニングパラメタ 0の時はなにも制約なく木を作った場合に同じとなる

    αを増加させると、終端ノード数に罰を加えていくことになる 訓練データと交差検証データを使いながらバランスのいいαを決める つまりαを変化させながら、テスト誤差、交差検証誤差の一番小さくなるように分岐をさせていく。 ා =1 ෍ ∈ − ො 2 + ・回帰木
  4. ・分類木 質的変数を予測したいときは平均値を出力というわけにもいかない 分割点を考えるために 不純度 を考える RSSも使えないので 誤分類率(分類誤差) を採用する 分類木の出力は終端の領域内の予測対象の変数(クラス)のうち最も頻度の多いものである 対して誤分類率は、それ以外の割合を考えると、

    mという分類後の領域で一番多いクラスがkだとする p^mkは領域内の合計数でクラスkの合計数を割った kの面積 である k以外の面積を誤分類率として考える あまり感度が良くないため、 不純度として ジニ指数 や エントロピー が有名である = 1 − max ෠
  5. ・分類木 今までの線形回帰は = 0 + ෍ =1 = ෍ =1

    ∗ 1 ∈ 回帰木は 問題によってどちらを採用するかを決めるのがいい。 二次元plotで線形の場合は線形回帰 階段状や、より複雑な関係性、場合分けで予測が複雑に変化するような関係 になっている場合は回帰木で予測することが望ましい 分析の中には説明の簡単、解釈性や視覚的インパクトを得るために 決定木を採用することもすくなくない
  6. ・バギング 単純な決定木ではバリアンスが大きくなる難点がある (汎化がない) たとえば訓練データを二つに区切って決定木を作ると全く別のものができることもある バリアンスが小さいモデル(決定木)と言われれば、 どんなデータでも似たようなモデルができること と考えることができる 線形回帰は変数の数に対してデータ数nが増えることでバリアンスの小さいモデルが得られる バギングとはbootstrap aggregation

    のことで、ブートストラップ法(交差検証の項参照) と関係を持つ 同じシステムから得られた独立な訓練データが nセットあるとする 同じシステムなので、出てくるデータの分散はσ^2である 訓練データの平均も同じくμであるはず。 すると標本平均の分散から、分散はσ^2/n つまり、観測値の平均を取るということは、分散を小さくするということである
  7. ・バギング out of bag OOB バギングで得たモデルは交差検証せずとも評価できる方法がある (交差検証のために数百のモデルに当てはめなくともいい) ブートストラップ標本で各木が作られているということは、重複が許されているということである 平均的に1つの木には訓練(観測)データのだいたい2/3が使われている。 残りの訓練(観測)データをOOB観測値という

    つまり、 i番目のデータが学習に使われていない木のグループA(i番目のデータがOOB)があるとする グループAの木の個数は1/3*B個ということになる 回帰ならこのグループの出力平均を取る、分類なら多数決をとる こうして得られたOOBによる予測値を実データと比較する 回帰ならOOB平均2乗誤差 分類ならOOB誤分類率 で評価する こうすることで交差検証の計算付加が軽減する (別のデータセットを数百モデルに適応せずとも、一部のOOBを1/3*B個のモデルに当てはめるだけで済む)
  8. ・ブースティング 訓練データの予測対象yi を ri に格納する 予測のための変数と応答変数を(X,ri)とする f(X)=0として空のモデルを置く b=1 1本目のモデルを立てる d個の分割(終端ノードは

    d+1 個)として制限した木 f1をつくる f(X) = f(X) + λ f1 出力の残差を計算し、riに更新する 残差ri = ri – λ f1(Xi) これをb=Bまでくり返す 最終的なモデルはb個の決定木の合計となる = ෍ =1