SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our User Agreement and Privacy Policy.
SlideShare uses cookies to improve functionality and performance, and to provide you with relevant advertising. If you continue browsing the site, you agree to the use of cookies on this website. See our Privacy Policy and User Agreement for details.
Successfully reported this slideshow.
Activate your 14 day free trial to unlock unlimited reading.
7.
scikit-learnの線形モデル(40個くらいある)scikit-learnの線形モデル(40個くらいある)
linear_model.LogisticRegression([penalty, …]):Logistic Regression (aka logit,
MaxEnt) classi er.
linear_model.LogisticRegressionCV([Cs, …]):Logistic Regression CV (aka logit,
MaxEnt) classi er.
linear_model.PassiveAggressiveClassi er([…]):Passive Aggressive Classi er
linear_model.Perceptron([penalty, alpha, …]):Read more in the User Guide.
linear_model.RidgeClassi er([alpha, …]):Classi er using Ridge regression.
linear_model.RidgeClassi erCV([alphas, …]):Ridge classi er with built-in cross-
validation.
linear_model.SGDClassi er([loss, penalty, …]):Linear classi ers (SVM, logistic
regression, a.o.) with SGD training.
linear_model.LinearRegression([…]):Ordinary least squares Linear Regression.
linear_model.Ridge([alpha, t_intercept, …]):Linear least squares with l2
regularization.
linear_model.RidgeCV([alphas, …]):Ridge regression with built-in cross-
validation.
linear_model.SGDRegressor([loss, penalty, …]):Linear model tted by
minimizing a regularized empirical loss with SGD
8.
linear_model.ElasticNet([alpha, l1_ratio, …]):Linear regression with combined L1
and L2 priors as regularizer.
linear_model.ElasticNetCV([l1_ratio, eps, …]):Elastic Net model with iterative
tting along a regularization path.
linear_model.Lars([ t_intercept, verbose, …]):Least Angle Regression model
a.k.a.
linear_model.LarsCV([ t_intercept, …]):Cross-validated Least Angle Regression
model.
linear_model.Lasso([alpha, t_intercept, …]):Linear Model trained with L1 prior
as regularizer (aka the Lasso)
linear_model.LassoCV([eps, n_alphas, …]):Lasso linear model with iterative
tting along a regularization path.
linear_model.LassoLars([alpha, …]):Lasso model t with Least Angle Regression
a.k.a.
linear_model.LassoLarsCV([ t_intercept, …]):Cross-validated Lasso, using the
LARS algorithm.
linear_model.LassoLarsIC([criterion, …]):Lasso model t with Lars using BIC or
AIC for model selection
linear_model.OrthogonalMatchingPursuit([…]):Orthogonal Matching Pursuit
model (OMP)
linear_model.OrthogonalMatchingPursuitCV([…]):Cross-validated Orthogonal
Matching Pursuit model (OMP).
9.
linear_model.ARDRegression([n_iter, tol, …]):Bayesian ARD regression.
linear_model.BayesianRidge([n_iter, tol, …]):Bayesian ridge regression.
linear_model.MultiTaskElasticNet([alpha, …]):Multi-task ElasticNet model
trained with L1/L2 mixed-norm as regularizer
linear_model.MultiTaskElasticNetCV([…]):Multi-task L1/L2 ElasticNet with
built-in cross-validation.
linear_model.MultiTaskLasso([alpha, …]):Multi-task Lasso model trained with
L1/L2 mixed-norm as regularizer.
linear_model.MultiTaskLassoCV([eps, …]):Multi-task Lasso model trained with
L1/L2 mixed-norm as regularizer.
10.
linear_model.HuberRegressor([epsilon, …]):Linear regression model that is
robust to outliers.
linear_model.RANSACRegressor([…]):RANSAC (RANdom SAmple Consensus)
algorithm.
linear_model.TheilSenRegressor([…]):Theil-Sen Estimator: robust multivariate
regression model.
linear_model.PassiveAggressiveRegressor([C, …]):Passive Aggressive Regressor
linear_model.enet_path(X, y[, l1_ratio, …]):Compute elastic net path with
coordinate descent.
linear_model.lars_path(X, y[, Xy, Gram, …]):Compute Least Angle Regression or
Lasso path using LARS algorithm [1]
linear_model.lars_path_gram(Xy, Gram, n_samples):lars_path in the suf cient
stats mode [1]
linear_model.lasso_path(X, y[, eps, …]):Compute Lasso path with coordinate
descent
linear_model.orthogonal_mp(X, y[, …]):Orthogonal Matching Pursuit (OMP)
linear_model.orthogonal_mp_gram(Gram, Xy[, …]):Gram Orthogonal Matching
Pursuit (OMP)
linear_model.ridge_regression(X, y, alpha[, …]):Solve the ridge equation by the
method of normal equations.
12.
ロジット関数
はオッズ⽐
の⾃然対数となる。ロジット関数は特徴量の値と対数オッズとの間の線形関係を表す
ことができる。
よって、
変形すると、
となる。この関数は値域が0から1の間に収まるため、割合などの予測に適している。
また、この関数は以下のようにも表現できる。
なお、ここでのw_0はバイアスユニットを表し、x_0は1に設定される。
logit(p) = log
p
(1 − p)
p
(1 − p)
logit(p(y = 1|x)) = + + ⋯ + = = xw0 x0 w1 x1 w1 xm
∑
i=0
m
wi xi w
T
log = x
p
(1 − p)
w
T
p = =
e
xw
T
1 + e
xw
T
1
1 + e
− xw
T
ϕ(z) =
1
1 + e
−z
z = x = + + ⋯ +w
T
w0 x0 w1 x1 wm xm
48.
最⼤マージンの直感的理解最⼤マージンの直感的理解
決定境界のマージンを⼤きくする理論的根拠
汎化誤差が⼩さくなる傾向がある。
マージンが⼩さいとモデルは過学習に陥りがち。
超平⾯は以下の⽅程式で表すことができる。(1つ⽬は正の超平⾯、2つ⽬は負の超平
⾯)
これらを引き算すると、
となる。ここで正と負の超平⾯の距離は⾼校数学で学ぶ「点と平⾯の距離」から、
この距離をサポートベクトルマシンは最⼤化する。
+ = 1w0 w
T
xpos
+ = −1w0 w
T
xneg
( − ) = 2w
T
xpos xneg
=
( − )w
T
xpos xneg
‖w‖
2
‖w‖
49.
線形分離可能なケース線形分離可能なケース
サポートベクトルマシンは
の最⼤化を以下の制約のもとで⾏う。
これらの制約式は以下のように表すこともできる。
ただ、このような関数の最⼤化よりも逆数をとって2乗した
を最⼩化するほうが簡単であり、KKT(Karush-Kuhn-Tucker)条件を使って解くこと
ができる。このように置き換えた問題を双対問題と呼ぶ。
2
‖w‖
{
+ ≧ 1 = 1w0 w
T
x
(i)
y
(i)
+ ≤ −1 = −1w0 w
T
x
(i)
y
(i)
i = 1, … , N
( + ) ≧ 1y
(i)
w0 w
T
x
(i)
∀i
‖w
1
2
‖
2
50.
スラック変数を使った線形分離不可能なケースへの対応スラック変数を使った線形分離不可能なケースへの対応
先程のアプローチは線形分離が可能なデータを前提としていた。(パーセプ
トロンに近いと感じられる)
スラック変数を導⼊することで適切なコストペナルティを課した上で、誤分
類が存在する状態のまま最適化問題を収束させることができる。
スラック変数を使った場合、最⼩化の⽬的関数は以下のようになる。
変数Cを使うことで誤分類のペナルティを制御することができる。Cの値が⼤きい場合
は誤分類のペナルティが⼤きく、⼩さい場合は寛⼤である。
{
+ ≧ 1 − = 1w0 w
T
x
(i)
ξ
(i)
y
(i)
+ ≤ −1 + = −1w0 w
T
x
(i)
ξ
(i)
y
(i)
i = 1, … , N
‖w + C
( )
1
2
‖
2
∑
i
ξ
(i)
64.
情報利得の最⼤化情報利得の最⼤化
決定⽊学習アルゴリズムにおいて最適化を⾏う⽬的関数は以下の情報利得を定義す
る。
f:分割を⾏う特徴量
D_p:親のデータセット
D_j:j番⽬の⼦ノードのデータセット
I:不純度を数値化したもの
N_p:親ノードのサンプルの総数
N_j:j番⽬の⼦ノードのサンプルの個数
情報利得は「親ノードの不純度」と「⼦ノードの不純度の合計」との差によって測ら
れる。⼦ノードの不純度が低いほど、⽬的関数の情報利得は⼤きくなる。
IG( , f ) = I( ) − I( )Dp Dp
∑
j=1
m
Nj
Np
Dj
65.
⼆分決定⽊:組み合わせ探索空間をへらすために全ての親ノードを考慮せ
ず、2つの親ノードだけを考慮している。
不純度の指標、分割条件
ジニ不純度
エントロピー
分類誤差
IG( , f ) = I( ) − I( ) − I( )Dp Dp
Nlef t
Np
Dlef t
Nright
Np
Dright
66.
エントロピー:全ての空ではないクラスi(p( i | t ) ≠0 )を対象としている。
あるできごと(事象)が起きた際、それがどれほど起こりにくいか
を表す尺度とされる。
p( i | t )は特定のノードtにおいてクラスiに属するサンプルの割合を表
す。あるノードtにおいて、全てのクラスがiであったり、全てがiで
なかったりする場合はエントロピーは0になる。
p( i = 1 | t ) =1の場合
対数の箇所において0となり、エントロピーは0に
p( i = 0 | t ) =0の場合
0となる箇所があるので、エントロピーは0に
エントロピーが最⼤になるのは各クラスが⼀様に分布している場合
p( i = 1 | t ) =0.5の場合
対数の箇所において-1となり、エントロピーは1に
p( i = 0 | t ) =0.5の場合
対数の箇所において-1となり、エントロピーは1に
(t) = − p(i|t) p(i|t)IH
∑
i=1
c
log2
67.
相互情報量とは、「⼀⽅を知った後にも残る、もう⼀⽅の不確かさの量」を表すの
で、エントロピーが⼤きくなるとき、相互情報量が⼤きくなることがわかる。つま
り、p( i = 1 | t ) =1の場合、それを知った時点でもう⼀⽅の不確かさは全くなくなるこ
とがわかる。
87.
今回扱った、ミンコフスキー距離での距離指標
先程のコードのp=2の場合、ユークリッド距離と同じになる。他⽅、p=1の場合はマン
ハッタン距離となる。他にも様々な距離指標が提供されている。
d ( , ) =x
(i)
x
(j)
| −
∑
k
x
(i)
k
x
(j)
k
|
p‾ ‾‾‾‾‾‾‾‾‾‾‾‾‾
√
p