情報知能学基礎演習 豊田秀樹(2008)『データマイニング入門』 (東京図書)。2章と3章

Slides:



Advertisements
Similar presentations
画像処理・実習 第十四回:パターン認識 東海大学 情報理工学部 情報メディア学科 濱本和彦. 今回の内容 5. パターン認識 5.1 マッチングの原理 5.2 テンプレートマッチング 実習 相互相関とテンプレートマッチング.
Advertisements

北海道大学 Hokkaido University 1 情報理論 講義資料 2016/06/22 情報エレクトロニクス学科共通科目・2年次・第 1 学期〔必修 科目〕 講義「情報理論」第 5 回 第 3 章 情報源のモデル [ 後半 ] 3.5 情報源のエントロピー.
Maxent model への挑戦 - 驚きとドキドキ感の理論 - 大野ゆかり Phillips et al. (2006) Maximum entropy modeling of species geographic distributions. Ecological Modeling 190:
1 高速フーリエ変換 (fast Fourier transform). 2 高速フーリエ変換とは? – 簡単に言うとフーリエ変換を効率よく計算 する方法 – アルゴリズムの設計技法は分割統治法に基 づいている 今回の目的は? – 多項式の積を求める問題を取り上げ、高速 フーリエ変換のアルゴリズムを用いた解法.
図示、可視化モジュール ~ pylab と numpy を ちょっと~. pylab とは? ・数学や統計的なグラフを生成するモ ジュール ・インストール pip や easy install からのインストールを推奨 →numpy モジュールなどの前提としている。 Anaconda の場合は標準.
エクセルと SPSS による データ分析の方法 社会調査法・実習 資料. 仮説の分析に使う代表的なモデ ル 1 クロス表 2 t検定(平均値の差の検定) 3 相関係数.
白井ゼミ 豊田秀樹(2008)『データマイニング入門』 (東京図書)。4章
アルゴリズムとデータ構造 第2回 線形リスト(復習).
オンライン学習 Prediction Learning and Games Ch2
寺尾 敦 青山学院大学社会情報学部 R での連関測度の計算方法 寺尾 敦 青山学院大学社会情報学部
Fortran と有限差分法の 入門の入門の…
プログラミング言語としてのR 情報知能学科 白井 英俊.
ニューラルネットのモデル選択 村田研究室 4年  1G06Q117-5 園田 翔.
データ構造とアルゴリズム 第10回 mallocとfree
白井ゼミ 豊田秀樹(2008)『データマイニング入門』 (東京図書)第7章
「データ学習アルゴリズム」 第3章 複雑な学習モデル 3.1 関数近似モデル ….. … 3層パーセプトロン
情報科学1(G1) 2016年度.
シミュレーション物理7 乱数.
「データ学習アルゴリズム」 第2章 学習と統計的推測 報告者 佐々木 稔 2003年5月21日 2.1 データと学習
マイクロシミュレーションにおける 可変属性セル問題と解法
情報理論2 第6回 小林 学 湘南工科大学 2011年11月15日 〒 神奈川県藤沢市辻堂西海岸1-1-25
湘南工科大学 2013年12月10日 プログラミング基礎1 湘南工科大学情報工学科 准教授 小林 学.
(ラプラス変換の復習) 教科書には相当する章はない
離婚が出生数に与える影響 -都道府県データを用いた計量分析
第6章 カーネル法 修士2年 藤井 敬士.
パターン認識とニューラルネットワーク 栗田多喜夫 2018/11/8 早稲田大学大学院理工学研究科講義.
情報処理3 第5回目講義         担当 鶴貝 達政 11/8/2018.
4章までのまとめ ー 計量経済学 ー.
第4日目第3時限の学習目標 検査の信頼性(続き)を学ぶ。 妥当性について学ぶ。 (1)構成概念妥当性とは? (2)内容妥当性とは?
独立成分分析 1.問題は何か:例:解法:全体の見通し 2007/10/17 名雪 勲.
7. 音声の認識:高度な音響モデル 7.1 実際の音響モデル 7.2 識別的学習 7.3 深層学習.
決定木とランダムフォレスト 和田 俊和.
第10回関数 Ⅱ (ローカル変数とスコープ).
第5章:特徴の評価とベイズ誤り確率 5・3:ベイズ誤り確率とは
確率的学習アルゴリズムを用いた有限状態オートマトンの抽出に関する研究
混合ガウスモデルによる回帰分析および 逆解析 Gaussian Mixture Regression GMR
人工知能特論 9.パーセプトロン 北陸先端科学技術大学院大学 鶴岡 慶雅.
R8C/Tiny I/Oポートの仕組み.
モデルの逆解析 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
あらまし アンサンブル学習の大きな特徴として,多数決などで生徒を組み合わせることにより,単一の生徒では表現できない入出力関係を実現できることがあげられる.その意味で,教師が生徒のモデル空間内にない場合のアンサンブル学習の解析は非常に興味深い.そこで本研究では,教師がコミティマシンであり生徒が単純パーセプトロンである場合のアンサンブル学習を統計力学的なオンライン学習の枠組みで議論する.メトロポリス法により汎化誤差を計算した結果,ヘブ学習ではすべての生徒は教師中間層の中央に漸近すること,パーセプトロン学習では
第14章 モデルの結合 修士2年 山川佳洋.
確率的学習アルゴリズムを用いた有限状態オートマトンの抽出に関する研究
訓練データとテストデータが 異なる分布に従う場合の学習
深層学習を用いた音声認識システム 工学部 電気電子工学科 白井研究室 T213069 林健吉.
予測モデルの構築を簡単にすばやく! お客様の業務に AI 活用を支援 今だけ 機械学習最適モデリング ソリューション (ナレコム AI)
情報知能学基礎演習 豊田秀樹(2008)『データマイニング入門』 (東京図書)第6章
予測に用いる数学 2004/05/07 ide.
決定木 Decision Tree DT 明治大学 理工学部 応用化学科 データ化学工学研究室 金子 弘昌.
Data Clustering: A Review
ボルツマンマシンの定義 ボルツマンマシン(Boltzmann machine)は、スピン・システムをヒントに作られたモデルである。
15K1117 下窪 聖人 15K1013 坂本 倖輝 15K1112 黒川 晶太 15K1015 関根 修斗
パターン認識特論 担当:和田 俊和 部屋 A513 主成分分析
アルゴリズムとデータ構造 はじめに 第1章 アルゴリズムと計算量
プログラムの基本構造と 構造化チャート(PAD)
アルゴリズムとデータ構造 2011年7月8日課題の復習
データの型 量的データ 質的データ 数字で表現されるデータ 身長、年収、得点 カテゴリで表現されるデータ 性別、職種、学歴
第10回:Microsoft Excel (2/2)
「データ学習アルゴリズム」 第3章 複雑な学習モデル 報告者 佐々木 稔 2003年6月25日 3.1 関数近似モデル
15.cons と種々のデータ構造.
アルゴリズムとデータ構造 第3章 ヒープ 5月31日分
アルゴリズムとデータ構造 第3章 ヒープ 5月31日分の復習
法数学のための 機械学習の基礎 京大(医) 統計遺伝学分野 山田 亮 2017/04/15.
人工知能特論II 第8回 二宮 崇.
東京工科大学 コンピュータサイエンス学部 亀田弘之
東京工科大学 コンピュータサイエンス学部 亀田弘之
誤差逆伝播法による ニューラルネットワーク (BackPropagation Neural Network, BPNN)
わかりやすいパターン認識 第3章 誤差評価に基づく学習 3.3 誤差逆伝播法.
要因Aの差,要因Bの差を見たい 2つの要因なので二元配置分散分析の適用 要因B 水準A 水準B 水準C 要因A 水準a
「データ学習アルゴリズム」 第3章 複雑な学習モデル 報告者 佐々木 稔 2003年8月1日 3.2 競合学習
教師がコミティマシンの場合のアンサンブル学習 三好 誠司(神戸高専) 原 一之(都立高専) 岡田 真人(東大,理研,さきがけ)
Presentation transcript:

情報知能学基礎演習 豊田秀樹(2008)『データマイニング入門』 (東京図書)。2章と3章 情報知能学基礎演習 豊田秀樹(2008)『データマイニング入門』 (東京図書)。2章と3章 情報知能学科 白井 英俊

2章を振り返って 2.5.1 偽札データの分析: 判別モデル 2.5.2 助数詞の分析 パッケージ nnet を用いる。 Flurry & Riedwyl (1988)のお札のデータ(図2.7)による学習 中間層が1層のニューラルネット(a=3, b1=2, b2=3, b3=1) 2.5.2 助数詞の分析 パッケージneuralを用いる。助数詞「本」の音韻変化。 中間層が1層のニューラルネット(a=3, b1=1, b2=10, b3=1)   ユニット内部の信号変換:ラジアル基底関数(RBF: radial basis function) 2.5.3 ケーキの購入意思の予測 パッケージneuralを用いる。多層のニューラルネット(MLPモデル) データは図2.20。これを評価にも用いる MultiLayer Perceptron

2.5.1偽札データの分析 入力層と出力層に対応する行列を作る: 学習を行う 下部マージンと対角線を入力とする。最大値と最小値と用いて、値を0から1の間の数に変換する (2.10式参照) 下部マージン <-     (お札データ$下部マージン - min(お札データ$下部マージン))/       (max(お札データ$下部マージン)-min(お札データ$下部マージン)) 入力層と出力層に対応する行列を作る: 入力層<-cbind(下部マージン,対角線) 出力層<-class.ind(お札データ$真偽) 学習を行う set.seed(3)   # 乱数の初期値の設定(しなくてもよい)   ネットワーク学習 <- nnet(入力層, 出力層, size=3, rang=0.3, maxit=2000)

2.5.1偽札データの分析(続) 検証 ネットワーク適用 <- predict(ネットワーク学習, 入力層) 試してみよう # 学習させたネットワークに再度、入力層データを適用 適用結果 <- round(ネットワーク適用, digits=3) 試してみよう いろいろなトポロジーで試そう 結果を図示させてみよう

2.5.1偽札データの分析(続):元データ

2.5.1偽札データ(続):適用結果

2.5.2 助数詞の分析 ユニット内部の信号変換に、シグモイド関数ではなく、ガウシアン関数(RBF)を用いる 入力層と出力層に対応する行列を作る 入力層<-as.matrix(鉛筆データ$本数)    出力層<-as.matrix(鉛筆データ$ポン) 学習させる ネットワーク学習<-rbftrain(入力層, neurons=10, 出力層, it=1000) 検証 ネットワーク適用<-rbf(入力層, ネットワーク学習$weight, ネットワーク学習$dist, ネットワーク学習$neurons, ネットワーク学習$sigma) 入力を1変数とする場合

表示されるネットワーク

学習された関数の表示(「ぽん」) 10 1 6 8

2.5.2 助数詞の分析(続き) 注意:出力層としては「ボン」を選んでいる つまり、これは「ボン」の判別分析  つまり、これは「ボン」の判別分析  疑問: ガウシアン関数ではなく、シグモイド関数だとどうだろう? 「ホン」、「ポン」も同様に作らないといけない 同様に以下を実行 ネットワーク学習ホ <- nnet(入力層, 出力層ホ , size=10, rang=0.3,maxit=2000) ネットワーク適用ホ <- predict(ネットワーク学習ホ, 入力層) 適用結果ホ <- round(ネットワーク適用ホ, digits=1) ネットワーク学習ボ <- nnet(入力層, 出力層ボ , size=10, rang=0.3, maxit=2000) ネットワーク適用ボ <- predict(ネットワーク学習ボ, 入力層) 適用結果ボ <- round(ネットワーク適用ボ, digits=1)

2.5.2 助数詞の分析(続き) 以下をやってみると… choose <- function(x,h,b,p) { if (h[x] > b[x] && h[x] > p[x]) cat(x,"HON \n") else { if (b[x] > h[x] && b[x] > p[x]) cat(x,"BON \n") else cat(x,"PON \n") } } lapply(1:10,function(x) {choose(x,適用結果ホ,適用結果ボ,適用結果)}) choose2 <- function(x,h,b,p) { if (h[x] > b[x] && h[x] > p[x]) paste(x,"HON ") else { if (b[x] > h[x] && b[x] > p[x]) paste(x,"BON ") else paste(x,"PON ") } } sapply(1:10,function(x) {choose2(x,適用結果ホ,適用結果ボ,適用結果)}) その結果は: [1] "1 PON " "2 HON " "3 BON " "4 HON " "5 HON " "6 PON " "7 HON " [8] "8 PON " "9 HON " "10 PON "

実は… この課題は、ガウシアン関数を用いるために作られたもの:入力も出力も1変数に限定していた 入力を「本数」に対応した10個の変数とすれば、nnetで(も)簡単に学習が可能   入力層<-class.ind(鉛筆データ$本数)   出力層<-鉛筆データ[,2:4]   set.seed(3)   ネットワーク学習 <- nnet(入力層, 出力層, size=3, rang=0.3, maxit=2000)   ネットワーク適用 <- predict(ネットワーク学習, 入力層)   適用結果 <- round(ネットワーク適用, digits=3)

2.5.3 ケーキの購入意思の予測 多層ネットワークを用いる例 7変数の入力、1変数の出力 入力層<-cbind(高級感,甘さ,新奇性,濃厚さ,食感,華やかさ,値段) 出力層<-as.matrix(ケーキデータ$購入意思) ネットワーク学習<-mlptrain(入力層, neurons=c(5,3), 出力層, it=1000) ネットワーク適用<-mlp(入力層, ネットワーク学習$weight, ネットワーク学習$dist, ネットワーク学習$neurons, ネットワーク学習$actfns) colnames(ネットワーク適用)<-c("予測確率(買う)") 適用結果<-round(ネットワーク適用, digits=3)

2.5.3 ケーキの購入意思の予測(続) 多層のネットワーク

2.5.3 ケーキの購入意思の予測(続) 検証 count = 0 ng = c() for (i in 1:nrow(ケーキデータ))    if (ケーキデータ$購入意思[i] == 1 && 適用結果[i] <= 0.5) { cat(i,"\t","*NG-Fooled*\n") ng = c(ng,i) count = count+1 } else { if (ケーキデータ$購入意思[i] == 0 && 適用結果[i] > 0.5) { cat(i,"\t","*NG*\n") count = count+1 } } とすると、1か所、予測ミスがあることがわかる

3章 人工知能と決定木 古典的な人工知能:エキスパートシステム 専門家から「知識を獲得」し、プログラムとして実現ー知識表現 3章 人工知能と決定木 古典的な人工知能:エキスパートシステム 専門家から「知識を獲得」し、プログラムとして実現ー知識表現 データ量の爆発的な増加⇒知識を獲得するアルゴリズム、特に磁力で知識を獲得するアルゴリズムの重要性=機械学習(machine learning) 機械学習の技術的本質=統計学の「多段層別」技法 決定論的命題ではなく、統計的な相関関係の獲得

3.2 決定木:タイタニックデータを例に タイタニック号の生還者と死亡者の表(表3.1)から、どのような要因が生還・死亡(生死)を分けたかを考える 基準変数:この例では「生死」。目的変数ともいう。 予測変数:基準変数(この例では「生死」)を予測するのに使える変数。説明変数ともいう。この例では、「等級・立場」、「大人・子ども」、「性別」 カテゴリカル変数:値が数値ではなくカテゴリ(分類) ダミー変数:値が二者選択(二つの水準)の変数

決定木:タイタニックデータを例に(続き) CART(Classification And Regression Tree) Breiman, Olshen, Stone, Friedman(1984)  説明変数を二進分岐させ、決定木を生成  分岐の評価基準:ジニ係数(Gini index)や情報利得(information gain) パッケージは mvpart (他に tree, rpart) タイタニック木 <- rpart(生死~等級+大人子ども+性別, data=タイタニックデータ, method="class")

決定木:タイタニックデータを例に(続き) printによる表示 node), split, n, loss, yval, (yprob) * denotes terminal node 1) root 2201 711 死亡 (0.6769650 0.3230350) 2) 性別=男性 1731 367 死亡 (0.7879838 0.2120162) 4) 大人子ども=大人 1667 338 死亡 (0.7972406 0.2027594) * 5) 大人子ども=子ども 64 29 死亡 (0.5468750 0.4531250) 10) 等級=3等 48 13 死亡 (0.7291667 0.2708333) * 11) 等級=1等,2等 16 0 生還 (0.0000000 1.0000000) * 3) 性別=女性 470 126 生還 (0.2680851 0.7319149) 6) 等級=3等 196 90 死亡 (0.5408163 0.4591837) * 7) 等級=1等,2等,乗務員 274 20 生還 (0.0729927 0.9270073) *

決定木の図示

3.4 予測変数が連続変数の場合 偽札データを例に、予測変数が連続変数の場合の扱いを見る お札木 <- rpart(真偽 ~ ., data=お札データ) print(お札木) n= 215 node), split, n, loss, yval, (yprob) * denotes terminal node 1) root  215  100 偽札 (0.534883721  0.465116279) 2) 対角線< 140.45  103 1 偽札 (0.990291262  0.009708738) * 3) 対角線>=140.45  112 13 真札 (0.116071429  0.883928571) 6) 下部マージン>=9.45  16 3 偽札 (0.812500000  0.187500000) * 7) 下部マージン< 9.45  96 0 真札 (0.000000000  1.000000000) *

決定木の表示 判別 偽札 真札 1 115 4 2  0   96

分類木をデータで表示してみると

本日の学習 Rの作業:p.99~p.111 2章の復習:特に内容に注意して 3章の理解:何が行われているか、ツールを『使える』だけではなく、ツールの仕組みも理解できるようにしよう ジニ係数と情報量:3.3.2節の計算を、自分でやってみよう