教師あり学習
■1.モデルを作るには・・・
回帰:
20XX/1/1 |
20XX1/2 |
20XX/1/3 |
20XX/1/4 |
20XX/1/5 |
x1 |
x2 |
x3 |
x4 |
x5 |
という値が続いていて、過去3個分のデータ内容に基づいて、翌日の結果が決まる場合はX,Yを下記のように置いて、LSTMにかけると良い。
x=[
[[x1][x2][x3]]
[[x2][x3][x4]]
]
y=[
[x4]
[x5]
]
分類:
以下のような流れで各要素が結果に与える影響度合いを予測する模様。
- 各要素が結果に影響を及ぼすことを数式化する。
f(x)=1/1+exp[-(b1x1+b2x2+bixi+b0)]のようにソフトマックス関数として定義。
ソフトマックス関数の特性上、各成分の和が1(=100%)になるので各事象ごとの確率として表現するのに便利らしい。
定義式中のbiはxiという要素が結果に与える影響割合を係数化したもの。wで表現して説明しているサイトを多く見かける。
- biの値を最小二乗法や最尤推定で推測する。
その過程で、推定確率と実際の確率の誤差を計算するために、交差エントロピー誤差というものを定義する模様。
■2.実データに合わせて学習させるには・・・
最急勾配降下法 |
実データとモデルの全差分を取ってから、学習させるやり方。学習効率は高いが、新データとかをすぐに学習反映させるのは困難。 |
確率的勾配降下法 |
サンプリングの実データとモデルの差分を取って、学習させるやり方。学習効率悪い、例外データの影響を受けやすい等のデメリットはあるが、新データとかをリアルタイムに取り込みやすい |
勾配降下法については、実データの情報に学習率を乗じて、徐々にモデルに反映するイメージ。従って、学習率と学習の関係は下記のようになるため、学習状況に応じてパラメータを変えるのが普通のよう。
学習率が高い |
学習早いが実データの影響を受けやすいので発散しやすい |
学習率が低い |
収束させるためにはたくさん学習させる必要がある。 |
教師なし学習
■1.モデルを作るには・・・
クラスタリング:
各データを数値化し、数値化したデータ間の距離を計ることで分類する。
距離の計り方は下記のように色々な尺度がある。
名称 |
意味合い |
ユークリッド距離 |
2点間の直接距離。SVMやk-means法もユークリッド距離使う。 |
コサイン距離 |
2点間のベクトル向きの近さ |
ピアソンの相関係数 |
各因子の相関関係も考慮 |
※上記はほんの一握りの例。距離の尺度は色々ありすぎて、正直よく分からない。(マンハッタン距離、ミンコフスキー距離、マハラノビス距離・・・)
※結果に影響を与える各因子の距離を計ることで分析を行うが、
単位を揃えないと正しく分析できないので注意。
なお、
標準偏差の考え方も知っておくと良い。
(具体例)
・偏差値が高い学生を調べるというテーマだとする。
Aさん:国語(80点/100点満点)、算数(10点/10点満点)
Bさん:国語(100点/100点満点)、算数(5点/10点満点)
実際はAさん(国語80%,算数100%)、Bさん(国語100%,算数50%)なので、
Aさんの方が総合力は上そうに見える。
しかし、単位をそろえずに数値だけ見ると、
Bさん(合計:105点) > Aさん(合計90点)になってしまう。
最終更新:2025年02月24日 11:33