1,
> 与えられたデータ(入力)を元に、そのデータがどんなパターン(出力)になるかを識別・予測するもの
> 入力と出力がセットとなったデータを用いる
‐例‐
> 過去の売上から、将来の売上を予測したい("回帰問題")
> 与えられた動物の画像が、何の動物かを識別したい("分類問題")
2,
> 入力データそのものが持つ構造・特徴が対象となる学習方法
> 入力はあるが出力のデータセットがない(正解データがない)
‐例‐
> ECサイトの売上データから、どういった顧客層があるのかを認識したい
> 入力データの各項目間にある関係性を把握したい
3,
‐例‐
※答えは3つある。「、」を用いて続けて入力。教師あり学習、教師なし学習、強化学習
✓ 統計でも用いられる手法で、最もシンプルな モデルの一つ
☆ そのデータに最も当てはまる直線を考えるというもの
✓ 横軸が身長・縦軸が体重の関係など
☆ 教師データより、回帰直線を求めることによっ て、新しいデータが来た際に、その直線の値を返すことで出力を予測することができる
✓ 多次元にも対応できる
✓ 正則化項を加えた手法にラッソ回帰(Lasso regression)リッジ回帰(Ridge regression)がある線形回帰
✓ 線形回帰は、回帰問題に用いる手法であるのに対して、分類問題に用いるもの
✓ シグモイド関数という関数をモデルの出力に用いる
✓ 任意の値を0から1の間に写像するシグモイド関数を用いることによって、与えられたデータが正例(+1)になるか、負例(0)になるかの確率が求まる
✓ 基本的には、0.5を閾値(境界)として正例・負例を分類するが、0.5でない場合もある
✓ 2種類分類だけでなく、もっとたくさんの分類を行いたいケースではソフトマックス関数などが用いられるロジスティック回帰
✓ 決定木を用いる手法
✓ 教師あり学習は、複数の特徴量をもとにパターンを出力するものなので、"どの特徴量が どんな値になっているかを順々に考えていき、 それに基づいて分岐路を作っていけば、最終的に一つの出力を予測できる"
✓ この分岐路が"決定木"と呼ばれる
✓ 特徴量をランダムに選出する = ランダムに決定木が作られる
✓ データもすべて使うのではなく、決定木に対してランダムに一部のデータを取り出して学習に用いる(ブートストラップサンプリング)
✓ 複数の決定木を作成するため、予測結果はそれぞれの決定木で異なる場合が生じる
✓ それぞれの結果を用いて多数決を取ることによって、モデルの最終的な出力を決定している
✓ これにより、決定木の精度をある程度高いものにできる
✓ 複数のモデルを試して精度を上げており、このように複数のモデルで学習させることをアンサンブル学習という
✓ 全体から一部のデータを用いて、また複数のモデルを用いて学習する方法をバギングというランダムフォレスト
✓ バギングと同様で、一部のデータを繰り返し抽出し、複数のモデルを学習させるアプローチ
✓ バギングでは、複数のモデルを一気に並列に作成するのに対して、逐次的にモデルを作成する
✓ 1つのモデルを作成し、学習する。次に作成するモデルでは、そこで誤認識してしまったデータを優先的に正しく分類できるように学修する
✓ モデル部分では決定木が用いられており、AdaBoostや勾配ブースティング、XgBoostが有名
✓ 逐次的に学習を進めていく分、一般的にはランダムフォレストよりもよい精度が得られる
✓ 一方で、並列処理ができないため、学習にかかる時間は多くなるブースティング
✓ 高度な数学的理論に支えられた手法である
✓ ディープラーニングが考えられる以前は、機械学習において最も人気のあった手法の 一つだった
✓ コンセプトは各データ点との距離が最大となるような境界線を求めることで、パタン分類を行うというもの
✓ この距離を最大化することをマージン最大化という
✓ 扱うデータが高次元で、データが線形分類できない(直線で分類できない)という 問題があるので、対処が必要
✓ 線形分類の対処法では、データをあえて高次元に写像する関数(カーネル)を用 いるアプローチがとられる
✓ 写像することをカーネルトリックというサポートベクターマシン
✓ 人間の脳の中の構造を模したアルゴリズム
✓ 人間の脳にはニューロンと呼ばれる神経細胞が何十億個と張り巡らされており、これらのニューロンはお互いに結び付くことで神経回路を構成してる
✓ このニューロンの特徴を再現するための手法
✓ 右図は単純パーセプトロンと呼ばれるモデル
✓ 複数の特徴量を受け取り、1つの出力を行う
✓ 入力を受け取る層を入力層、出力部分を出カ層と表現する
✓ 入力層における各ニューロンと、出力層におけるニューロンの間のつながりは、重みで表され、 どれだけの値を伝えるかを調整する
✓ そして、出力が0か1の値を取るようにすることで、正例と負例の分類を可能にする
✓ また、この出力を0か1ではなく、0から1の値をとるように調整することもできる
✓ 出力層では、先述のシグモイド関数を用いる(シグモイド関数のような伝播させる信号を調整するものを活性化関数という)
✓ この単純パーセプトロンは、ロジスティック回帰と数式上の表現は全く同じになる
✓ 単純パーセプトロンは、線形分類しか行うことがで きない
✓ そこで、さらに層を追加するアプローチがとられ、こ
れを多重パーセプトロン(Multi-Layer- Perceptron)とよぶ: MLP
✓ 入力層と出力層の間に追加された層(隠れ層)を加えて、単純パーセプトロン同士を結合させている
✓ これにより、非線形分類も行うことが可能となった
✓ 重みも自動的に更新するアルゴリズムとして"誤差逆伝播法(Backpropagation)"が考えられ たニューラルネットワーク
✓ データをk個のグループに分けることを目的として、元のデータからグループ構造を見つけ出し、それぞれをまとめる手法のこと
✓ ただし、k個のkは自分で設定する値となる
✓ グループのことを正確にはクラスタ(cluster)といい、この手法を用いた分析のことをクラスタ分析という
✓ アプローチとしては
1. まず、適当に各データをk個のクラスタに振り分ける
2. 各クラスタの重心を求める
3. 求まったk個の重心と各データとの距離を求め、各データを最も距離が近い重心に 対応するクラスタに振り分けなおす
4. 重心の位置がほぼ変化しなくなるまで2, 3を繰り返すk-means
✓ データの特徴量間の関係性(相関)を分析することでデータの構造をつかむ手法
✓ 特に特徴量の数が多い場合に用いられ、相関をもつ多数の特徴量から、相関のな い少数の特徴量へと次元削減することが主たる目的
✓ ここで得られる少数の特徴量を主成分という
✓ 機械学習で用いられる特徴量は次元が多くなりがちだが、次元削減をおこなうことで、学習にかかる時間を減らしたり、あるいはデータを可視化したりすることができる主成分分析
データの扱い
✓ 機械学習では、モデルがどれくらいの予測精度をもっているかを評価する必要がある
✓ 予測精度の評価には、"未知のデータに対しての予測能力を確認することが適切である"
✓ 未知のデータは準備することが困難なため、手元のデータから疑似的に未知データを創り出すことになる
✓ 手元にあるデータを「訓練データ」 「評価 (テスト) データ」に分割して評価する
✓ データを分割して評価をすることを"交差検証(クロスバリデーション)"という
✓ 交差検証には2種類ある。「"ホールドアウト検証"」と「"k-分割交差検証"」という
✓ ホールドアウト検証は、事前にデータを訓練データとテストデータに分割する方法
✓ K-分割交差検証は、"ホールドアウト"をデータの分割を変えて複数回行う
✓ 訓練データをさらに分割する場合もあり、その際に分割されたデータはそれぞれ訓練データ、検証データと呼ぶ
✓ 全データが"訓練データ、検証データ、テストデータ"に分割されることになる手法の評価
1,
> 与えられたデータ(入力)を元に、そのデータがどんなパターン(出力)になるかを識別・予測するもの
> 入力と出力がセットとなったデータを用いる
‐例‐
> 過去の売上から、将来の売上を予測したい("回帰問題")
> 与えられた動物の画像が、何の動物かを識別したい("分類問題")
2,
> 入力データそのものが持つ構造・特徴が対象となる学習方法
> 入力はあるが出力のデータセットがない(正解データがない)
‐例‐
> ECサイトの売上データから、どういった顧客層があるのかを認識したい
> 入力データの各項目間にある関係性を把握したい
3,
‐例‐
※答えは3つある。「、」を用いて続けて入力。教師あり学習、教師なし学習、強化学習
✓ 統計でも用いられる手法で、最もシンプルな モデルの一つ
☆ そのデータに最も当てはまる直線を考えるというもの
✓ 横軸が身長・縦軸が体重の関係など
☆ 教師データより、回帰直線を求めることによっ て、新しいデータが来た際に、その直線の値を返すことで出力を予測することができる
✓ 多次元にも対応できる
✓ 正則化項を加えた手法にラッソ回帰(Lasso regression)リッジ回帰(Ridge regression)がある線形回帰
✓ 線形回帰は、回帰問題に用いる手法であるのに対して、分類問題に用いるもの
✓ シグモイド関数という関数をモデルの出力に用いる
✓ 任意の値を0から1の間に写像するシグモイド関数を用いることによって、与えられたデータが正例(+1)になるか、負例(0)になるかの確率が求まる
✓ 基本的には、0.5を閾値(境界)として正例・負例を分類するが、0.5でない場合もある
✓ 2種類分類だけでなく、もっとたくさんの分類を行いたいケースではソフトマックス関数などが用いられるロジスティック回帰
✓ 決定木を用いる手法
✓ 教師あり学習は、複数の特徴量をもとにパターンを出力するものなので、"どの特徴量が どんな値になっているかを順々に考えていき、 それに基づいて分岐路を作っていけば、最終的に一つの出力を予測できる"
✓ この分岐路が"決定木"と呼ばれる
✓ 特徴量をランダムに選出する = ランダムに決定木が作られる
✓ データもすべて使うのではなく、決定木に対してランダムに一部のデータを取り出して学習に用いる(ブートストラップサンプリング)
✓ 複数の決定木を作成するため、予測結果はそれぞれの決定木で異なる場合が生じる
✓ それぞれの結果を用いて多数決を取ることによって、モデルの最終的な出力を決定している
✓ これにより、決定木の精度をある程度高いものにできる
✓ 複数のモデルを試して精度を上げており、このように複数のモデルで学習させることをアンサンブル学習という
✓ 全体から一部のデータを用いて、また複数のモデルを用いて学習する方法をバギングというランダムフォレスト
✓ バギングと同様で、一部のデータを繰り返し抽出し、複数のモデルを学習させるアプローチ
✓ バギングでは、複数のモデルを一気に並列に作成するのに対して、逐次的にモデルを作成する
✓ 1つのモデルを作成し、学習する。次に作成するモデルでは、そこで誤認識してしまったデータを優先的に正しく分類できるように学修する
✓ モデル部分では決定木が用いられており、AdaBoostや勾配ブースティング、XgBoostが有名
✓ 逐次的に学習を進めていく分、一般的にはランダムフォレストよりもよい精度が得られる
✓ 一方で、並列処理ができないため、学習にかかる時間は多くなるブースティング
✓ 高度な数学的理論に支えられた手法である
✓ ディープラーニングが考えられる以前は、機械学習において最も人気のあった手法の 一つだった
✓ コンセプトは各データ点との距離が最大となるような境界線を求めることで、パタン分類を行うというもの
✓ この距離を最大化することをマージン最大化という
✓ 扱うデータが高次元で、データが線形分類できない(直線で分類できない)という 問題があるので、対処が必要
✓ 線形分類の対処法では、データをあえて高次元に写像する関数(カーネル)を用 いるアプローチがとられる
✓ 写像することをカーネルトリックというサポートベクターマシン
✓ 人間の脳の中の構造を模したアルゴリズム
✓ 人間の脳にはニューロンと呼ばれる神経細胞が何十億個と張り巡らされており、これらのニューロンはお互いに結び付くことで神経回路を構成してる
✓ このニューロンの特徴を再現するための手法
✓ 右図は単純パーセプトロンと呼ばれるモデル
✓ 複数の特徴量を受け取り、1つの出力を行う
✓ 入力を受け取る層を入力層、出力部分を出カ層と表現する
✓ 入力層における各ニューロンと、出力層におけるニューロンの間のつながりは、重みで表され、 どれだけの値を伝えるかを調整する
✓ そして、出力が0か1の値を取るようにすることで、正例と負例の分類を可能にする
✓ また、この出力を0か1ではなく、0から1の値をとるように調整することもできる
✓ 出力層では、先述のシグモイド関数を用いる(シグモイド関数のような伝播させる信号を調整するものを活性化関数という)
✓ この単純パーセプトロンは、ロジスティック回帰と数式上の表現は全く同じになる
✓ 単純パーセプトロンは、線形分類しか行うことがで きない
✓ そこで、さらに層を追加するアプローチがとられ、こ
れを多重パーセプトロン(Multi-Layer- Perceptron)とよぶ: MLP
✓ 入力層と出力層の間に追加された層(隠れ層)を加えて、単純パーセプトロン同士を結合させている
✓ これにより、非線形分類も行うことが可能となった
✓ 重みも自動的に更新するアルゴリズムとして"誤差逆伝播法(Backpropagation)"が考えられ たニューラルネットワーク
✓ データをk個のグループに分けることを目的として、元のデータからグループ構造を見つけ出し、それぞれをまとめる手法のこと
✓ ただし、k個のkは自分で設定する値となる
✓ グループのことを正確にはクラスタ(cluster)といい、この手法を用いた分析のことをクラスタ分析という
✓ アプローチとしては
1. まず、適当に各データをk個のクラスタに振り分ける
2. 各クラスタの重心を求める
3. 求まったk個の重心と各データとの距離を求め、各データを最も距離が近い重心に 対応するクラスタに振り分けなおす
4. 重心の位置がほぼ変化しなくなるまで2, 3を繰り返すk-means
✓ データの特徴量間の関係性(相関)を分析することでデータの構造をつかむ手法
✓ 特に特徴量の数が多い場合に用いられ、相関をもつ多数の特徴量から、相関のな い少数の特徴量へと次元削減することが主たる目的
✓ ここで得られる少数の特徴量を主成分という
✓ 機械学習で用いられる特徴量は次元が多くなりがちだが、次元削減をおこなうことで、学習にかかる時間を減らしたり、あるいはデータを可視化したりすることができる主成分分析
データの扱い
✓ 機械学習では、モデルがどれくらいの予測精度をもっているかを評価する必要がある
✓ 予測精度の評価には、"未知のデータに対しての予測能力を確認することが適切である"
✓ 未知のデータは準備することが困難なため、手元のデータから疑似的に未知データを創り出すことになる
✓ 手元にあるデータを「訓練データ」 「評価 (テスト) データ」に分割して評価する
✓ データを分割して評価をすることを"交差検証(クロスバリデーション)"という
✓ 交差検証には2種類ある。「"ホールドアウト検証"」と「"k-分割交差検証"」という
✓ ホールドアウト検証は、事前にデータを訓練データとテストデータに分割する方法
✓ K-分割交差検証は、"ホールドアウト"をデータの分割を変えて複数回行う
✓ 訓練データをさらに分割する場合もあり、その際に分割されたデータはそれぞれ訓練データ、検証データと呼ぶ
✓ 全データが"訓練データ、検証データ、テストデータ"に分割されることになる手法の評価