SlideShare a Scribd company logo
1 of 20
Week2:
Linear Regression with Multiple Variables
2015/08/27
担当:古賀
Week2で学習すること
• 多変量線形回帰
• 多変量線形回帰の最急降下法によるパラメータ推定
• 特徴の正規化
• 学習率の選定方法
• 特徴の選定方法と多項式による回帰
• 正規方程式によるパラメータ推定
サマリー + わかりにくかったところ
を中心に解説します
単変量 vs. 多変量の線形回帰
仮説:
目的
関数:
パラメータ:
最急降下法によるパラメータ推定法:
多変量単変量
又は、
多変量の線形回帰: J(Θ)
4 x 5 行列 要素数5のベクトル 要素数4のベクトル
要素数4のベクトル
ベクトルの転置 × ベクトル = スカラ
スカラ
多変量の線形回帰: J(Θ)
多変量の線形回帰: min J(Θ)
theta = theta – alpha * 1.0/m * X’ * (X*theta - y);
(m x (n+1))の転置 m ベクトルn+1ベクトル
特徴の正規化
スケールが違いすぎる
すべての特徴𝑥𝑖をおおよそ にしたい
・平均、標準偏差を使った正規化
例)
少し範囲を出ても良い。
𝑥𝑗
𝑖
←
𝑥𝑗
𝑖
− 𝜇 𝑗
𝜎𝑗
𝑋1
以外の各要素に対して正規化する
学習率αの選定方法
・αが小さすぎる: 収束に時間がかかる
・αが大きすぎる: 各繰り返しでJ(Θ)が減少し
ない → J(Θ)が収束しない
αの決め方
…, 0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1, …..
× 3 × 1/3
多項式回帰
多変量線形回帰のモデルを使って、多項式の回帰モデルを
作ることができる
正規方程式
Octave実装: pinv(X ' * X) * X' * y
最急降下法
・学習率αを選ばなければならない
・繰り返し処理が必要
・特徴数が多くても機能する
%% Load Data
data = load('ex1data2.txt');
X = data(:, 1:2);
y = data(:, 3);
1. Xを正規化
2. 最急降下法でコスト関数最小化→パラメータ推定
(J(Θ)の値ををグラフで確認しつつ)
2’. 正規方程式による方法でパラメータ推定
11
Assignment(Multiple Variablesのみ)
データの準備
ex1data2.txt
解く順序
:
家のサイズ(feet^2)
ベットルーム数 家の価格
問題:学習データを使って、家のサイズとベッドルーム数
から、家の価格を予測する
12
function [X_norm, mu, sigma] = featureNormalize(X)
mu = mean(X); % (1 x 2)
sigma = std(X); % (1 x 2)
mu_m = ones(length(X), 1) * mu; % (m x 1)*(1 x 2)=(m x 2)
sig_m = ones(length(X), 1) * sigma; % (m x 1)*(1 x 2)=(m x 2)
X_norm = (X - mu_m) ./ sig_m; % OK (m x 2)
%X_norm = (X - mu_m) / sig_m; % NG (m x m)
end
Feature Normalization
featureNormalize.m
[X mu sigma] = featureNormalize(X);
X = data(:, 1:2); % (m x 2)
y = data(:, 3); % (m x 1)
13
正規化前
正規化後
14
% Choose some alpha value
alpha = 0.01;
num_iters = 400;
% Init Theta and Run Gradient Descent
theta = zeros(3, 1);
[theta, J_history] = gradientDescentMulti(X, y, theta, alpha, num_iters);
Gradient Descent
% Add intercept term to X
X = [ones(m, 1) X]; % (m x 3)
% Estimate the price of a 1650 sq-ft, 3 br house
t = [1650, 3];
price = [1, (t-mu)./sigma] * theta; 正規化が必要(1以外)
[X mu sigma] = featureNormalize(X); Xを正規化
15
function [theta, J_history] = gradientDescentMulti(X, y, theta,
alpha, num_iters)
% Initialize some useful values
m = length(y); % number of training examples
J_history = zeros(num_iters, 1);
for iter = 1:num_iters
h = X * theta;
theta = theta - alpha * 1.0/m * X' * (h-y);
% Save the cost J in every iteration
J_history(iter) = computeCostMulti(X, y, theta);
end
end
gradientDescentMulti.m
16
computeCostMulti.m
function J = computeCostMulti(X, y, theta)
% number of training examples
m = length(y);
% non-vectorized form
%h = X*theta;
%J = 1.0/(2.0*m) * sum((h - y).^2);
% vectorized form
J = 1.0/(2.0*m) * (X*theta-y)' * (X*theta-y);
end
17
α=0.01
α=0.01 α=0.03
α=0.1
α=1.4α=1.0
Selecting learning rates
NG!
19
Normal Equations
function [theta] = normalEqn(X, y)
theta = pinv(X'*X) * X' * y;
end
% Calculate the parameters from the normal equation
theta = normalEqn(X, y);
% Estimate the price of a 1650 sq-ft, 3 br house
price = [1, 1650, 3] * theta;
normalEqn.m
20
最急降下法で
パラメータ推定
正規方程式でパ
ラメータ推定
結果

More Related Content

What's hot

行列補完を用いた無線マルチキャスト符号構成アルゴリズム
行列補完を用いた無線マルチキャスト符号構成アルゴリズム行列補完を用いた無線マルチキャスト符号構成アルゴリズム
行列補完を用いた無線マルチキャスト符号構成アルゴリズム
Tasuku Soma
 
スペクトラルグラフ理論入門
スペクトラルグラフ理論入門スペクトラルグラフ理論入門
スペクトラルグラフ理論入門
irrrrr
 
PRML勉強会@長岡 第4章線形識別モデル
PRML勉強会@長岡 第4章線形識別モデルPRML勉強会@長岡 第4章線形識別モデル
PRML勉強会@長岡 第4章線形識別モデル
Shohei Okada
 
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
ryotat
 
Ikeph 1-appendix
Ikeph 1-appendixIkeph 1-appendix
Ikeph 1-appendix
GM3D
 
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
Nozomu Kaneko
 

What's hot (20)

PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
PRML 3.3.3-3.4 ベイズ線形回帰とモデル選択 / Baysian Linear Regression and Model Comparison)
 
行列補完を用いた無線マルチキャスト符号構成アルゴリズム
行列補完を用いた無線マルチキャスト符号構成アルゴリズム行列補完を用いた無線マルチキャスト符号構成アルゴリズム
行列補完を用いた無線マルチキャスト符号構成アルゴリズム
 
PRML 第14章
PRML 第14章PRML 第14章
PRML 第14章
 
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
[PRML] パターン認識と機械学習(第3章:線形回帰モデル)
 
スペクトラルグラフ理論入門
スペクトラルグラフ理論入門スペクトラルグラフ理論入門
スペクトラルグラフ理論入門
 
Tpp2012 mwpl on_coq
Tpp2012 mwpl on_coqTpp2012 mwpl on_coq
Tpp2012 mwpl on_coq
 
PRML第3章@京大PRML輪講
PRML第3章@京大PRML輪講PRML第3章@京大PRML輪講
PRML第3章@京大PRML輪講
 
PRML勉強会@長岡 第4章線形識別モデル
PRML勉強会@長岡 第4章線形識別モデルPRML勉強会@長岡 第4章線形識別モデル
PRML勉強会@長岡 第4章線形識別モデル
 
Prml 4.3.6
Prml 4.3.6Prml 4.3.6
Prml 4.3.6
 
論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)論理と計算のしくみ 5.3 型付きλ計算 (前半)
論理と計算のしくみ 5.3 型付きλ計算 (前半)
 
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
行列およびテンソルデータに対する機械学習(数理助教の会 2011/11/28)
 
Prml 4
Prml 4Prml 4
Prml 4
 
Ikeph 1-appendix
Ikeph 1-appendixIkeph 1-appendix
Ikeph 1-appendix
 
Stochastic Variational Inference
Stochastic Variational InferenceStochastic Variational Inference
Stochastic Variational Inference
 
Prml 3 3.3
Prml 3 3.3Prml 3 3.3
Prml 3 3.3
 
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
すごいHaskell 第7章 型や型クラスを自分で作ろう(前編)
 
PRML4.3.3
PRML4.3.3PRML4.3.3
PRML4.3.3
 
ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版ディジタル信号処理 課題解説(その1) 2014年度版
ディジタル信号処理 課題解説(その1) 2014年度版
 
Distributed Stochastic Gradient MCMC
Distributed Stochastic Gradient MCMCDistributed Stochastic Gradient MCMC
Distributed Stochastic Gradient MCMC
 
Rのoptim関数でロバスト回帰(LMSとLAV)
Rのoptim関数でロバスト回帰(LMSとLAV)Rのoptim関数でロバスト回帰(LMSとLAV)
Rのoptim関数でロバスト回帰(LMSとLAV)
 

Similar to Coursera Machine Learning Week2まとめ 

ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
noname409
 
ディジタル信号処理の課題解説
ディジタル信号処理の課題解説ディジタル信号処理の課題解説
ディジタル信号処理の課題解説
noname409
 
Bishop prml 11.5-11.6_wk77_100606-1152(発表に使った資料)
Bishop prml 11.5-11.6_wk77_100606-1152(発表に使った資料)Bishop prml 11.5-11.6_wk77_100606-1152(発表に使った資料)
Bishop prml 11.5-11.6_wk77_100606-1152(発表に使った資料)
Wataru Kishimoto
 

Similar to Coursera Machine Learning Week2まとめ  (20)

Model seminar shibata_100710
Model seminar shibata_100710Model seminar shibata_100710
Model seminar shibata_100710
 
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータStanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
StanとRでベイズ統計モデリング 11章 離散値をとるパラメータ
 
ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3ディジタル信号処理の課題解説 その3
ディジタル信号処理の課題解説 その3
 
機械学習と深層学習の数理
機械学習と深層学習の数理機械学習と深層学習の数理
機械学習と深層学習の数理
 
ディジタル信号処理の課題解説
ディジタル信号処理の課題解説ディジタル信号処理の課題解説
ディジタル信号処理の課題解説
 
Pythonintro
PythonintroPythonintro
Pythonintro
 
Chap. 6(nakagawa)
Chap. 6(nakagawa)Chap. 6(nakagawa)
Chap. 6(nakagawa)
 
ロボット家電と制御 Domestic robotics: mechanisms and control
ロボット家電と制御 Domestic robotics: mechanisms and controlロボット家電と制御 Domestic robotics: mechanisms and control
ロボット家電と制御 Domestic robotics: mechanisms and control
 
[第2版]Python機械学習プログラミング 第14章
[第2版]Python機械学習プログラミング 第14章[第2版]Python機械学習プログラミング 第14章
[第2版]Python機械学習プログラミング 第14章
 
何が選ばれたかという情報から評価関数推定2
何が選ばれたかという情報から評価関数推定2何が選ばれたかという情報から評価関数推定2
何が選ばれたかという情報から評価関数推定2
 
RTミドルウェアによるロボットプログラミング技術 4.ロボットの運動学と制御の基礎(解答)
RTミドルウェアによるロボットプログラミング技術 4.ロボットの運動学と制御の基礎(解答)RTミドルウェアによるロボットプログラミング技術 4.ロボットの運動学と制御の基礎(解答)
RTミドルウェアによるロボットプログラミング技術 4.ロボットの運動学と制御の基礎(解答)
 
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
東京都市大学 データ解析入門 6 回帰分析とモデル選択 1
 
Draftall
DraftallDraftall
Draftall
 
[DSO] Machine Learning Seminar Vol.2 Chapter 3
[DSO] Machine Learning Seminar Vol.2 Chapter 3[DSO] Machine Learning Seminar Vol.2 Chapter 3
[DSO] Machine Learning Seminar Vol.2 Chapter 3
 
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスター【Unity道場スペシャル 2017博多】クォータニオン完全マスター
【Unity道場スペシャル 2017博多】クォータニオン完全マスター
 
[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展[DL輪読会]Control as Inferenceと発展
[DL輪読会]Control as Inferenceと発展
 
Bishop prml 11.5-11.6_wk77_100606-1152(発表に使った資料)
Bishop prml 11.5-11.6_wk77_100606-1152(発表に使った資料)Bishop prml 11.5-11.6_wk77_100606-1152(発表に使った資料)
Bishop prml 11.5-11.6_wk77_100606-1152(発表に使った資料)
 
Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用Chainerの使い方と自然言語処理への応用
Chainerの使い方と自然言語処理への応用
 
関数プログラミング入門
関数プログラミング入門関数プログラミング入門
関数プログラミング入門
 
『劣モジュラ最適化と機械学習』 4章
『劣モジュラ最適化と機械学習』 4章『劣モジュラ最適化と機械学習』 4章
『劣モジュラ最適化と機械学習』 4章
 

Coursera Machine Learning Week2まとめ