SlideShare a Scribd company logo
1 of 50
機械学習
1.線形回帰モデル
2.非線形回帰モデル
3.ロジスティック回帰モデル
4.主成分分析
5.k近傍法
6.k-means
7.サポートベクターマシン
ラビットチャレンジの課題として
機械学習の基本アルゴリズムについて、直感的な把握と多少の理論を加えることで理解を深めることを目的とする。
数学的な部分は、継続的に理解を深める必要がある。
0.機械学習所感
• 各種アルゴリズムを数学的に理解できていなくても、それなりの結果を得るだけであれば誰でもできる。
- scikit-learnなどを使えば、自分では理解できないレベルで最適化されたアルゴリズムを手軽に使える。
- ハイパーパラメータの最適化アルゴリズムも様々な手法が存在し、scikit-learnで使える。
- アルゴリズム選択も、問題の種類によって一般に最適とされる手法が既に提示されている。
• 数学大事
- アルゴリズムを理解するためには数学的な知識が必要不可欠。(線形代数・多変量解析・確率統計など)
- 数学のレベルが上がれば、アルゴリズムや論文が理解できるようになり、新たな知識を得やすくなる。
• アルゴリズムを数学的に理解したうえで、scikit-learnなどを利用することで、得られた結果の意味を
正しく把握できるようになる。
• プログラミングは頑張れば何とかなる気がする。(数学に比べれば)
取り扱う内容
学習種類 タスク 機械学習モデル パラメータの推定法 モデルの選択・評価
教師あり学習 予測 線形回帰・非線形回帰 最小二乗法・尤度最大化 ホールドアウト法
公差検証法
分類 ロジスティック回帰 尤度最大化
最近傍・k近傍アルゴリズム
サポートベクターマシン マージン最大化
教師無し学習 クラスタリング K-means 無し
次元削減 主成分分析 分散最大化
※E資格シラバス内容のみ
1.線形回帰モデル
機械学習
←はE資格対策
回帰
線形回帰モデル
説明変数xの1つ目のデータを1とすることで簡潔に
表すことが出来る。(重回帰モデルが内積一発で
書ける)
m=1の時、単回帰
m>1の時、重回帰
1.線形回帰モデル
最小二乗法 教師あり学習は、確率ベクトルxとそれに関連付け
られた数値もしくはベクトルyの事例を観察し、
p(y|x)を推定することで、xからyを予測できるよう
に学習するものであるとも言える。(最尤法)
1.線形回帰モデル
データの分割
初めに訓練データとテストデータに分け、訓練データ
の中で訓練データと検証データに分けることが多い。
ハイパーパラメータとは、今後出てくる正則化パラ
メータやニューラルネットにおける層数のような、パラ
メータの最適化を行う前に手動で決める必要のある
変数のこと。(様々な探索手法がある)
1.線形回帰モデル
ハンズオン
設定:
・ボストン住宅データセットを線形回帰モデルで分析
・適切な査定結果が必要
課題:
・部屋数が4で犯罪率が0.3の物件はいくらになるか?
データセット名 ボストンの住宅データセット
レコード数 506
カラム数 14
備考 線形回帰モデルのテストセットとしてよく見る
項番 変数 記号名
1 犯罪発生率 CRIM
2 25000平方フィート異常の住宅区間の割合 ZN
3 非小売業の土地面積の割合 INDUS
4 チャールズ川沿いかどうかフラグ CHAS
5 窒素感化物の濃度 NOX
6 一戸あたりの平均部屋数 RM
7 1940年よりも前に建てられた家屋の割合 AGE
8 ボストンの主な5つの雇用圏までの重み付き距離 DIS
9 幹線道路へのアクセス指数 RAD
10 10000ドルあたりの所得税率 TAX
11 教師当たりの生徒の数 PTRATIO
12 1000(Bk-0.63)^2として計算される量 B
13 低所得者の割合 LSTAT
14 住宅価格 PRICE
1.必要モジュールとデータのインポート
2.データフレームの作成
ボストンの住宅データはよく使われるデータセッ
トであり、scikit-learnに同梱されている。
カラム名をfeature_name, データをdata
として、データフレーム型dfに変換。
Bostonデータの中身:
['DESCR', 'data', 'feature_names', 'filename', 'target']
DESCR: データセットのdescription
data: 説明変数
feature_names: 項目名
filename: データ保存場所までのフルパス
target: 目的変数
dfにカラム名[‘PRICE’]として、targetデー
タ(目的変数:住宅価格)を追加。
ちゃんとデータフレームにできていてるか確認
するために最初の5行を表示。
1.線形回帰モデル
4.重回帰分析(2変数)
3.線形単回帰分析
RM(部屋数)の最初の5行のデータを確認。
df.locでRMの全行を抽出しdataとする。
dataの最初の5つのデータを確認。
PRICEの全行を抽出し、targetとする。
targetの最初の5つのデータを確認。
線形回帰のModelオブジェクト作成
Modelにデータ投入しモデル作成
部屋数が1つの時の住宅価格を予測
⇒ -25.5k$…となり予測できていない
こういうもの。LinearRegression召喚
それっぽく見えるが、部
屋数3以下の場合は
住宅価格がマイナスに
なっており、実用的では
ない
CRIME(犯罪率)とRM(部屋数)の最初の5行のデータを確認。
CRIME(犯罪率)とRM(部屋数)をdata2
PRICE(住宅価格)をtarget2
Model2として線形回帰モデルオブジェクト作成
Model2に(data2, target2)を投入しモデル作成
犯罪率0.2/部屋数7として予測
⇒29.44k$ 正しく予測できている?
(グラフがうまく書けない。。あんまり犯罪率関係ない?)
課題:部屋数が4で犯罪率が0.3の物件はいくらになるか?
予測結果:約4.24k$
1.線形回帰モデル
6.決定係数
データの前処理ツール(train_test_split)
5.回帰係数と切片の値を確認
単回帰:住宅価格 = 9.1 × 部屋数 -34.7
重回帰:住宅価格 = -0.265×犯罪率 + 8.39×部屋数
⇒犯罪率が高ければ住宅価格は低くなるが影響度は小さく、部屋
数の方が大きく寄与する。(単位は違うので確認すること)
訓練用と検証用にデータを分割
訓練:検証=7:3
作成した単回帰モデルに分割したデータをそれぞれ入力
Matplotlibを導入し、
訓練、検証データを用いて予測した結果から真値を引
いた値(残差)をプロット。
このあたりのグラフ描画は慣れるしかなさそう。
単回帰の平均二乗誤差、決定係数を計算。
やはり単回帰ではあまり精度は出ない。
まとめ
・モデルにデータを突っ込めば、何らかのモデルが作られ、値を入れたら、何かしら値が返ってくる。
・きちんと、モデルが出たデータが妥当そうかどうかを確認し、そうでないならば、なぜそうなっていない
のかを探ることが必要。
・得られた結果をうのみにしない。
2.非線形回帰モデル
非線形回帰モデル よく使われる規程関数
・多項式関数:
・ガウス型基底関数:
・2次元の基底関数に基づく非線形回帰:
説明変数xの1つ目のデータを1とすることで簡潔に表す
ことが出来る。(重回帰モデルが内積一発で書ける)
2.非線形回帰モデル
過学習と未学習 学習を進めていくと、訓練誤差は小さくなるのに、テスト誤
差は大きくなるポイントが出てくるので、そこで止めるのがベ
スト。(勝手にうまいことやってくれるものもある)
過学習への対応
正則化項(wのノルム)をペナルティとして加えたE(w)の最
小を求めることで、wが大きくなることを抑止し、モデルが複
雑になる(wの値が大きくなる)ことを防ぐ。
要は、複雑になりすぎない(過学習しない)ように勝手に
wを調整してくれる。
リッジ ラッソ
リッジ回帰:wは0にならないので、結局複雑さを持ち解釈
が難しいことも。ラッソ:wが0になる性質を持ち、結果、特
徴選択が可能。やりすぎるとどんどん消してく。エラスティック
ネット:リッジとラッソの折衷案的なもの。
2.非線形回帰モデル
いまさらだけど、
訓練データを使って、目的変数を予測するモデルをつ
くる。そのモデルの性能評価のために、まだ使用してい
ないデータ(テストデータ)で汎化性能を見る。
汎化性能
モデル性能評価/ハイパーパラメータの探索
ホールドアウト法:
データたくさんないと良い性能を与えない
k-分割公差検証法:
2.非線形回帰モデル
ハンズオン
numpy, matplotlibをインポート
今回はseabornもインポート
(matplotlibより簡単きれいにグラ
フを描画できるらしい)
Seabornの設定
背景・線種・スケール
変数・関数を定義
n=100
true_func(x)
z=1-48x+218x*2-315x*3+145x*4
linear_func(x)
z= x
0-1の実数をランダムに100個作成し、小さい順に並
び替えdataとする。dataをtrue_func関数に入力し、
targetとする。
0-0.5の実数をランダムに100個作成し、noiseとし、
targetに加える。
横軸data, 縦軸targetとしてグラフを描画。
線形回帰でモデル化できるか試してみる。
reshape(-1,1)⇒ 1列のみのベクトルに変換
線形回帰モデルの枠を作成し、data,target
データからモデルを作成し、描画
⇒ 良いモデルになるわけがない
スコア:0.316(決定係数)
カーネルリッジ(L2ノルム)回帰を使用。
Alpha:0.002 正則化パラメータ
kernel:rbf (ガウスカーネル)
単回帰と同様にグラフを描画。
スコア:0.856(決定係数)
2.非線形回帰モデル
初めにガウスカーネルにdataを入れて、それ
をリッジ回帰でモデル化している。
Gannma:ガウスカーネルの係数
Alpha:正則化係数
グラフを描画。
スコア:0.841(決定係数)
同じアルゴリズム?なのに直前の結果より少
し悪いのは、ハイパーパラメータの影響か?
多項式回帰
1次~10次まで計算して描画。
4次以降は大きな変化は見られない。
ガウスカーネルを用いて、ラッソ回帰を
実施、まったくモデル化できていない。
→ 正則化係数α=10000でペナル
ティが大きくなりすぎているため。
正則化係数α=0.002とすることで、
大分適切なモデルとなった。
2.非線形回帰モデル
サポートベクトル回帰?
ガンマ 0.1では良いモデルとは言えない
ガンマを5に変更すると大分よく合うモデルとなる
ガンマ 0.1
イプシロン 0.1
ガンマ 5
イプシロン 0.1
まとめ
・ハイパーパラメータの決め方でモデルの当てはまり具合が大きく左右される
・今回のハンズオンではどの手法においてもハイパーパラメータ次第で同程度最
適化されたモデルを作成できる
・ハイパーパラメータの決め方は慣れ?が必要と感じた。
3.ロジスティック回帰
ロジスティック回帰
y=σ(x)は無限区間(-∞,∞)を区間(0,1)に
写像する、S字型をした圧縮関数。
<シグモイド関数の導出> シグモイド関数の導入の仕方は書籍、Web等で
色々な書かれ方がされているが、個人的に一番わ
かりやすかったのが左の導出方法。つまり、シグモイ
ド関数を用いるということは、事後確率を求めている
のと同じ。A=wTxとして確率を求めている。
シグモイド関数の逆関数をロジット関数という。
ロジット関数 a = wTxをモデルとして求め、シグモイ
ド関数に入力することで、確率が得られる。
シグモイド関数の微分。
3.ロジスティック回帰
最尤推定とは
具体例)
表が出る確率が ”p” のコインの “p” を知りたい。
でも本当のpは神のみぞ知る。
でも ”p” を何とか推定できないか?
とりあえず、得られた結果から予測を試みる。例え
ば、コインを5回投げて、表が4回、裏が1回出た
場合、この確率は、pが分かっていれば、p^4・
(1-p)のように表せる。
このとき、p*=0.2 とした場合、確率は
0.00128, p*=0.8とした場合、確率は
0.08192となり、p*=0.8 の方が起こりやすいこ
とが分かる。
つまり、最尤推定とは「現実の標本は確率最大
のものが実現した」と仮定し最ももっともらしい確
率を推定すること。
p^4・(1-p)が最大になる p*を探して、それが
神の値pとして考えようというもの。今回のケースで
はp=0.8となる。
3.ロジスティック回帰
結合関数をaとしたシグモイド関数に突っ込んだものを
確率pとして最尤推定を行う。
尤度関数はパラメータwのみの関数となる。
尤度関数を最大とするパラメータを探す
・対数として扱うことで積が和になる
・指数関数の積が演算しやすい
⇒ 微分の計算が簡単になる
機械学習では、尤度関数にマイナスを掛けたものを最
小化するとして処理する。(最小二乗法の最小化と
合わせる)
最尤推定によるパラメータの推定①
カテゴリカル分布の場合、
のようになる。分類問題ではこの公差エントロピー型誤
差をよく見る。
3.ロジスティック回帰
最尤推定によるパラメータの推定②
最急(勾配)降下法
学習データ全てを使って、最急降下法でパラメータ
を更新する方法を勾配降下法(バッチ法)という。
3.ロジスティック回帰
確率的勾配降下法(SDG)
確率的勾配降下法のことをオンライン学習ともいう。
(オンラインの情報をリアルタイムで学習させることが
可能)
ミニバッチ学習
勾配降下法と確率的勾配降下法の中間。ある程
度まとまったデータで学習をすることで、それぞれの良
さ悪さを中和している。
3.ロジスティック回帰
正解率:PositiveとNegativeの割合に偏り
がある場合は、性能の良さを正しく評価できな
い。
適合率:この値が大きいほど、予測の信頼度
が高い。再現率とはトレードオフになる。
再現率:この値が大きいほど、Positiveを高
い確率で発見できていることになる。ただし、全
てをPositiveと予測すれば1となるため、単独
では用いず、適合率と併用して評価する。
F値:この値が大きいほど、適合率と再現率
の両方が良いことを示す。
混同行列
真の結果
Positive Negative
予測結果
Positive TP FP
Negative FN TN
分類の性能指標 回帰の性能指標
この他にも色々な性能指標がある。
3.ロジスティック回帰
ハンズオン
設定:
・タイタニックの乗客データを利用しロジスティック回帰モデルを作成
・特徴量抽出をしてみる
課題:
・年齢が30歳で男の乗客は生き残れるか?
データセット名 タイタニックデータ
レコード数 891/471
カラム数 11
備考 分類アルゴリズムでよく利用される
項番 変数 記号名 値
1 PassengerID 乗客ID 1,2,…
2 Survived 生存・死者情報 1->生存、0->死者
3 Pclass 乗客の社会階級 1(high)/2(mid)/3(low)
4 Name 乗客名 -
5 Sex 性別 Male/female
6 Age 年齢 22.0など
7 SibSp 兄弟及び配偶者の数 0/1/2 など
8 Parch 親もしくは子供の数 0/1/2 など
9 Ticket チケットNo A/52117 など
10 Fare 運賃 72500など
11 Cabin 船室 C85 など
12 Embarked 乗船した港(3つ) C,Q,S(港名の頭文字)
1.前処理(不要なデータの削除・欠損値の補完)
titanic_df からカラム名を指定し、予測に不要なデータ
を削除。Inplace=True で元のデータを変更する。
‘PassengerID’,’Name’,’Ticket’,’Cabin’を削除。
データが削除しているか確認する。
Isnull().any(1)で欠損値を含む行を抽出
‘Age’カラムの欠損値を持つ列に ‘Age’の中央値
を’AgeFill’カラムに保存。保存したデータを表示し、反映
されているか確認。
3.ロジスティック回帰
2.実装(チケット価格から生死を判別) 3.実装(2変数から生死を判別)
チケット価格 ‘Fare’ を data1
生死フラグ ‘Survived’ をlabel1とする。
ロジスティック回帰モデルをmodelとして、
data1とsurvivedでモデル化。
.predictで予測。
チケット価格[61]の人は死亡[0]予測
.predict_probaで確率表示。
チケット価格[62]の人は
死亡[0]確率 49.9978%,
生存[1]確率 50.0218%
.intercept_(切片):-0.941
.coef_(傾き):0.01519
切片と傾きを結合し、シグモイド関
数に投入。-1~500の間で
5000個のデータを描画する
横軸が運賃、縦軸が確率
オレンジの点が死亡確率
緑の点が生存確率
データの変換(文字データ⇒数値データ、相関ありそうなものは結合)
‘Sex’のfemalを0, maleを1として’Gender’カラムに追加。
‘Pclass_gender’カラムとして’pclass’+’gender’としたものを追加。
変換した、’Pclass’,’Sex’,’Gender’をドロップ、’Age’も欠損値を埋め
たのでドロップ
データの可視化
横軸年齢、縦軸(階級+性別)
縦軸の値が大きく、年齢が高い人の死亡確率
が高く、縦軸が小さく、年齢が若い人は生存確
率が高い傾向になっていることが分かる。
3.ロジスティック回帰
年齢とpclass_genderに相関がありそう
だったので、この2変数をdata2、label2と
して生存/死亡(survived)として、ロジス
ティック回帰モデルを作成する。
得られたモデルに、10歳/高位階層
(0)の女性(1)を予測させると、生存
96.2%となり、高確率で生存するとい
う予測が得られた。
得られたモデルを先ほどの図に書き込むと、上の図
のようになる。高位の階層かつ若い人は生き残る確
率が高いことが分かる。
変数を中央値埋めした ”年齢” と、 “性別” の2
変数でロジスティック回帰モデルを作成。
30歳男性(0)の生存確率は 26.7%と低い値と
なっている。つまり、死亡予測。
課題:
・年齢が30歳で男の乗客は生き残れるか?
4.モデル評価(混同行列とクロスバリデーション)
データを訓練用と検証用に分割する
Train_test_split(data, label,test_size=0.2)
今回は検証用のデータは全体の2割
1:1変数(チケット価格)、
2:2変数 (年齢、階層+性別)使ってロジスティック回帰
3.ロジスティック回帰
決定係数の結果
1変数:訓練_0.66/検証_0.68
2変数:訓練_0.77/検証_0.78
→2変数使用した方が精度の良いモデルができる
Metrics.classification_report()で、各性能指
標一覧を確認できる。
Confusion_matrix()で混同行列を確認できる
1変数の場合は予測が生存でも死亡している人が
多い。
1変数、2変数それぞれの混同行列の可視化
3.ロジスティック回帰
各カラム内の分類ごとに生存率がどの程度か可視
化したグラフ。
Class(1/2/3), sex(男/女), who(男/女/子),
alone(未婚/結婚)。
Firstclass, 女性、未婚の人は生存率が高いこと
が分かる。
性別、年齢で生存率を可視化したグラフ。
高齢の女性ほど生存率が高い。一方男性は高齢
になるほど生存率が低くなる。
4.主成分分析
ラグランジュの未定定数定理(wikipediaより)
主成分分析①
考え方、計算は単純。元のデータを変換して、分散
が最大となるようにパラメータを調整している。
(x,y) が制約条件 g(x,y)=0 の条件下で、
f(x,y) を最大化/最小化することを考える。変数λを
導入し、関数L(x,y,λ)を次のように呈する。
L(x,y,λ)=f(x,y) –λg(x,y)
λをラグランジュ定数、L(x,y,λ)をラグランジュ関数とい
う。
ある (x*,y*) が制約条件 g(x,y)=0 を満たし、
f(x,y)を最大化/最小化するならば、あるλ*が存在し、
(x*,y*,λ*)において、
∂L/∂x=∂L/∂y=∂L/∂λ=0
が成立する。
サポートベクトルマシンなどでもラグランジュの未定定数
法は使われており、理解しておいた方が良いと思う。。
4.主成分分析
再掲)
主成分分析②
寄与率
s12=s21 なので、共分散行列は対称行列
となる。
分散をとる軸を変えただけなので、元の分散と
変換後の分散は一致する。
4.主成分分析
ハンズオン
設定:
・乳がん検査データを利用しロジスティック回帰モデルを作成
・主成分を利用し2次元空間上に次元圧縮
課題:
・32次元のデータを2次元上に次元圧縮した際に、うまく判別できるかを確認。
データセット名 乳がん検査データ
レコード数 569
カラム数 33
各種ライブラリをインポートする。
Googleドライブに保存したデータへのパスから乳が
ん検査データを読込。
データの形式を確認。569行、33列
データチェック
33列目に欠損データ存在。
Diagnosis:良性B/悪性M
‘Unamed 32’ (33列目) のデータを削除し、
cancer_dfデータとして置き換え。
4.主成分分析
Diagnosis を目的変数
(良性:0、悪性:1)としてyとする。
Radius_mean(腫瘍の半径)
以降のデータを説明変数とする
データを分割し、説明変数を標準化
fit:変換式を計算
transform:変換式を使ってデータを変換
fit_transform:↑2つを実行
ロジスティック回帰でモデル作成
訓練:0.988
テスト:0.972
混同行列
→非常に良い予測モデルとなっている。
Explain_variance_ratioでPCAの各主成
分の寄与率を描画する。
第1主成分で40数パーセントの寄与率であり、
第7主成分までで約90%程度の寄与率。
第1,2成分でも60%を超える寄与率となって
いることが分かる。
PCAにて2次元まで次元圧縮し、良性〇/悪
性△をグラフを描画。
第1主成分が43%, 第2主成分が19%の寄
与率となっている。
2次元でもおおよそ分類できているといえる。
5.k近傍法(kNN)
リジェクトでなくてランダムでも良い
k近傍法
5.k近傍法(kNN)
最近傍法
5.k近傍法(kNN)
ハンズオン
いつもの。各種ライブラリインポート
平均0, 分散1の正規分布に従う、2
列のデータを生成し、それに -1したも
のをx0, +1したものをx1とする。
np.concatenateでx1とx2を結合し
x_trainとする。
y_trainは最初の25個が0, 後の25
個が1のデータ。
最初の25個(x0)をc=0, 後の25個
(x1)をc=1として描画。
x1, x2 の距離の二乗を計算
X_tesのデータを順に i,xとして読込
xとx_trainの距離の二乗を計算
距離を昇順に並び替え
最頻値と頻度を返す
最頻値を予測値として返す
グラフ描画設定
K=3
メッシュを切って、メッシュごとに3-nnの
計算をしてグラフを描画。
Numpyでの実装
Scikit-Learnでの実装
とても簡単
K=10にすると、飛び地がなくなる
6.k-平均法(k-means)
k-平均法
アルゴリズム
収束先は初期値に依存するため、何回か初
期値を変えて実行した方が良い。
(図のように明確に分かれている場合は適切
なクラスタ数を設定すれば収束する。)
中心(μ)を固定し、各データからの距離を計
算し、所属クラスタ(q)を求める。
所属クラスタ(q)を固定し、各クラスタの中心
(μ)を求める。
→繰り返し
6.k-平均法(k-means)
ハンズオン
データセット名 ワインデータ
レコード数 178
カラム数 13
いつもの。各種ライブラリインポート
ワインデータをインポート
説明変数をXとする。
178行13列のデータ。
データ詳細は.DESCRで確認できる
目的変数をyとする。
K-meansモデルを作成(クラスタ数は3とする)し
予測。
labelデータをdfとする。
Wine.targetをthetaに入れて、
species_label関数に入れる
.crosstabでクラス集計
クラスとラベルが合ってないように見えるのでちょっと
修正
それなりには分類できているが、そこまで精度は良
くない。
6.k-平均法(k-means)
平均(-5,5),(5,-5),(0,5)を持ち、
分散(±1, ±1,)の正規分布データを作成。
グラフを描画する。
Distanceで距離の二乗を計算
クラスター:3, 繰り返し数:100
ランダムに中心をcentersとして設定。
以下繰り返し
prev_conters に
初期値として各クラスタからの距離を0としてD
訓練データに対して繰り返し
X_trainと各クラスの中心との距離を計算しD
Dが最小となるときのクラスをculuster_indexとする
各クラスターに対して
各クラスタに属するデータのインデックスを取得
各クラスタに属するデータの平均を中心として更新する
更新前後の値が十分近ければ、100回未満でも計算終了
Numpyでの実装
6.k-平均法(k-means)
Sklearn_cluster のKmeansを使用。
非常に簡単に使える。
.cluster_centeres_で中心点の情報が分かる
Scikit-learnでの実装
先ほど分類した結果を描画。
きっちり分類できていることが分かる
7.サポートベクターマシン(SVM)
サポートベクターマシン
決定関数と分類境界
7.サポートベクターマシン(SVM)
線形サポートベクトル分類(ハードマージン)
点と直線の公式
線形分離可能:2クラスに分類可能な決定
関数が存在する。→yとf(x)を掛けた値の符
号は必ず+になる。
7.サポートベクターマシン(SVM)
7.サポートベクターマシン(SVM)
線形サポートベクトル分類(ソフトマージン)
7.サポートベクターマシン(SVM)
双対問題の導出
7.サポートベクターマシン(SVM)
7.サポートベクターマシン(SVM)
点と直線の公式
7.サポートベクターマシン(SVM)
カーネルを用いた非線形分離への対応
7.サポートベクターマシン(SVM)
←以下式より式変形できる
直感的なイメージ、計算だけなら導出可能だ
が、それぞれがもつ統計的な意味合いの理解
ができない。。
←カーネルの選び方など。。??
(ガウスカーネルが使われているものをよく見る
気がするがなぜ?)
7.サポートベクターマシン(SVM)
ハンズオン
いつもの。各種ライブラリインポート
訓練データが線形分離可能な場合 平均(-2,-2) (2,2)で分散1の正規
分布に従うランダムデータを生成し、
X_train, ys_trainとして初期値0と
すして、グラフ描画。
Ys_trainが0なら-1, 1なら+1とする
N_sample:=データ数
k :カーネル関数(線形)
eta1/eta2:学習係数
H:titjk
以下繰り返し
勾配(dL/da)=1-H・a
a ← a + η1(1-Ha)
a ← a – η2(a・t・t)
aは非負の実数、負の場合は0とする
メッシュを切って、メッシュごとに先ほど求めた、a, t, k を
用いてデータを予測。(y_pred)
最初に1×bで、y_projectの初期値をbとしている。
訓練データ可視化
サポートボクトルを強調表示(今回は3点)
マージン(破線)と決定境界(実線)を可視化
最後のquiverはベクトルを表示しているが、意味が分からない。。
a 非負の正実数かどうかをboolean型で index に保存。
Index Trueの時の X_train,t,a をsupport vectorとして保存。
term2としてwΦ(x)=∑a_i t_i kを計算。
b = (t –term2)の平均
bの求め方
7.サポートベクターマシン(SVM)
訓練データが線形分離不可能な場合
ガウシアンカーネル
学習データの作成。
カーネルを使っているだけでそ
の他のコードは先ほどの線形
SVMの時と同じ。
bを求める。先ほどと同じ
メッシュを切って、メッシュの座
標の値を予測することで等高
線を描画。
学習データ、サポートベクトル
の強調表示。
7.サポートベクターマシン(SVM)
ソフトマージンSVM:訓練データが重なりあっている場合
線形カーネルを使用。
先ほどと同様にaを更新するが、今回はCがあるので追
加で制約条件 0<α<C
となるように a=np.clip(a,0,C)が追加されている
平均(-1,-1) (1,1)で分散1の正規
分布に従うランダムデータを生成し、
X_train, ys_trainとして初期値0と
すして、グラフ描画。
bの求め方は先ほどと同じ
先ほどと同様にメッシュを
切って
参考文献
• 統計学入門:東京大学出版会
• はじめてのパターン認識(平井有三):森北出版株式会社
• 他wikipedia、youtubeなど

More Related Content

Recently uploaded

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Gamesatsushi061452
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptxsn679259
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video UnderstandingToru Tamaki
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...Toru Tamaki
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsWSO2
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 

Recently uploaded (10)

LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 

Featured

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 

Featured (20)

Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 

機械学習アルゴリズム基礎