情報知能学基礎演習 (4月13日) 豊田秀樹(2008)『データマイニング入門
Download
Report
Transcript 情報知能学基礎演習 (4月13日) 豊田秀樹(2008)『データマイニング入門
情報知能学基礎演習
(4月13日)
豊田秀樹(2008)『データマイニング入門』 (東
京図書)を用いて
情報知能学科
白井 英俊
復習(1)
> 陸上<-read.csv("陸上データ.csv")
以下にエラー file(file, “r”) : コネクションを開くことができません
追加情報: Warning message: In file(file, "r") : ファイル '陸上
データ.csv' を開くことができません:
No such file or directory
提出者のコメント
ディレクトリの指定は結構シビア? ファイルのあるディレクトリの1
個上のディレクトリはダメでした。
復習(2)
> location<-contrib.url(getOption("repos"))
--- このセッションで使うために、CRANのミラーサイトを選んで
ください --> packages<-available.packages(location)[,1]
> install.packages(packages,contriburl=location)
install.packages(packages, contriburl = location) 中で警告
がありました:
'lib = "C:/PROGRA~1/R/R-28~1.1/library"' は書き込み可能
ではありません
以下にエラー install.packages(packages, contriburl =
location) :
パッケージをインストール出来ませんでした
復習(3)
> write.csv(陸上,"出力.csv") # 今出力したデータをファイル"出力.csv"として保存
> 改<-read.csv("出力.csv") # ファイル"出力.csv"を"改"として読み込む
> 改 # 読み込んだデータを表示
X 高跳び X100m走 走り幅跳び 開催年 区分
1 1 1.810 12.00
6.350 1986 戦前
2 2 1.900 11.00
7.185 1900 戦前
3 3 1.800 11.00
7.340 1904 戦前
4 4 1.900 10.80
7.480 1908 戦前
5 5 1.930 10.80
7.600 1912 戦前
6 6 1.936 10.60
7.150 1920 戦前
7 7 2.120 10.50
7.830 1956 戦後
8 8 2.180 10.00
8.030 1964 戦後
9 9 2.380 9.92
8.720 1988 戦後
10 10 2.340 9.96
8.670 1992 戦後
11 11 2.390 9.84
8.500 1996 戦後
12 12 2.360 9.85
8.310 2004 戦後
提出者のコメント:
ここで見てとれるように、行のカウントまでも一緒に保存してしまっているためプリントするとおか
しなことになっています。
Help!
?write.csv (または help(write.csv) )
write.table prints its required argument x (after converting it to a data frame if it is not one nor a matrix) to a file or
connection.
Usage
write.table(x, file = "", append = FALSE, quote = TRUE, sep = " ", eol = "\n", na = "NA",
dec = ".", row.names = TRUE, col.names = TRUE, qmethod = c("escape",
"double"))
write.csv(...)
write.csv2(...)
Arguments
x
file
append
quote
sep
eol
na
dec
the object to be written, preferably a matrix or data frame. If not, it is attempted to coerce x to a data frame.
either a character string naming a file or a connection open for writing. "" indicates output to the console.
logical. Only relevant if file is a character string. If TRUE, the output is appended to the file. If FALSE, any existing file of the name is destroyed.
a logical value (TRUE or FALSE) or a numeric vector. If TRUE, any character or factor columns will be surrounded by double quotes. If a numeric
vector, its elements are taken as the indices of columns to quote. In both cases, row and column names are quoted if they are written. If FALSE,
nothing is quoted.
the field separator string. Values within each row of x are separated by this string.
the character(s) to print at the end of each line (row). For example, eol="\r\n" will produce Windows' line endings on a Unix-alike OS, and eol="\r" will
produce files as expected by MacOS Excel 2004.
the string to use for missing values in the data.
the string to use for decimal points in numeric or complex columns: must be a single character.
row.names either a logical value indicating whether the row names of x are to be written along with x, or a character vector of row names to be written.
row.names
either a logical value indicating whether
the row names of x are to be written along with x, or a
character vector of row names to be written.
今回学ぶR
•
•
•
•
2章はニューラルネット
内容はかなり濃い
作業:内容を自分なりにまとめてみよう
実践:今回同様、70ページから81ページ何が
そこで起こっているのかを考えてみよう
• 「やったこと、考えたこと、疑問に思ったこと、
話し合ったことを書き表す」ことを習慣づけよ
う
2章 ニューラルネット
2.1 神経回路のモデル化
逐次型計算機 vs 並列型計算機
von Neuman(フォンノイマン)型計算機(1945)
=逐次型+プログラム内蔵(stored program)
McCulloch (マッカロ)& Pitts(ピッツ)(1943)
並列計算:形式ニューロンモデル
現状の計算機と脳との比較
2.1.2 脳の神経細胞
神経細胞(図2.1)
細胞体(soma,
cell body)
樹状突起(dendrite)
軸索(axon)
WikiPediaより
細胞体が演算部、軸索が出力部
シナプス:軸索の末端に位置、情報を伝達
神経細胞の情報の伝達
• 平静時:細胞体は外部より膜電位が低い
• 興奮:樹状突起を通じて入ってくるほかの神
経細胞からの情報により膜電位が変化。
外部との差が縮まると、一瞬外部より膜電位が
高くなる。
• 閾値(threshold):神経細胞が興奮する臨界の
膜電位の値
• 神経細胞が伝える情報:興奮か平静か、とい
う離散的な情報
神経細胞間の情報伝達
• 情報伝達:軸索と樹状突起の結合部で行わ
れるーシナプス結合(図2.2)
• A部先端:プリシナプス
• B部先端:ポストシナプス
• プリシナプス:興奮性と抑制性
脳の学習
• たくさんある神経細胞間の結合の変化
• 神経細胞の情報伝達は電気的、離散的
電位の変化の頻度が高いプリシナプスは、伝達物
質を多く放出する
=>後続の神経細胞に与える影響が大きくなる
=>結合の強化
神経細胞の結合の程度が構造的に変化
2.1.4 マッカロとピッツのモデル
• マッカロとピッツの神経細胞の数理モデル
線形閾値(しきいち)関数
i層j番目の神経細胞の入力をy(i-1)k, 出力をxij とする
yij = 1 if xij ≧ βi ーーー βは閾値
= 0 otherwise
xij = ∑ωijky(i-1)k
y(i-1)k は(i-1)層の細胞の出力、ωijkはその出力ごとの重み
これらの総合和がi層j番目の神経細胞の出力(yij)を決定
パーセプトロンから階層型ネットワー
クモデルへ
• マッカロとピッツのモデル:論理演算が表現可能
重みを固定しているため学習可能性なし
• Hebb(ヘブ)の神経細胞の学習法則(1949)
• Rosenblatt (ローゼンブラット): パーセプトロン
• Rumelhart, Hinton & Williams(ラメルハート、ヒント
ン、ウィリアムズ)
Rumelhart & McClelland: PDPモデル
階層型ネットワークモデル+逆伝播学習
階層型ネットワークモデル
• トポロジー:層の数と、各層のユニットの数の
違い
• 信号変換:シグモイド関数(S字関数)
ロジスティック関数(シグモイド関数の一つ)
yij = 1/(1+exp(-xij-βij))
今日のR
2.5.1 偽札データの分析
ネットワークのトポロジーの選択
階層型ネットワークの学習
2.5.2 鉛筆の数え方
規則として書けそうだが。。。
2.5.3 ケーキの購入意思データの分析
データに基づく予測の一つの方法
精度の評価