SlideShare una empresa de Scribd logo
1 de 24
Descargar para leer sin conexión
第2回入門機械学習
読書会
2013.04.27
@kzfm
準備
!   R
!   http://www.r-project.org/
!   Rstudio
!   http://www.rstudio.com/
!   サンプルコード
!   https://github.com/johnmyleswhite/
ML_for_Hackers
!   source( package_installer.R )を実行
>	
  setwd("/Users/kzfm/lang/rcode/ML_̲for_̲Hackers/")	
  
>	
  source("package_̲installer.R")	
  
私とR
@kzfm (http://blog.kzfmix.com/)
医療統計からテキストマイニングまで幅広くこなす
ファイル読み込み
!   前回の反省
!   setwdでwdを変更しないで、getwdで表示さ
れるwdに必要なファイルを移動させて読み込む
という方法でもいいかも
2-9から
library(ggplot2)	
  
library(gridExtra)	
  
setwd("~∼/lang/rcode/ML_̲for_̲Hackers/02-‐‑‒Exploration/")	
  
heights.weights	
  <-‐‑‒	
  read.csv("data//
01_̲heights_̲weights_̲genders.csv",	
  header=TRUE,	
  sep=',')	
  
g	
  <-‐‑‒	
  ggplot(heights.weights,	
  aes(x=Height))	
  
g1	
  <-‐‑‒	
  g	
  +	
  geom_̲histogram(binwidth=1)	
  
g2	
  <-‐‑‒	
  g	
  +	
  geom_̲histogram(binwidth=5)	
  
g3	
  <-‐‑‒	
  g	
  +	
  geom_̲histogram(binwidth=0.001)	
  
g4	
  <-‐‑‒	
  g	
  +	
  geom_̲density()	
  
g5	
  <-‐‑‒	
  g	
  +	
  geom_̲density(aes(fill=Gender))	
  
g6	
  <-‐‑‒	
  g5	
  +	
  facet_̲grid(Gender	
  ~∼	
  .)	
  
grid.arrange(g1,	
  g2,	
  g3,	
  g4,	
  g5,	
  g6,	
  ncol=2,	
  nrow=3)	
  
!   install.packages(gridExtra)する
出来たプロット
ヒストグラムの注意点
!   binの幅で見た目が変わる
!   適切な幅を決めるのは難しい
!   単峰なのか多峰なのか掴みづらいことが多い
!   密度プロットを併用しよう
散布図を描く
h	
  <-‐‑‒	
  ggplot(heights.weights,	
  aes(x=Height,	
  y=Weight))	
  
h1	
  <-‐‑‒	
  h	
  +	
  geom_̲point()	
  
h2	
  <-‐‑‒	
  h1	
  +	
  geom_̲smooth()	
  
h3	
  <-‐‑‒	
  ggplot(heights.weights[1:20,],	
  aes(x=Height,	
  y=Weight))	
  
+	
  geom_̲point()	
  +	
  geom_̲smooth()	
  
h4	
  <-‐‑‒	
  ggplot(heights.weights[1:200,],	
  aes(x=Height,	
  
y=Weight))	
  +	
  geom_̲point()	
  +	
  geom_̲smooth()	
  
h5	
  <-‐‑‒	
  ggplot(heights.weights[1:2000,],	
  aes(x=Height,	
  
y=Weight))	
  +	
  geom_̲point()	
  +	
  geom_̲smooth()	
  
grid.arrange(h1,	
  h2,	
  h3,	
  h4,	
  h5,	
  ncol=2,	
  nrow=3)	
  
!   散布図
散布図
5章でやるので飛ばす
c	
  <-‐‑‒	
  coef(logit.mode)	
  
ggplot(height.weights,	
  aes(x	
  =	
  Weight,	
  y=Height,	
  color=Gender))	
  +	
  geom_̲point()	
  
+	
  stat_̲abline(intercept	
  =	
  -‐‑‒c[1]/c[2],	
  slope=-‐‑‒c[3]/c[2],	
  geom='abline',	
  color='black')	
  
3章 スパムフィルタ
ベイズ分類
教師あり/なし学習
!   教師あり学習(きょうしありがくしゅう,
Supervised learning)とは、機械学習の手
法の一つである
!   事前に与えられたデータをいわば「例題(=先
生からの助言)」とみなして、それをガイドに
学習(=データへの何らかのフィッティング)
を行うところからこの名がある。
!   wikipediaより
サイコロを振る
!   6面体(A)と8面体(B)の
サイコロを振る
!   同時に振って両方3が出
る確率
!   Aで3が出た状態でBが
3になる確率
!   Bで3が出た状態でAが
3になる確率
ベイズの定理
1	
 2	
 3	
 4	
 5	
 6	
1 (1, 3)	
2	
 (2, 3)	
3	
 (3, 1)	
 (3, 2)	
 (3, 3)	
 (4, 3)	
 (5, 3)	
 (6, 3)	
4	
 (4, 3)	
5	
 (5, 3)	
6	
 (6, 3)	
7	
 (7, 3)	
8	
 (8, 3)	
B
A
箱の問題
!   箱から玉を取り出す
!   A(白1,黒5)0.8
!   B(白3,黒1)0.2
!   ただしBの箱は旧作で
人気がないため5人に一
人しか選ばない
!   白が取り出された時、
Bの箱から取り出され
た可能性はどれくらい
か?
A(0.8) B(0.2)
ベイズの定理を使う
!   P(B¦白) = P(白¦B) x P(B) / P(白)
= 0.75 * 0.2 / 0.4
= 0.375
•  もともとBが選ばれる確率が20%だったのが、
白が観察されたことで37.5%に上昇した
•  箱から取り出す確率が変化する不思議(もとの箱
を取り出す確率は単なる仮定と考えることもで
きる。)
スパム分類
!   P(spam¦words) =
P(words¦spam) * P(spam) / P(words)
!   スパムと非スパムから単語の頻度が分かれば、
ある単語が文中に現れた場合にそれがスパムで
ある確率を出すことができる
箱で例える
!   箱から玉(word)を複
数同時に取り出す
!   箱を選ぶ確率は五分
五分
!   wordsが観測された
時spamの箱から取
り出された可能性は
どのくらいか? spam(0.5) ham(0.5)
数式の補足
!   単純ベイズ分類器
!   条件付き独立を仮定
条件付き独立を仮定しているので
Zは定数
作業のながれ(やる?)
!   tm(text mining)
パッケージを利用して
TDM(term
document matrix)
をつくる
!   分類器をつくる
!   未知の単語が出てきた
場合どうするか
!   テストする
IRISで分類する
e1071を使う
data(iris)	
  
library(e1071)	
  
classifier<-‐‑‒naiveBayes(iris[,1:4],	
  iris[,5])	
  	
  
train	
  <-‐‑‒	
  predict(classifier,	
  iris[,-‐‑‒5])	
  
table(train,iris[,5],dnn=list('predicted','actual'))	
  
	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  actual	
  
predicted	
  	
  	
  	
  setosa	
  versicolor	
  virginica	
  
	
  	
  setosa	
  	
  	
  	
  	
  	
  	
  	
  	
  50	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  0	
  	
  	
  	
  	
  	
  	
  	
  	
  0	
  
	
  	
  versicolor	
  	
  	
  	
  	
  	
  0	
  	
  	
  	
  	
  	
  	
  	
  	
  47	
  	
  	
  	
  	
  	
  	
  	
  	
  3	
  
	
  	
  virginica	
  	
  	
  	
  	
  	
  	
  0	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  3	
  	
  	
  	
  	
  	
  	
  	
  47	
  
何をやったのか?
library(ggplot2)	
  
g	
  <-‐‑‒	
  ggplot(iris,	
  aes(x=Petal.Length,	
  color=Species))	
  
pl	
  <-‐‑‒	
  classifier$tables$Petal.Length	
  
g	
  +	
  geom_̲histogram()	
  	
  
	
  	
  	
  +	
  stat_̲function(fun=dnorm,	
  colour='red',	
  args=list(mean=pl[1,1],	
  sd=pl[1,2]))	
  
	
  	
  	
  +	
  stat_̲function(fun=dnorm,	
  colour='green',	
  args=list(mean=pl[2,1],	
  sd=pl[2,2]))	
  
	
  	
  	
  +	
  stat_̲function(fun=dnorm,	
  colour='blue',	
  args=list(mean=pl[3,1],	
  sd=pl[3,2]))	
  
3章まとめ
!   ベイズ分類をつかってみました
!   文書に対して行いたいのならpythonのNLTK
が便利です。
!   Pythonでは他にscikit-learnという機械学習
パッケージもあります

Más contenido relacionado

Más de Kazufumi Ohkawa

ハッピーハッピー構造生成まつり’67
ハッピーハッピー構造生成まつり’67ハッピーハッピー構造生成まつり’67
ハッピーハッピー構造生成まつり’67Kazufumi Ohkawa
 
ClickでCLIをお手軽につくるぅぅぅ
ClickでCLIをお手軽につくるぅぅぅClickでCLIをお手軽につくるぅぅぅ
ClickでCLIをお手軽につくるぅぅぅKazufumi Ohkawa
 
SAR精度70% その先へ
SAR精度70% その先へSAR精度70% その先へ
SAR精度70% その先へKazufumi Ohkawa
 
視覚化サービス構築の際に気をつけること
視覚化サービス構築の際に気をつけること視覚化サービス構築の際に気をつけること
視覚化サービス構築の際に気をつけることKazufumi Ohkawa
 
量子化学計算外伝 すごいよ!! FMO
量子化学計算外伝 すごいよ!! FMO量子化学計算外伝 すごいよ!! FMO
量子化学計算外伝 すごいよ!! FMOKazufumi Ohkawa
 
あまり知られていない静岡の言語戦争の歴史
あまり知られていない静岡の言語戦争の歴史あまり知られていない静岡の言語戦争の歴史
あまり知られていない静岡の言語戦争の歴史Kazufumi Ohkawa
 
IPython notebookを使おう
IPython notebookを使おうIPython notebookを使おう
IPython notebookを使おうKazufumi Ohkawa
 
実践コンピュータビジョン8章
実践コンピュータビジョン8章実践コンピュータビジョン8章
実践コンピュータビジョン8章Kazufumi Ohkawa
 
エンジョイ☆スクレイピング
エンジョイ☆スクレイピングエンジョイ☆スクレイピング
エンジョイ☆スクレイピングKazufumi Ohkawa
 
Redmineでもめない会議☆
Redmineでもめない会議☆Redmineでもめない会議☆
Redmineでもめない会議☆Kazufumi Ohkawa
 
pythonでオフィス快適化計画
pythonでオフィス快適化計画pythonでオフィス快適化計画
pythonでオフィス快適化計画Kazufumi Ohkawa
 
入門機械学習読書会9章
入門機械学習読書会9章入門機械学習読書会9章
入門機械学習読書会9章Kazufumi Ohkawa
 
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScriptJavascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScriptKazufumi Ohkawa
 
入門機械学習1,2章
入門機械学習1,2章入門機械学習1,2章
入門機械学習1,2章Kazufumi Ohkawa
 

Más de Kazufumi Ohkawa (20)

圏論walker
圏論walker圏論walker
圏論walker
 
ハッピーハッピー構造生成まつり’67
ハッピーハッピー構造生成まつり’67ハッピーハッピー構造生成まつり’67
ハッピーハッピー構造生成まつり’67
 
ClickでCLIをお手軽につくるぅぅぅ
ClickでCLIをお手軽につくるぅぅぅClickでCLIをお手軽につくるぅぅぅ
ClickでCLIをお手軽につくるぅぅぅ
 
SAR精度70% その先へ
SAR精度70% その先へSAR精度70% その先へ
SAR精度70% その先へ
 
視覚化サービス構築の際に気をつけること
視覚化サービス構築の際に気をつけること視覚化サービス構築の際に気をつけること
視覚化サービス構築の際に気をつけること
 
量子化学計算外伝 すごいよ!! FMO
量子化学計算外伝 すごいよ!! FMO量子化学計算外伝 すごいよ!! FMO
量子化学計算外伝 すごいよ!! FMO
 
あまり知られていない静岡の言語戦争の歴史
あまり知られていない静岡の言語戦争の歴史あまり知られていない静岡の言語戦争の歴史
あまり知られていない静岡の言語戦争の歴史
 
IPython notebookを使おう
IPython notebookを使おうIPython notebookを使おう
IPython notebookを使おう
 
Mishimasyk141025
Mishimasyk141025Mishimasyk141025
Mishimasyk141025
 
実践コンピュータビジョン8章
実践コンピュータビジョン8章実践コンピュータビジョン8章
実践コンピュータビジョン8章
 
R -> Python
R -> PythonR -> Python
R -> Python
 
ChEMBLを使おう
ChEMBLを使おうChEMBLを使おう
ChEMBLを使おう
 
Unigram mixtures
Unigram mixturesUnigram mixtures
Unigram mixtures
 
エンジョイ☆スクレイピング
エンジョイ☆スクレイピングエンジョイ☆スクレイピング
エンジョイ☆スクレイピング
 
Redmineでもめない会議☆
Redmineでもめない会議☆Redmineでもめない会議☆
Redmineでもめない会議☆
 
pythonでオフィス快適化計画
pythonでオフィス快適化計画pythonでオフィス快適化計画
pythonでオフィス快適化計画
 
入門機械学習読書会9章
入門機械学習読書会9章入門機械学習読書会9章
入門機械学習読書会9章
 
入門機械学習6章
入門機械学習6章入門機械学習6章
入門機械学習6章
 
Javascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScriptJavascriptを書きたくないヒ トのためのPythonScript
Javascriptを書きたくないヒ トのためのPythonScript
 
入門機械学習1,2章
入門機械学習1,2章入門機械学習1,2章
入門機械学習1,2章
 

Último

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイスCRI Japan, Inc.
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。iPride Co., Ltd.
 
論文紹介: 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
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NTT DATA Technology & Innovation
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルCRI Japan, Inc.
 
論文紹介: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
 
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.
 
論文紹介: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
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Hiroshi Tomioka
 

Último (11)

LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: 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
 
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: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...
 
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の勉強会で発表されたものです。
 
論文紹介: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
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 

入門機械学習読書会二回目