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

データマイニングと機械学習-K近傍法 & 機械学習のお作法

データマイニングと機械学習-K近傍法 & 機械学習のお作法

1. K近傍法
2. 教師あり機械学習のお作法

Y. Yamamoto

May 23, 2023
Tweet

More Decks by Y. Yamamoto

Other Decks in Technology

Transcript

  1. 分類問題1:
    K近傍法 & 教師あり機械学習のお作法
    ⼭本 祐輔
    名古屋市⽴⼤学 データサイエンス学部
    [email protected]
    第6回 データマイニングと機械学習 2023
    2023年5月24日

    View full-size slide

  2. 講義のトピック
    機械学習
    教師あり学習
    教師なし学習 強化学習
    ・クラスタリング
    ・データ圧縮
    ・分類
    ・回帰


    3
    行動情報学科に
    特有の応用手法
    時系列データ分析
    時間経過とともに変化する
    データに対する分析⼿法
    ・K近傍法
    ・サポートベクタマシン
    ・ニューラルネットワーク

    View full-size slide

  3. 教師あり学習の分類問題
    4
    データの特徴とラベルの対応関係を見つける
    カツオ
    未知データの結果を予測するために,⼤量のデータから
    (特徴)
    !
    結果 =

    View full-size slide

  4. 教師あり学習(分類問題)の流れ
    ⼤量のデータ
    (正解ラベル付き)



    特徴
    抽出
    学習
    (モデル構築)
    機械学習(ML)アルゴリズム
    学習済み
    モデル
    ML
    推論
    特徴
    抽出




    未知データ
    (ラベルなし)
    予測結果
    推論フェーズ
    MLアルゴリズム
    学習フェーズ
    5

    View full-size slide

  5. 1 意外に強力なインスタンス・ベースの教師あり学習
    K近傍法

    View full-size slide

  6. 教師あり学習の歴史(⼀部抜粋)
    ロジスティック回帰
    サポートベクターマシン
    決定木
    パーセプトロン
    単純ベイズ分類器
    ランダムフォレスト
    k-近傍法
    ベイジアンネットワーク
    深層学習
    1958年
    1957年
    1951年
    1979年
    1985年
    1992年
    1960年代
    2001年
    2010年代
    7

    View full-size slide

  7. 教師あり学習の歴史(⼀部抜粋)
    ロジスティック回帰
    サポートベクターマシン
    決定木
    パーセプトロン
    単純ベイズ分類器
    ランダムフォレスト
    k-近傍法
    ベイジアンネットワーク
    深層学習
    1958年
    1957年
    1951年
    1979年
    1985年
    1992年
    1960年代
    2001年
    2010年代
    本⽇体験するのはコレ
    8

    View full-size slide

  8. STATLOG results
    Method
    Test Misclassification Error
    2 4 6 8 10 12 14
    0.0 0.05 0.10 0.15
    LVQ
    RBF
    ALLOC80
    CART Neural
    NewID C4.5
    QDA
    SMART
    Logistic
    LDA
    DANN
    K-NN
    なぜK-近傍法を学ぶのか?
    9
    単純だが非常に強力な教師あり学習器
    470 13. Prototypes and Nearest-Neighbors
    Spectral Band 1 Spectral Band 2 Spec
    Spectral Band 4 Land Usage Predicte
    FIGURE 13.6. The first four panels are LANDSAT images for a
    area in four spectral bands, depicted by heatmap shading. The r
    panels give the actual land usage (color coded) and the predicted lan
    スペクトル画像 農地の地質
    Michie, D., Spiegelhalter, D.J. and Taylor, C.C. (1994) Machine Learning, Neural and Statistical Classification. Ellis Horwood, New York.
    STATLOGデータセットに対する分類精度は第2位

    View full-size slide

  9. 歴史的に成功事例が多いK-近傍法
    10
    画像2出典: https://ja.wikipedia.org/wiki/MNISTデータベース
    画像3出典: https://www.shinyuri-hospital.com/column/column_202002.html
    ⼿書き⽂字認識
    Spectral Band 4 Land Usage Predicted Land Usage
    FIGURE 13.6. The first four panels are LANDSAT images for an agricultural
    area in four spectral bands, depicted by heatmap shading. The remaining two
    panels give the actual land usage (color coded) and the predicted land usage using
    a five-nearest-neighbor rule described in the text.
    first problem, while 1-nearest-neighbor is best in the second problem by a
    factor of 18%. These results underline the importance of using an objective,
    data-based method like cross-validation to estimate the best value of a
    tuning parameter (see Figure 13.4 and Chapter 7).
    13.3.2 Example: k-Nearest-Neighbors and Image Scene
    Classification
    The STATLOG project (Michie et al., 1994) used part of a LANDSAT
    image as a benchmark for classification (82×100 pixels). Figure 13.6 shows
    衛星画像認識
    ⼼電図の異常パターン検出

    View full-size slide

  10. K-近傍法(k-NN: k nearest neighbor)のアイデア(1/5)
    11

    対象データまでの距離が最も近いK個のデータの
    ラベルのうち、最も多いラベルに分類する
    多 数 決

    View full-size slide

  11. K-近傍法(k-NN: k nearest neighbor)のアイデア(2/5)
    12

    K=1
    対象データまでの距離が最も近いK個のデータの
    ラベルのうち、最も多いラベルに分類する
    多 数 決

    View full-size slide

  12. K-近傍法(k-NN: k nearest neighbor)のアイデア(3/5)
    13

    K=3
    対象データまでの距離が最も近いK個のデータの
    ラベルのうち、最も多いラベルに分類する
    多 数 決

    View full-size slide

  13. K-近傍法(k-NN: k nearest neighbor)のアイデア(4/5)
    14

    K=5
    対象データまでの距離が最も近いK個のデータの
    ラベルのうち、最も多いラベルに分類する
    多 数 決

    View full-size slide

  14. K-近傍法(k-NN: k nearest neighbor)のアイデア(5/5)
    15
    対象データまでの距離が最も近いK個のデータの
    ラベルのうち、最も多いラベルに分類する

    K=5:⻘
    K=3:緑
    K=1:⻘
    多 数 決

    View full-size slide

  15. K-近傍法アルゴリズムの定式化
    16
    foreach x’ in S do
    compute dist(x, x’)
    take the top k nearest neighbors S’ from S
    foreach ci
    in C do
    !! ← # # ∈ %"
    &'( )*# # = )! |
    return argmax
    #!∈%
    !!
    1
    2
    3
    4
    5
    6
    タスクに応じて設定
    K近傍データの中でクラスci
    に属するデータの数
    Input: x: ターゲットデータ
    Input: S: ラベル付きデータセット
    Input: C: クラスラベルのリスト
    Input: k: 閾値
    Input: dist: 距離関数

    View full-size slide

  16. K-近傍法のメリット・デメリット
    17
    メリット
    • 単純なのに強⼒
    • データの背後にある分布を仮定しなくてよい
    (ノンパラメトリックな⼿法)
    デメリット
    • 推論フェーズの計算量が⼤きい(毎回の距離計算)
    • 次元の呪いの影響を受けやすい

    View full-size slide

  17. 教師あり学習のための機械学習アルゴリズムの分類
    18
    ロジスティック回帰
    ナイーブベイズ
    サポートベクターマシン
    K近傍法
    ランダムフォレスト & 決定木
    ニューラルネットワーク
    訓練データをすべて記憶して
    おき,それら全部を使って
    予測を⾏う(推論計算が遅い)
    訓練データの背後にあるモデル
    を抽出し,それを予測時に使う
    (推論計算は速い)
    インスタンスベース モデルベース

    View full-size slide

  18. Hands-on タイム
    以下のURLにアクセスして,K近傍法を
    体験してみましょう
    https://dmml2023.hontolab.org/
    19

    View full-size slide

  19. 2 手順を知らないと痛い目にあう
    教師あり機械学習のお作法

    View full-size slide

  20. 教師あり学習の流れ
    ⼤量のデータ
    (正解ラベル付き)



    特徴
    抽出
    学習
    (モデル構築)
    機械学習アルゴリズム
    学習済み
    モデル
    ML
    推論
    特徴
    抽出




    未知データ
    (ラベルなし)
    予測結果
    推論フェーズ
    学習フェーズ
    21

    View full-size slide

  21. 教師あり学習の流れ
    ⼤量のデータ
    (正解ラベル付き)



    特徴
    抽出
    学習
    (モデル構築)
    機械学習アルゴリズム
    学習済み
    モデル
    ML
    推論
    特徴
    抽出




    未知データ
    (ラベルなし)
    予測結果
    推論フェーズ
    学習フェーズ
    22
    構築したモデルの予測性能を
    どう評価するか?
    [分類性能の基本的な考え方]
    真の分類結果と同じ分類が
    できている率が高い
    Q.
    A.
    [回帰性能の基本的な考え方]
    真の結果と推定結果の
    誤差が小さい

    View full-size slide

  22. 2クラス分類問題における評価指標(1/4)
    23
    !""#$%"& =
    () + (+
    () + ,) + ,+ + (+
    正例,負例と予測したものが実際にそうだった割合
    精度 (accuracy)
    モデルの予測
    Positive Negative
    正解
    ラベル
    Positive
    TP
    (true positive)
    FN
    (false negative)
    Negative
    FP
    (false positive)
    TN
    (true negative)

    View full-size slide

  23. 2クラス分類問題における評価指標(2/4)
    24
    )$-"./.01 =
    ()
    () + ,)
    正例 (注⽬ラベル)と予測したデータのうち,実際に正例
    であった割合.正例に対する推論の正確さを⽰す.
    適合率 (precision)
    モデルの予測
    Positive Negative
    正解
    ラベル
    Positive
    TP
    (true positive)
    FN
    (false negative)
    Negative
    FP
    (false positive)
    TN
    (true negative)

    View full-size slide

  24. 2クラス分類問題における評価指標(3/4)
    25
    モデルの予測
    Positive Negative
    正解
    ラベル
    Positive
    TP
    (true positive)
    FN
    (false negative)
    Negative
    FP
    (false positive)
    TN
    (true negative)
    2-"%33 =
    ()
    () + ,+
    実際に正例であるデータのうち,モデルが正例であると
    予測したデータの割合.取りこぼしの少なさを⽰す.
    再現率 (recall)

    View full-size slide

  25. 2クラス分類問題における評価指標(4/4)
    26
    2&'()*+' = 2 4
    567)8#89' 4 :7)&**
    567)8#89' + :7)&**
    適合率と再現率をバランスよく達成できているかを⽰す
    F値
    モデルの予測
    Positive Negative
    正解
    ラベル
    Positive
    TP
    (true positive)
    FN
    (false negative)
    Negative
    FP
    (false positive)
    TN
    (true negative)

    View full-size slide

  26. 評価指標によって⼿法の良し悪しの判断が変わる
    27
    検査結果
    陽性 陰性


    陽性 39 11
    陰性 24 26
    ウイルス検査⼿法B
    検査結果
    陽性 陰性


    陽性 20 30
    陰性 5 45
    ウイルス検査⼿法A
    Accuracy = !"#$%
    !"#%#&"#$%
    = 0.65
    Precison = !"
    !"#%
    = 0.80
    Recall = !"
    !"#&"
    = 0.40
    F値 = 0.533
    Accuracy = &'#!(
    &'#!$#))#!(
    = 0.65
    Precison = &'
    &'#!$
    = 0.619
    Recall = &'
    &'#))
    = 0.78
    F値 = 0.690
    ⼀般に適合率と再現率はトレードオフの関係にある
    ?
    ?
    ?
    ?
    ?
    ?
    ?
    ?

    View full-size slide

  27. 不均衡データに対する2クラス分類の評価指標
    28
    AUC (Area Under Curve)
    • 横軸に偽陽性率(FPP),縦軸に再現率(TPP)とする曲線が
    作る平⾯の⾯積
    • ラベル分布に偏りがある不均衡データに⽤いる
    |
    |
    1.0
    1.0
    0
    True Positive Rate (TPP)
    False Positive Rate (FPP)
    AUC
    ・理想はオレンジの点線がなす領域
    ・0から1の値をとる

    View full-size slide

  28. 絶対やってはいけないコト
    29
    # Python
    1 from sklearn.neighbors import KNeighborsClassifier
    20 model_K = KNeighborsClassifier(n_neighbors=5)
    21 mode_K.fit(X_train, y_train) # K近傍法で学習
    22 score_K = model_K.score(X_test, y_test)

    ドキュメントに書いてあった
    予測性能のスコアを返す関数
    23 print(score_K, score_S)
    モデルKとモデルSの
    「予測性能スコア」を表⽰
    >> 0.80, 0.619 # モデルKのスコアの⽅が⾼い!!
    タスクに応じて適切な評価指標を使うこと!!

    View full-size slide

  29. 多クラス分類問題における評価指標(1/2)
    30
    モデルの予測
    C1
    … Ck
    正解
    ラベル
    C1
    n11
    n1k
    … …
    Ck
    nk1
    nkk
    各クラスに対する再現率のマクロ平均
    Balanced Accuracy
    <))=6&6>7(8(9#': =
    1
    @
    A
    ;<=
    ;
    :7)&**;
    これら再現率
    の平均を計算

    View full-size slide

  30. 多クラス分類問題における評価指標(2/2)
    31
    モデルの予測
    C1
    … Ck
    正解
    ラベル
    C1
    n11
    n1k
    … …
    Ck
    nk1
    nkk
    正解ラベルとモデル予測したラベルの相関係数 (kは各クラス)
    マシューズ相関係数 (MCC)

    !

    "
    ∑#
    (#!!
    #"#
    − #!"
    ##!
    )

    !
    (∑
    "
    #!"
    )(∑
    !!|!!%!

    "!
    #!!"&
    ) ∑
    !
    (∑
    "
    #"!
    )(∑
    !!|!!%!

    "!
    #"!!&
    )
    式は複雑だが,表現しているのは相関係数と理解しよう

    View full-size slide

  31. 教師あり学習の実践するときの基本的な流れ

    データセット(特徴量x & ラベルyのリスト)
    データを⼀定の割合に分割
    訓練データ テストデータ
    !!!

    !!"
    "!
    !"!

    !#"
    "#
    !#!

    !$"
    "$

    B A B A
    A

    B A B
    Step 1

    A B A

    View full-size slide

  32. 教師あり学習の実践するときの基本的な流れ

    データセット(特徴量x & ラベルyのリスト)
    データを⼀定の割合に分割
    訓練データ テストデータ
    !!!

    !!"
    "!
    !"!

    !#"
    "#
    !#!

    !$"
    "$

    B A B A
    A

    B A B
    Step 1
    訓練データを
    ⽤いた学習
    Step 2
    ML

    A B A

    View full-size slide

  33. 教師あり学習の実践するときの基本的な流れ

    データセット(特徴量x & ラベルyのリスト)
    データを⼀定の割合に分割
    訓練データ テストデータ
    !!!

    !!"
    "!
    !"!

    !#"
    "#
    !#!

    !$"
    "$

    B A B A
    A

    B A B
    Step 1
    訓練データを
    ⽤いた学習
    Step 2
    ML A … 推論結果
    A B
    ラベルを隠してテスト
    データのラベルを推論
    Step 3

    A B A

    View full-size slide

  34. 教師あり学習の実践するときの基本的な流れ

    データセット(特徴量x & ラベルyのリスト)
    データを⼀定の割合に分割
    訓練データ テストデータ
    !!!

    !!"
    "!
    !"!

    !#"
    "#
    !#!

    !$"
    "$

    B A B A
    A

    B A B
    Step 1
    ラベルを隠してテスト
    データのラベルを推論
    Step 3

    A … 推論結果
    B … 隠していたラベル
    推論結果と元ラベル
    との⽐較による性能評価
    Step 4
    訓練データを
    ⽤いた学習
    Step 2
    ML A
    A
    B
    B

    A B A

    View full-size slide

  35. ホールドアウト法

    データセット(特徴量x & ラベルyのリスト)
    データを⼀定の割合に分割
    訓練データ テストデータ
    !!!

    !!"
    "!
    !"!

    !#"
    "#
    !#!

    !$"
    "$

    B A B A
    A

    B A B
    Step 1
    ラベルを隠してテスト
    データのラベルを推論
    Step 3
    A … 推論結果
    B … 隠していたラベル
    推論結果と元ラベル
    との⽐較による性能評価
    Step 4
    訓練データを
    ⽤いた学習
    Step 2
    ML A
    A
    B
    B


    A B A

    View full-size slide

  36. 絶対にやってはいけないこと
    37
    1. データ分割をせず、同じデータを使って
    モデルの訓練と評価する
    2. データ分割時にデータをシャッフルしない
    3. (分類問題の場合)
    ラベルの分布を考慮せずデータを分割

    View full-size slide

  37. 絶対にやってはいけないこと
    38
    1. データ分割をせず、同じデータを使って
    モデルの訓練と評価する
    2. データ分割時にデータをシャッフルしない
    3. (分類問題の場合)
    ラベルの分布を考慮せずデータを分割

    View full-size slide

  38. 機械学習の⽬標
    39
    汎化性能の高い予測モデルの獲得
    未知データに対する予測性能が⾼い
    データセット
    訓練データ テストデータ
    ML
    1. 分割
    2. 学習 3. 評価
    テストデータは
    「未知データ」扱い
    データセット
    ML
    1. 学習 2. 評価
    評価が高く見えるよう
    自己最適化しているだけ
    (学習時と同じ
    データを使⽤)

    View full-size slide

  39. 汎化性能、モデルの複雑さ、学習回数
    40
    モデルの複雑さ、学習回数




    訓練データ
    テストデータ
    モデルの複雑さや学習回数を増やしぎると
    訓練データを過学習し、未知データに対する汎化性能が下がる
    訓練データに対してだけ予測誤差が下がっても意味なし
    ベスト塩梅

    View full-size slide

  40. 絶対にやってはいけないこと
    41
    1. データ分割をせず、同じデータを使って
    モデルの訓練と評価する
    2. データ分割時にデータをシャッフルしない
    3. (分類問題の場合)
    ラベルの分布を考慮せずデータを分割

    View full-size slide

  41. シャッフルしない & ラベル分布を考慮しないデータ分割の問題
    42
    データセット

    A A A B B
    Aは70% Bは30%
    A A A

    訓練データ
    (ラベルA=100%)
    B B


    先頭から7:3に分割
    テストデータ
    (ラベルB=100%)
    A … 推論結果
    B … 隠していたラベル
    ML A
    B
    A
    B
    偏った学習
    偏った
    性能評価 汎化性能の低下!!

    View full-size slide

  42. 汎化性能向上のためのデータ分割⽅法
    43
    データセット

    A A A B B
    Aは70% Bは30%

    訓練データ
    (全体の50%)
    テストデータ
    (全体の50%)
    A
    100%
    A
    40%
    B
    60%
    訓練データ
    (全体の50%)
    テストデータ
    (全体の50%)
    A
    70%
    B
    30%
    A
    70%
    B
    30%
    シャッフル & 層別化分割
    安直に前から50:50分割
    シャッフル & 層別化(stratification)

    View full-size slide

  43. 汎化性能向上のためのデータ分割⽅法
    44
    データセット

    A A A B B
    Aは70% Bは30%

    シャッフル & 層別化分割
    安直に前から50:50分割
    シャッフル & 層別化(stratification)
    # Python
    1 train_test_split(
    2 X_cancer, y_cancer,
    3 test_size=0.3, # 7:3に分割
    4 shuffle=True, # シャッフル
    5 stratify=y_cancer) # 層別化
    # Python
    1 train_test_split(
    2 X_cancer, y_cancer,
    3 test_size=0.3) # 7:3に分割

    View full-size slide

  44. 汎化性能向上のためのデータ分割⽅法
    45
    データセット

    A A A B B
    Aは70% Bは30%

    訓練データ
    (全体の50%)
    テストデータ
    (全体の50%)
    A
    100%
    A
    40%
    B
    60%
    訓練データ
    (全体の50%)
    テストデータ
    (全体の50%)
    A
    70%
    B
    30%
    A
    70%
    B
    30%
    安直に前から50:50分割 シャッフル & 層別化分割
    ダメ、絶対
    シャッフル & 層別化(stratification)

    View full-size slide

  45. K分割交差検証 (K-fold Cross Validation: CV) 〜 汎化性能評価のため⼯夫
    46
    訓練データ
    1回⽬
    2回⽬
    3回⽬
    テストデータ
    訓 訓


    訓 訓


    テ モデル
    モデル
    モデル
    0.82
    0.76
    0.79


    0.79






    最終スコア
    1. データをK個に分割する
    2. 分割データの1個をテスト,K-1個を訓練データとし学習・評価
    3. 分割された各データがテストとなるようステップ2を繰り返す
    4. ステップ3の評価スコアの平均値を最終スコアとする
    訓練/テストデータの選び⽅による過学習・性能評価のブレを防ぐ

    View full-size slide

  46. Hands-on タイム
    以下のURLにアクセスして,
    教師あり学習のお作法を体験してみましょう
    https://dmml2023.hontolab.org/
    47

    View full-size slide

  47. 今後の予定
    48
    回 実施⽇ トピック
    1 04/12 ガイダンス
    2 04/19 機械学習の概要 & はじめての機械学習
    3 04/26 演習:決定⽊
    4 05/10 クラスタリング1:k-means & 階層的クラスタリング
    5 05/17 クラスタリング2:密度ベースクラスタリング
    6 05/24 分類1:K近傍法 & 教師あり機械学習のお作法
    7 05/31 分類2:サポートベクターマシン
    8 06/07 分類3:ニューラルネットワーク⼊⾨

    View full-size slide

  48. 数学記号(集合)
    49
    集合 (太字でない⼤⽂字アルファベット)
    !
    集合の要素 (太字でない⼩⽂字アルファベット)
    "
    4 = /!, /", … , /#
    = 7 7 ∈ 2 ∧ : 7 > 0}
    外延表現:要素を並べる書き⽅
    内包表現:要素の条件を指定する書き⽅
    (xが実数でかつ f (x)がゼロより⼤きくなるようなxの集合)
    集合の書き⽅
    集合の⼤きさ(要素数) |"|

    View full-size slide


  49. 50
    + = 0, 1, 2, …
    @ = … , −2, −1, 0, 1, 2, …
    B = 2n + 1 | n ∈ +
    (⾃然数)
    (整数)
    (奇数)
    , = りんご, みかん, なし
    |,| = 3

    View full-size slide

  50. 数学記号(ベクトル)
    51
    #
    ベクトル (太字の⼩⽂字)
    断りがない限り,縦ベクトル
    B > = C=
    >
    + ⋯ + C&
    >
    ベクトルの要素の書き⽅
    実数を成分とする
    m次元ベクトル
    B =
    C=

    C&
    ∈ :&
    = C=, … , C&
    ?
    ベクトルの⼤きさ
    ! と書くことも
    B 4 H = B?
    H = ∑ C;>;
    ベクトルの内積
    !, # と書くことも

    View full-size slide

  51. 数学記号(⾏列)
    52
    ⾏列 (太字の⼤⽂字)
    F =
    7!!
    ⋯ 7#!

    7$!



    7$#
    ∈ 2$×#
    $の各列(縦ベクトル)
    を使った書き⽅
    実数を成分とする
    m⾏ n 列の⾏列
    = 7&' $×# こんな書き⽅も
    = J!, … , J#
    !
    ⾏列の
    要素の書き⽅

    View full-size slide

  52. 機械学習でよく⾒かける数学的処理(1/3)
    53
    A
    !<=
    9
    C! = C= + C> + ⋯ + C9
    J
    !<=
    9
    C! = C=C> … C9
    K
    K7(
    :(J)
    数列の和
    数列の積
    偏微分
    @ A = B)
    C)
    + B!
    C!
    + ⋯ + B*
    C*
    例:
    F
    FC*
    @ A = B*

    View full-size slide

  53. 機械学習でよく⾒かける数学的処理 (2/3)
    54
    argmax
    !∈#
    )(+)
    argmin
    $∈#
    )(+)
    max
    $∈#
    )(+)
    min
    $∈#
    )(+)
    関数を最⼤化
    関数を最⼩化
    実数の範囲でパラメータxを
    動かし関数f(x)を最⼤化・最⼩化
    関数を最⼤化する
    パラメータ
    関数を最⼩化する
    パラメータ
    関数を最適化する
    実数を⾒つける

    View full-size slide

  54. 機械学習でよく⾒かける数学的処理 (3/3)
    55
    sign + = 1
    1: + > 0
    0: + = 0
    −1: + < 0
    符号関数
    値の符号に応じて
    ・正なら1
    ・負なら-1
    ・ゼロなら0
    を返す関数と覚える
    画像出典: https://ja.wikipedia.org/wiki/符号関数
    (sgn * と書くことも)

    View full-size slide

  55. 機械学習でよく出くわす瞬時に理解すべき数式
    56
    !!" # = !$ !"
    !# # = #$!$
    $
    %
    %%
    &%
    = '$(
    Matrix Cookbook: http://www2.imm.dtu.dk/pubdb/edoc/imm3274.pdf
    )
    )(
    ( & =
    )
    )(
    ($( = 2(
    )
    )(
    +( = +$
    )
    )(
    '$( = '
    )
    )(
    ( − - & = 2(' − -)
    )
    )(
    !( − 0 & = 2!$(!( − 0)
    ! + # # = !$ + #$

    View full-size slide

  56. ⾏列サイズの⾒積もり
    57
    ⾏列A はm⾏ k列(m×k),⾏列B はk⾏ n列(k×n),
    ⾏列 Wはm⾏ m列(m×m),ベクトルxは m⾏ 1列(m×1)
    とする.このとき以下の演算結果のサイズは?
    Q1. 8%#
    Q2. #%9#
    Q3. #%# スカラー
    スカラー
    (k×1)の⾏列(k次元ベクトル)
    (m×k)の⾏列と(k×n)の⾏列の積をとると,
    (m×n)の⾏列ができあがると覚えておけばよい

    View full-size slide