機械学習

<h1>機械学習</h1>



<h2>第1章 線形回帰モデル</h2>
<ol>
  <li>回帰問題
    <ul>
      <li>ある入力(離散あるいは連続値)から出力(連続値)を予測する問題</li>
        <ul>
          <li>線形回帰は1本の直線で予測する。</li>
          <li>非線形回帰は曲線で予測する。</li>
        </ul>
    </ul>
  </li>

  <li>扱うデータ
    <ul>
      <li>入力(各要素のことを説明変数or特徴量)</li>
      <li>出力(目的変数)</li>
    </ul>
  </li>

  <li>線形回帰モデルとは
    <ul>
      <li>機械学習の１つで回帰問題を解くためのモデルのこと。</li>
      <li>教師あり学習である。</li>
    </ul>
  </li>

  <li>線形結合
    <ul>
      <li>入力とパラメータの内積のこと。</li>
      <li>入力ベクトルとの線型結合に切片も加えたもの。</li>
    </ul>
  </li>

  <li>モデルのパラメータ
    <ul>
      <li>推定が必要な道のパラメータのこと。←最小二乗法を用いて推定</li>
      <li>予測値にどのような影響を与える特徴量であるかを決める重みの集合のこと。</li>
    </ul>
  </li>

  <li>単回帰モデル
    <ul>
      <li>説明変数が1次元の回帰モデルのこと。</li>
      <li>図は直線を表す。</li>
      <li>データは回帰直線に誤差が加えられ、観測されていると仮定する。</li>
    </ul>
  </li>

  <li>重回帰モデル
    <ul>
      <li>説明変数がn次元の回帰モデルのこと。</li>
      <li>図は曲面を表す。</li>
      <li>データは回帰局面に誤差が加えられ、観測されていると仮定する。</li>
    </ul>
  </li>

  <li>平均二乗誤差(残差平方和・MSE)
    <ul>
      <li>データとモデル出力の二乗誤差の和のこと。</li>
      <li>パラメータのみに依存する関数である。(データは既知でパラメータのみ未知の値)</li>
    </ul>
  </li>

  <li>最小二乗法
    <ul>
      <li>学習データの平均二乗誤差を最小とするパラメータを探す方法のこと。</li>
      <li>勾配が0になる点を求める。</li>
    </ul>
  </li>

  <li>線形回帰モデル　実装演習</li>
</ol>
![第1章 線形回帰モデル.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/925727/03edf9dc-4b5e-b864-a1c5-b89574d32f21.png)



<h2>第2章 非線形回帰モデル</h2>
<ol>
  <li>基底関数
    <ul>
      <li>関数空間の基底ベクトルのこと。</li>
      <li>既知の非線形関数のこと。</li>
    </ul>
  </li>

  <li>基底展開法
    <ul>
      <li>基底関数とパラメータベクトルの線型結合を使用する。</li>
      <li>未知パラメータは線形回帰モデルと同様に最小二乗法や最尤法により推定する。</li>
    </ul>
  </li>

  <li>未学習
    <ul>
      <li>学習データに対し、十分小さな誤差が得られないモデルのこと。</li>
    </ul>
  </li>

  <li>過学習
    <ul>
      <li>小さな誤差は得られたが、テスト集合誤差との差が大きいモデルのこと。</li>
    </ul>
  </li>

  <li>汎化性能
    <ul>
      <li>学習に使用していない新しい入力にたいする予測性能のこと。</li>
    </ul>
  </li>

  <li>ホールドアウト法
    <ul>
      <li>所持しているデータを学習用と検証用の2つに分割し、「予測精度」や「誤り率」を推定するために使用する。</li>
    </ul>
  </li>

  <li>クロスバリデーション(交差検証)
    <ul>
      <li>所持しているデータを学習用と検証用の2つに分割し、違う組み合わせの分割方法をn通り使い、解析の妥当性の検証や確認を行う手法のこと。</li>
    </ul>
  </li>

  <li>グリットサーチ
    <ul>
      <li>モデルの精度を向上させるために全てのパラメータの組み合わせを試してみる方法のこと。</li>
    </ul>
  </li>

  <li>非線形回帰モデル　実装演習</li>
</ol>
![第2章-非線形回帰モデル-ipynb-Colaboratory (1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/925727/6d91fb77-b676-8a49-626e-fc13595bd803.png)


<h2>第3章 ロジスティック回帰モデル</h2>
<ol>
  <li>分類問題(クラス分類)
    <ul>
      <li>ある入力(数値)からクラスに分類する問題のこと。</li>
    </ul>
  </li>

  <li>扱うデータ
    <ul>
      <li>入力(各要素のことを説明変数or特徴量)</li>
      <li>出力(目的変数)←0か1の値</li>
    </ul>
  </li>

  <li>ロジスティック回帰モデル
    <ul>
      <li>分類問題を解くためのの回帰モデルのこと。</li>
      <li>教師あり学習の1つである。</li>
    </ul>
  </li>


  <li>シグモイド関数
    <ul>
      <li>入力は実数であり、出力は0〜1の値をとる。</li>
      <li>単調増加関数である。</li>
      <li>シグモイド関数の微分は、シグモイド関数自身で表現することが可能である。</li>
      <li>尤度関数の微分をする際にシグモイド関数を有効利用することができる。</li>
    </ul>
  </li>

  <li>連鎖律
    <ul>
      <li>微分法において、複数の関数が合成された合成関数を微分するとき、その導関数がそれぞれの導関数の積で与えられるという関係式のこと。</li>
    </ul>
  </li>

  <li>最尤推定
    <ul>
      <li>統計学において、与えられたデータからそれが従う確率分布の母数を点推定する方法のこと。</li>
      <li>データからそのデータを生成したであろう尤もらしい分布(パラメータ)を推定する。</li>
      <li>尤度関数を最大化するようなパラメータを選ぶ推定方法のこと。</li>
    </ul>
  </li>

  <li>尤度関数
    <ul>
      <li>統計学において、ある前提条件に従って結果が現れる場合に、逆に観察結果からみて前提条件が「何々であった」と推測する尤もらしさを表す数値を、「何々」を変数とする関数のこと。</li>
    </ul>
  </li>

  <li>勾配降下法
    <ul>
      <li>重みを少しずつ更新していき、勾配が最小になる点を探すアルゴリズムのこと。</li>
    </ul>
  </li>

  <li>確率的勾配降下法(SGD)
    <ul>
      <li>データを1つずつランダムに選んでパラメータを更新していくアルゴリズムのこと。</li>
    </ul>
  </li>

  <li>ロジスティック回帰モデル　実装演習</li>
</ol>
![第3章-ロジスティック回帰モデル-ipynb-Colaboratory.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/925727/f5bf9776-a9dc-d831-5673-ba6e8fe6a03c.png)



<h2>第4章 主成分分析</h2>
<ol>
  <li>主成分分析とは
    <ul>
      <li>多次元データのもつ情報をできるだけ損わずに低次元空間に情報を縮約する方法のこと。</li>
      <li>次元の縮約により、情報の損失が発生する。</li>
    </ul>
  </li>

  <li>ラグランジュの未定乗数法
    <ul>
      <li>束縛条件のもとで最適化を行うための数学的な方法のこと。</li>
    </ul>
  </li>

  <li>分散共分散行列
    <ul>
      <li>統計学と確率論において、ベクトルの要素間の共分散の行列のこと。</li>
    </ul>
  </li>

  <li>相関行列
    <ul>
      <li>相関係数を並べたもので対称行列である。</li>
    </ul>
  </li>

  <li>正値対称行列(正定値対称行列)
    <ul>
      <li>固有値がすべて正の対称行列のことを正値対称行列のこと。</li>
    </ul>
  </li>

  <li>寄与率
    <ul>
      <li>第k主成分の分散の全分散に対する割合のこと。</li>
    </ul>
  </li>

  <li>累積寄与率
    <ul>
      <li>第1-k主成分まで圧縮した際の情報損失量の割合のこと。</li>
    </ul>
  </li>

  <li>主成分分析　実装演習</li>
</ol>
![第4章-主成分分析-ipynb-Colaboratory.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/925727/6598f528-004c-ae79-7cdb-f1a6ca62b01f.png)




<h2>第5章 k-means</h2>
<ol>
  <li>k-means(k-平均法)
    <ul>
      <li>クラスタリング(特徴の似ているもの同士をグループ化)手法である。</li>
      <li>教師なし学習である。</li>
      <li>与えられたデータをk個のクラスタに分類する手法である。</li>
      <li>中心の初期値を変化させるとクラスタリング結果も変わりうる。</li>
      <li>kの値を変えるとクラスタリング結果も変わる。</li>
    </ul>
  </li>

  <li>アルゴリズム
    <ul>
      <li>①各クラスタ中心の初期値を設定する。</li>
      <li>②各データの点に対し、各クラスタの中心との距離を計算し、最も距離が近いクラスタを割り当てる。</li>
      <li>③各クラスタの平均ベクトル(中心)を計算する。</li>
      <li>④収束するまで②、③の処理を繰り返す。</li>
    </ul>
  </li>
  <li>k-means　実装演習</li>
</ol>
![第５章-K平均法-ipynb-Colaboratory.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/925727/f59798d5-b1c0-acee-91f9-ded18b76f520.png)




<h2>第7章 サポートベクターマシーン</h2>
<ol>
  <li>サポートベクタ〜マシン(SVM)
    <ul>
      <li>機械学習において、2クラス分類のための手法のこと。</li>
      <li>線形モデルの正負で2値分類を行うこと。</li>
      <li>線形判別関数富もっtも近いデータの点との距離をマージンという。</li>
      <li>マージンが最大となる線形判別関数を求めること。</li>
    </ul>
  </li>

  <li>ラグランジュの未定乗数法
    <ul>
      <li>束縛条件のもとで最適化を行うための数学的な方法のこと。</li>
    </ul>
  </li>

  <li>カルーシュ・クーン・タッカー条件(KKT)
    <ul>
      <li>非線形計画において、一階導関数が満たすべき最適条件のこと。</li>
    </ul>
  </li>

  <li>双対問題(そうつい)
    <ul>
      <li>数学において、最適化問題における主問題の補問題のこと。</li>
    </ul>
  </li>

  <li>ソフトマージン法
    <ul>
      <li>データが綺麗に分離していなくても適用ができ、適用範囲も広い。</li>
      <li>線形分離できない場合でも対応。</li>
    </ul>
  </li>

  <li>ハードマージン法
    <ul>
      <li>データが綺麗に分離していなくても適用ができ、適用範囲も広い。</li>
      <li>線形分離できない場合でも対応。</li>
    </ul>
  </li>

  <li>カーネルトリック
    <ul>
      <li>カーネル関数を使って、計算複雑度の増大を抑えつつ内積にもとづく解析手法を高次元特徴空間へ拡張するアプローチのこと。</li>
    </ul>
  </li>
  <li>サポートベクターマシン(SVM)　実装演習</li>
</ol>
![第7章-サポートベクターマシン-SVM-ipynb-Colaboratory.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/925727/5a596e88-4ca2-2759-bbe8-7531e68cd32c.png)