モーダルを閉じる工作HardwareHub ロゴ画像

工作HardwareHubは、ロボット工作や電子工作に関する情報やモノが行き交うコミュニティサイトです。さらに詳しく

利用規約プライバシーポリシー に同意したうえでログインしてください。

機械学習の具体的手法 (G検定)

モーダルを閉じる

ステッカーを選択してください

お支払い手続きへ
モーダルを閉じる

お支払い内容をご確認ください

購入商品
」ステッカーの表示権
メッセージ
料金
(税込)
決済方法
GooglePayマーク
決済プラットフォーム
確認事項

利用規約をご確認のうえお支払いください

※カード情報はGoogleアカウント内に保存されます。本サイトやStripeには保存されません

※記事の執筆者は購入者のユーザー名を知ることができます

※購入後のキャンセルはできません

作成日作成日
2021/06/20
最終更新最終更新
2023/10/18
記事区分記事区分
一般公開

目次

    博士課程学生です。電子工作はただの趣味です。

    G検定のシラバスにおける「機械学習の具体的手法」に関連する事項を記載します。

    線形回帰

    説明変数、目的変数

    説明変数と目的変数が、直線や超平面といった、線形の関係にある状態を線形回帰とよびます。説明変数が 2つ以上の場合を重回帰とよびます。線形回帰を用いたモデルの学習は、教師あり学習です。

    線形回帰 - Wikipedia

    偏回帰係数

    回帰係数 β\beta は、説明変数 xx がどの程度 yy を説明するために寄与しているかを表します。

    y=α+βxy = \alpha + \beta x

    重回帰の場合の回帰係数を特に偏回帰係数とよびます。

    帰無仮説

    観測された標本を用いてその母集団の性質を判断する手続きを、統計的仮説検定とよびます。

    統計的仮説検定において立てる仮説を帰無仮説とよび、これが否定されることによって、対立仮説が真であることを証明できます。

    説明変数の重要さについて

    正規化によって、各説明変数のスケールを揃えます。このとき、

    • 回帰係数が 0 である場合、対応する説明変数は重要でないと言えます。
    • 回帰係数の絶対値が大きい場合、対応する説明変数は重要であると言えます。

    多重共線性

    重回帰において、説明変数どうしの相関が高すぎる場合、回帰係数を求めたりすることが困難になります。

    この問題を多重共線性とよびます。

    該当する説明変数をその他の説明変数で回帰するモデルを推定し、相関係数が非常に高くならないことを確認したりして回避します。

    説明変数の主成分を新たな説明変数として用いることや、Ridge 回帰を適用することでも回避できます。

    リンク関数

    単純な線形回帰モデルでは、目的変数が (,)(-\infty, \infty) の値をとります。

    一般化線形モデルでは、説明変数の線形結合をリンク関数とよばれる関数で変換することで、目的変数の取り得る値の範囲を変更します。

    y=f(β1x1+β2x2+)y = f(\beta_1 x_1 + \beta_2 x_2 + \dots)

    特に、リンク関数によって取り得る値を 0 または 1 に変換した場合をロジスティック回帰とよびます。二値分類問題で利用されます。

    ロジスティック回帰

    上述のリンク関数として、シグモイド関数を考えます。

    y=11+exp((β1x1+β2x2+))=11+exp(l)y = \frac{1}{1 + \exp(-(\beta_1 x_1 + \beta_2 x_2 + \dots))} = \frac{1}{1 + \exp(-l)}

    目的変数 yy の値の取り得る範囲は (0,1)(0, 1) です。確率 pp として捉えることができます。

    オッズ

    p1p=exp(l)\frac{p}{1 - p} = \exp(l)

    対数オッズ

    オッズの対数をとると、線形回帰が適用できることが分かります。教師あり学習として、対数オッズの偏回帰係数を学習できます。

    l=log(p1p)=β1x1+β2x2+l = \log\left(\frac{p}{1 - p}\right) = \beta_1 x_1 + \beta_2 x_2 + \dots

    閾値による二値分類

    対数オッズ ll(,)(-\infty, \infty) の値をとるとき、目的変数 yy(0,1)(0, 1) の範囲をとります。

    目的変数 yy の値が 0.5 より大きいか小さいかによって、正例 (+1) または負例 (-1) に分類します。閾値は分類したい場合によって 0.5 より小さくしたり大きくしたりします。

    二値分類ではなく多値分類を行いたい場合は、シグモイド関数の代わりにソフトマックス関数を用います。

    正則化

    正規化 (せいきか)

    正則化と正規化を区別します。正規化は、例えば [0,1][0, 1] の範囲に値を揃えることを指します。

    正則化 (せいそくか)

    機械学習において、過学習を防ぐための手法の一つです。目的関数に対して、正則化項を足します。

    新たな目的関数 L' = 目的関数 L + 正則化項
    

    目的関数の例として、ニューラルネットワークの学習における損失関数の一つである、平均二乗誤差があります。

    Lasso 回帰、Ridge 回帰

    正則化項は、正則化パラメータ λ\lambda と、線形回帰における各説明変数の回帰係数 wiw_i を用いて構成します。λ\lambda はハイパーパラメータであり、事前に定数として設定します。

    ある特定の ii に対して、wiw_i が大きくなり過ぎないように制御され、過学習が回避されることが期待できます。

    L=L+λiwipL' = L + \lambda \sum_i |w_i|^p
    • p=1p = 1 の場合を L1 正則化、あるいは Lasso 回帰とよびます。
      • 回帰係数が、ちょうど 0 となるものが多くなります。説明変数を選択することに相当します。
    • p=2p = 2 の場合を L2 正則化、あるいは Ridge 回帰とよびます。
      • 回帰係数が 0 に近づくようになります。

    Lasso 回帰

    L=L+λiwiL' = L + \lambda \sum_i |w_i|

    Ridge 回帰

    L=L+λiwi2L' = L + \lambda \sum_i w_i^2

    Lasso 回帰と Ridge 回帰を組み合わせた手法を Elastic Net とよびます。

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

    • 教師あり学習です。
    • 分類問題
    • 回帰問題 (サポートベクトル回帰 SVR)

    k近傍法

    • 教師あり学習の手法の一つです。
    • 特徴空間において、未知のデータを分類するために、最も近い kk 個の学習データをもとにします。
    • スケールが大きい特徴量に左右されすぎないように、適切な前処理を行ない、特徴量のスケールを揃える必要があります。
    • kk を大きくするとモデルは単純もしくは滑らかになり、kk を小さくするとモデルは複雑で入り組んだものになります。
    • k=1k = 1 の場合を最近傍法とよびます。

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

    決定木

    決定木 - Wikipedia

    • 教師あり学習の手法の一つです。分類問題および回帰問題。
    • 木を成長させていくと、1つの葉に対応するデータが1つだけになり、過学習された状態となります。
      • 木の深さおよび幅が大きくなり過ぎないように注意します。
      • 木の深さは、根を 0 としてカウントします。

    ランダムフォレスト

    • 教師あり学習の手法の一つです。分類問題および回帰問題。
    • 複数の決定木を用いてアンサンブル学習します。
    • 木の数を多くしても過学習にはなりません。
    • 並列にそれぞれの決定木を学習できます。
    • ある決定木の学習時には、学習用のデータから、重複ありでランダムにサンプリングしたデータセットを用います (bootstrap sampling)。
      • 更にそれぞれの決定木を統合するところまで含めて「バギング」とよびます。
    • ある決定木で用いる特徴量 (説明変数) の選択も、ランダムサンプリングします。

    特徴量の重要度

    https://mathwords.net/ketteigi

    決定木における、それぞれの特徴量での分割回数が多いほど、その特徴量は重要であると考えられます。

    アンサンブル学習の用語の整理

    勾配ブースティング

    教師あり学習です。「多数の弱いモデルで強いモデルを作るアンサンブル学習」であるブースティングの一つです。

    用語の整理

    • アンサンブル学習
      • バギング (bagging; bootstrap aggregation)
        • → ランダムフォレストで用いられる手法です。
        • → 複数の決定木を並列に学習可能です。
        • → 決定木の数を増やしても過学習になりません。
      • ブースティング
        • → 弱い学習器を逐次的に学習する手法です。
        • → 学習器としては、決定木に限らず、線形回帰も利用されます。
        • → 弱学習器の数が多くなりすぎると過学習が起きます。
        • 勾配ブースティング
          • 勾配ブースティング木 (GBDT; Gradient Boosting Decision Tree)
            • → 弱学習器に決定木を用いる場合です。
            • catboost → ライブラリの名称
            • lightgbm → ライブラリの名称
            • xgboost → ライブラリの名称
        • adaboost
      • スタッキング
        • → あるモデルによる予測値を、新たなモデルの特徴量とします。

    k-means 法

    • 教師なし学習の手法の一つです。
    • 非階層的なクラスタリングを行います。
      • 「クラスタリング」は一般に教師なし学習となります。
    • クラスタの数 kk は予め指定しておく必要があります。
    • 複数のクラスタに所属するデータのない、ハードなクラスタリングです。
      • 観測データが各クラスタに所属する割合や確率を出力する場合を、ソフトクラスタリングとよびます。

    階層的クラスタリング (ウォード法)

    https://www.albert2005.co.jp/knowledge/data_mining/cluster/hierarchical_clustering

    • 教師なし学習の手法の一つです。
    • デンドログラムとよばれる樹形図で表現される、階層的クラスタリングを行います。

    交差検証

    • 交差検証
      • → 全データを「訓練データ」と「テストデータ」に分割して検証することです。
      • → 以下のいずれの手法においても、過学習は起こり得ます。
      • ホールドアウト検証
        • → 事前に「訓練データ」と「テストデータ」に分割します。
      • k-分割交差検証
        • → 「訓練データ」と「テストデータ」への分割を複数回行います。

    k-fold cross-validation - Wikipedia

    回帰における評価指標

    MSE (Mean Square Error) 平均二乗誤差

    MSE=1Ni=1N(yiyi^)2MSE = \frac{1}{N} \sum_{i=1}^N (y_i - \hat{y_i})^2

    RMSE (Root Mean Square Error)

    • ルートの中で二乗して和を取っているため、MAE と比較して、外れ値 (大きな値の違い) をより大きな誤差として扱う傾向があります。
    • 大きな外れ値に、大きなペナルティを与えていると言えます。
    RMSE=1Ni=1N(yiyi^)2RMSE = \sqrt{\frac{1}{N} \sum_{i=1}^N (y_i - \hat{y_i})^2}

    MAE (Mean Absolute Error) 平均絶対誤差

    RMSE と比較して、外れ値 (大きな値の違い) にあまり影響されたくない場合に用います。

    MAE=1Ni=1Nyiyi^MAE = \frac{1}{N} \sum_{i=1}^N |y_i - \hat{y_i}|

    RMSLE (Root Mean Squared Logarithmic Error)

    目的変数と予測値の比に着目する評価指標です。

    RMSLE=1Ni=1N(log(yi)log(yi^))2=1Ni=1N(log(yi)log(yi^))2\begin{aligned} RMSLE &= \sqrt{\frac{1}{N} \sum_{i=1}^N (log(y_i) - log(\hat{y_i}))^2} \\ &= \sqrt{\frac{1}{N} \sum_{i=1}^N \left(\frac{log(y_i)}{log(\hat{y_i})}\right)^2} \\ \end{aligned}

    分類における評価指標

    混同行列

    本当のクラス (正) 本当のクラス (負)
    予測クラス (正) 真陽性 TP 偽陽性 FP
    予測クラス (負) 偽陰性 FN 真陰性 TN

    正確率 (accuracy)

    全体のデータのうち、正しく予測できたものの割合です。

    (TP + TN) / (TP + FP + FN + TN)
    

    適合率 (precision)

    真と予測したデータのうち、実際に真であるものの割合です。再現率とトレードオフの関係にあります。

    TP / (TP + FP)
    

    再現率 (recall)

    実際に真であるデータのうち、真と予測したものの割合です。適合率とトレードオフの関係にあります。

    TP / (TP + FN)
    

    F 値 (F measure)

    トレードオフの関係にある「適合率」と「再現率」の調和平均です。

    F=21適合率+1再現率F値 = \frac{2}{\frac{1}{適合率} + \frac{1}{再現率}}

    ROC 曲線と AUC

    正確率、適合率、再現率、F値 とは異なった観点でモデルの性能を評価する手法として、ROC 曲線と AUC があります。

    ROC (Receiver operating characteristic)

    ロジスティック回帰において、モデルの出力自体は確率で表現されており、0.5 といった閾値を用いて正例 (+1) または負例 (-1) に分類します。

    この閾値を 0.0 から 1.0 の範囲で変化させた際の予測結果の変化を曲線として表現したものが ROC 曲線です。

    Receiver operating characteristic - Wikipedia

    横軸

    FPR (False Positive Rate) = FP / (FP + TN)
    

    縦軸 (再現率と同じ定義です)

    TPR (True Positive Rate) = TP / (TP + FN)
    
    • 例えば、閾値が 0.0 の場合はすべての出力が正例に分類されます。そのため FPR と TPR はそれぞれ常に 1.0 となります。
    • 閾値が 1.0 の場合はすべての出力が負例に分類されます。そのため FPR + TPR は常に 0.0 となります。

    https://mathwords.net/auc

    閾値を 1.0 から 0.0 に変化させていった際に、徐々に正例に分類される出力は増えていきますが、モデルが全く予測できない場合でランダムに予測しているような場合は、ROC 曲線は直線となります。

    完全に予測できるようなモデルの場合は、上辺と左辺に一致するような折れ線になります。

    AUC (Area under the curve)

    ROC 曲線より下部の面積のことを AUC とよびます。AUC が 1.0 に近いほど、モデルの性能が高いといえます。

    オッカムの剃刀

    「ある事柄を説明するためには、必要以上に多くを仮定するべきでない」とする指針です。

    機械学習において、モデルを複雑にすると複雑な表現ができる一方、表現しなくてもよいノイズ部分まで表現してしまい、過学習に陥る可能性があります。

    解きたいタスクに対して、実際にモデルをどのくらい複雑にすれば良いかという目安については、赤池情報量規準というものがあります。

    特徴量設計

    エンコーディング

    「男」「女」など、数値で表せないカテゴリを何らかの数値に変換する作業です。

    ダミー変数

    「男である?」「女である?」といった 0 または 1 の値をとる二値変数です。

    Likeボタン(off)0
    詳細設定を開く/閉じる
    アカウント プロフィール画像

    博士課程学生です。電子工作はただの趣味です。

    記事の執筆者にステッカーを贈る

    有益な情報に対するお礼として、またはコメント欄における質問への返答に対するお礼として、 記事の読者は、執筆者に有料のステッカーを贈ることができます。

    >>さらに詳しくステッカーを贈る
    ステッカーを贈る コンセプト画像

    Feedbacks

    Feedbacks コンセプト画像

      ログインするとコメントを投稿できます。

      ログインする

      関連記事

      • 強化学習および深層強化学習 (G検定)
        サムネイル画像-eea57ee729
        G検定のシラバスにおける、強化学習および深層強化学習について記載します。 強化学習 方策 (policy) 強化学習で達成したいことは、報酬和を最大にする方策 (policy) π\piπ を学習することです。 状態 SSS、行動 AAA
      • 人工知能に関する一般事項 (G検定)
        サムネイル画像-d31cec1a3f
        G検定のシラバスにおける 「人工知能(AI)とは(人工知能の定義)」 「人工知能をめぐる動向」 「人工知能分野の問題」 に関連する事項を記載します。 エニアック (ENIAC) 1946年にアメリカのペンシルバニア大学で開発された、真空管を使った巨大な計算機です。 ダートマス会議 1956年にアメリカで開催されました。 ジョン・マッカーシーが、「人工知能」という言葉を
        ピカピカピカピカ10/18/2023に更新
        いいねアイコン画像0
      • ディープラーニングの社会実装に向けて (G検定)
        サムネイル画像-d3eb29a5b4
        G検定のシラバスにおける「ディープラーニングの社会実装に向けて」に関連する事項を記載します。 プロジェクト管理 CRISP-DM CRISP-DM (CRoss-Industry Standard Processing for Data Mining) は、機械学習やデータサイエンスのプロジェクトを進めるにあたり、指針となる 6 つの段階からなるモデルです。 ![](/ugc/techi
        きらりコードきらりコード10/21/2023に更新
        いいねアイコン画像0
      • ディープラーニングの手法 (G検定)
        サムネイル画像-703f7cde57
        G検定のシラバスにおける「ディープラーニングの概要」および「ディープラーニングの手法」に関連する事項を記載します。 シグモイド関数を用いた学習における勾配消失について ディープラーニングで用いられる活性化関数の一つに、シグモイド関数があります。 y=11+exp⁡(−x)y = \frac{1}{1 + \exp(-x)} y=1+exp(−x)1​シグモイド関数を用いて、以下のような合成関数を考...
        ねこねこ10/22/2023に更新
        いいねアイコン画像0
      • ディープラーニングの比較的新しいモデル (G検定)
        サムネイル画像-3cc5763cd3
        G検定に向けて、比較的新しいモデルについて記載します。 深層生成モデル 生成モデル 画像のデータセットがどのような分布になっているかを推測し、その分布に基づいて、元の画像と似たような画像データを生成するモデルです。 深層生成モデル ディープラーニングを取り入れた生成モデルのことです。 潜在空間 深層生成モデルでは、元データセットから画像が持つ潜在空間を
        インフラくじらインフラくじら10/10/2023に更新
        いいねアイコン画像0