【ラビットチャレンジ】機械学習:その1 線形回帰モデル

ラビットチャレンジ 機械学習:その1

機械学習モデリングプロセス

  1. 問題設定
    • 機械学習が必要なければ使う必要もない
    • 「仕事ではじめる機械学習」の著者も言っている
    • 機械学習のデメリット
      • 技術的ハードルが高い
        • 運用者のことまで考えられるか?
      • テストも難しい
  2. データ選定
  3. データの前処理
  4. 機械学習モデルの選定
    • 線形回帰
    • ロジスティック回帰
    • SVM
    • 主成分分析(PCA)
  5. モデルの学習
  6. モデルの評価

線形回帰とロジスティック回帰でモデリングプロセスを体験

※感想 機械学習をあえて使う必要が無いというのは大事 運用者への配慮はコモディティ化が進むとあるような、もっとハードルが下がるような… どっちだろう

SVMについて 資料にはあるので、そちらで学習ヨロ

環境について

  • Anacondaがあれば大丈夫

ルールベースモデルと機械学習モデル

  • シラバス
    • 人工知能学会の推薦
    • グッドフェローの深層学習
  • 機械学習とは?
    • タスクT:アプリケーションにさせたいこと
    • 性能指標P
    • 経験E:データ

回帰問題

  • ある入力(数値)から出力(連続値)を予想する問題
  • 回帰で扱うデータ
    • 入力はm次元のベクトル(m=1の場合はスカラ)

線形回帰モデル

  • 教師あり学習(正解付きデータから学習)
  • ある条件から、物件の価格を出すなどに使える
    • 部屋数、築年数、駅からの距離など

線形結合

  • 入力ベクトルと道野パラメータの各要素を掛け算し足し合わせたもの
  • 入力ベクトルとの線形結合に加え、切片も足し合わせる
  • 出力は1次元
  • パラメータ
    • 特徴量が予測値に対してどのように影響を与えるかを選定する重みの就業
    • 未知パラメータは最小二乗法により推定

※ハットについて(データYの上についていたもの)。予測値を表す場合には統計のせかいなどで「ハット」を使う

線形単(m=1)回帰モデル

データは回帰直線に誤差が加わり観測されていると過程

※εは正規分布と考えてよいか? → 最小二乗法の場合は考えなくて良い 最尤法の場合は正規分布で考えた方が詳細な分析が出来る。後で最尤法は出てくる

データ分割

  • データがn個ある場合に、全部を学習に使うことはしない
    • 学習用と評価用に分ける(80%が学習、20%を評価みたいなイメージ)
    • 学習 = train, 評価 = test

パラメータの推定

  • 平均二乗誤差
    • MSE
  • 最小二乗法
    • 行列に対して微分の操作をすれば推定量を得られる

※線形回帰はデータからパラメータを数学で推定出来るのが良いところ

ハンズオン(線形回帰モデル)

ボストンの住宅価格の予測

  • Scikit-learnを利用
  • Pandas
  • Numpy

jupiter notebookを使ってやる 1変量の単回帰から 2変量の重回帰もやる

model.coef : 回帰係数 model.intercept:切片

※ 犯罪率が上がると家賃が下がりがちなので… みたいな説明を数学的に出来る

スクリーンショット

f:id:n_morioka:20190527003840p:plain