0.はじめに
大学でデータサイエンスの講義を受講している者です。
あまりにも広範囲な分野であるため"広く浅く"情報整理したいため投稿。
内容のレベルは超入門編、個人的な感情も少し入り混じった備忘録。
(齟齬がある場合はご指摘いただけると助かります。)
データサイエンス学習全体像
【データサイエンス】概要
【データサイエンス】人工知能
【データサイエンス】機械学習
【データサイエンス】ディープラーニング
【データサイエンス】分析の分類・確率分布
【データサイエンス】探索的データ分析
【データサイエンス】統計的検定
【データサイエンス】予測モデリング
【データサイエンス】自然言語処理
【アルゴリズム】パーセプトロン
【データサイエンス】機械学習における関数
【データサイエンス】確率
1.機械学習とは
1-1.概要
明確にプログラムぜす学習する能力をコンピュータに与える技術
状況に応じた最適な解答が可能
学習データをもとに法則/ルール/パターンを学習というプロセスを介して導き出す手法
加算方式で確信度が高いものを出力するようなイメージが近い
100%の確証はないが100%に近い制度が発揮できる
例として 「本州で最も西にある県はどこか」 と問われた際、
- 解答候補を上げ選択肢を選ぶ
- 最も西に位置するものはどれか選択する
- 選択した中から県はあるのか選択する
- どの解答候補が最も確信度が高いか選択する
といったようなアルゴリズムを利用し解答へ導く
1-2.メリット・デメリット
モデルを元に学習し効果を発揮する、そのため効果の結果によっては微調整が可能
データのどの部分に着目して学習すれば良いのか判断できる変数や属性
画像を判断する場合、耳がある/輪郭や角度などの特徴を数値化し準備しなければならない
予測するにあたり手がかりとなるもの
1-3.学習手順
ざっくりと
工程 | 内容 |
---|---|
1 | モデル選択 |
2 | 訓練データを使用しモデルを学習させる |
3 | 評価し精度を確認する |
4 | 予測し未知のデータについて予測を行う |
特定の種類のパターンを認識するようにトレーニングされたファイル
モデルは入力されたデータをデータを解析し、評価・判定を行った結果を出力として返す
モデルにたくさんデータを入力し学習をさせてあげる
モデルが勝手に調整してくれる数値
プログラマ自身が調整しなくてはいけない数値
1-4.分類
機械学習は大きく以下の3つに大別される
教師あり学習
データセットから学習を行う
データ内には教師データ(正解)が含まれており、正解ラベルに基づき学習を行う
教師あり学習の中でも大きく2つの問題設定に大別される
回帰問題
x,y
の二次関数があるとき、x軸上の点aにおけるy軸上のbを求めたい
入力aがあるとき出力bはいくつになるのか解決するための問題
最終的にはxとyの入力と出力の組み合わせが学習として蓄積される
線形問題やガウス過程回帰などの手法が回帰問題となる
分類問題
入力aに対して正trueか負falseかを返す法則を学習する問題
パーセプトロンや混合ガウス分布などの手法が用いられる
代表的な手法
回帰分析
線形判別
ロジスティック回帰
決定木
例えば「銀行の貸付をしてもよいか決定木を用いた判断システムを開発したい」とする
元データ内に多くの属性があるがその中の、
Creditability(貸し付けた:1,貸し付けていない:0)
これが教師データとなる
訓練データ・検証用データ・テストデータに分ける手法がある
訓練データとは
モデルに模範とさせるためのデータ
正解データ
モデルを賢くするために使用するデータ
検証用データとは
ハイパーパラメータを調整するために使うデータ
テストデータ(=評価データ)とは
汎用性を客観的に評価するために使用するデータ
どんなデータにも対応するようになってほしいため性能評価をこのテストデータで行う
R言語ロジスティック回帰において訓練データ/テストデータと分割する場面がある。
分割することによりモデルの開発と評価を独立させ機械学習が充実していることが考えられる
教師なし学習
学習データに正解を与えない(教師データが無い)状態で学習を行う
特徴のない為距離などを計算することによって特徴を取り出しクラスタリングを行う
データをグループ分けしたり相関関係を推計することが目的
特徴量や特徴ベクトルに従って分類がされる
特徴空間による分類といわれる
代表的な手法
主成分分析
k平均法クラスタリング
階層クラスタリング
アソシエーション
クラスタリングに使われることが多い
実例がないものは正解値がないため学習が難しい
そういった場合に教師なし学習が利用される
異常検知システムなどに用いられる
1-5.教師あり学習のデータ総括
訓練データ
学習を行う
データの特徴を理解させるため
検証データ
一度モデルの評価を行いモデルのパラメータを調整して最終的なモデルを決定
テストデータ
評価を行う
未知のデータに対して正しく判断できるかジャッジするため