はじめに
私自身、学生時代(2005-2007くらい)の専門としてラフ集合理論を勉強していたので、アドカレネタとして今回書いてみようと思う。
ただ、こういう文章を書くのは久々なので、見苦しい点も多々あるかと思いますが、
ツッコミがあれば遠慮なくいただければ幸いです。
(と、今のうちに逃げを打っておく。)
ラフ集合とは
ラフ集合とは識別不能関係(対象説明の粗さなどにより識別ができない関係のこと)による不確実性を扱う集合概念であり,感性工学やデザイン工学などで使われているらしい。
ラフ集合では、非数値データや矛盾があるようなデータ表(決定表)から,If-Thenルール(決定ルール)を導くことにより、知識獲得が可能であるとして、1982年にZ.Pawlak (ポーランド)が提唱して以来,様々な理論的な研究が行われていた。
最近は何かあるのかな?と思い、少し調べてみたが、あまり引っかからないので廃れてしまったのかな?
ラフ集合を拡張した理論
- 可変精度ラフ集合
- ファジィ-ラフ集合
可変精度ラフ集合は学生当時にはあった理論だったが、
ファジィ-ラフ集合についてはどんなものかは知らないので、今度調べてみようかと思う。
こっから先は普通のラフ集合について簡単に
1. 決定表
だいぶ説明は端折って書いていると思います。ツッコミがありましたら遠慮なく。
以下のような表を情報表と呼ぶ。
サンプル | 種類 | 色 | おサイフケータイ | キャリア | 印象 |
---|---|---|---|---|---|
s1 | ガラケー | カラフル系 | あり | D社 | 好き |
s2 | スマホ | モノクロ系 | なし | S社 | 嫌い |
s3 | スマホ | カラフル系 | あり | A社 | 嫌い |
s4 | ガラケー | モノクロ系 | あり | A社 | 好き |
s5 | スマホ | モノクロ系 | あり | S社 | 嫌い |
s6 | スマホ | カラフル系 | なし | D社 | 好き |
情報表の中で、一部の属性を目的変数とし、残りの属性を説明変数とした時、この情報表は決定表と呼ばれる。目的変数に該当する属性の集合のことを決定属性と呼び、説明変数となる属性の集合を条件集合と呼ぶ。
例えば、条件属性$C=${種類,色,おサイフケータイ,キャリア}、決定属性$D=${印象}のようになる。
これでIf-Thenルールを作っても面白くないので、
2. 上近似と下近似
サンプル | 種類 | 色 | 印象 |
---|---|---|---|
s1 | ガラケー | カラフル系 | 好き |
s2 | スマホ | モノクロ系 | 嫌い |
s3 | スマホ | カラフル系 | 嫌い |
s4 | ガラケー | モノクロ系 | 好き |
s5 | スマホ | モノクロ系 | 嫌い |
s6 | スマホ | カラフル系 | 好き |
説明しやすいように、決定表を小さくした。
決定属性でそれぞれ「好き」の集合$D_1=${$s1,s4,s6$}、「嫌い」の集合$D_2=${$s2,s3,s5$}に分割することができる。この$D_1$と$D_2$のことを決定クラスと呼ぶ。
条件属性集合{種類,色}の基本集合は{{$s1$}$,${$s2,s5$}$,${$s3,s6$}$,${$s4$}}である。$D_1$の中のサンプル$s1$と$s4$の種類と色の組み合わせは、この表の中では必ず「好き」であると識別できるといえる。これをラフ集合では、
$A_*(D_1)=${$s1,s4$}
と書き、決定クラス$D_1$の下近似という。
一方、サンプル$s3$と$s6$は種類と色の組み合わせからは決定クラスの判別ができない。言い換えると、サンプル$s3$と$s6$は必ず$D_1$に属するとは断言はできないが、その可能性があるといえる。
これをラフ集合では、
$A^*(D_1)=${$s1,s3,s4,s6$}
と書き、決定クラス$D_1$の上近似という。
3. 縮約
縮約とは、全ての条件属性と同等に決定属性を識別するための「最小」の属性の部分集合のこという。縮約は複数存在しうる。
決定表における縮約を求める場合は、識別行列を作成して論理演算を行うが、具体的な計算方法については割愛する。
ざっくり何をするかというと、
$(A∨B)∧(C∨D)∧・・・∧(Y∨Z)$ を $(a∧b)∨(c∧d)∨・・・∨(y∧z)$
の形に変換して求める。(英字部分については、テキトーなのでご了承ください。)
4. 決定行列と決定ルール
で、決定ルール(If-Thenルール)を求めるわけだが、条件部がダラダラと長いのはイマイチということで、縮約を条件部として、決定ルールを求められれば、決定表から簡潔なルールが導けると嬉しいね、ということのようだ。
決定ルールを求めるのに、決定行列を作って、論理演算をして求めるのだが・・・・
限界なので現時点では割愛させていただく・・・・
Rでラフ集合
昔はC/C++で実装して計算を行っていたが、最近RとかPythonを勉強し始めたので、ラフ集合のパッケージでもないかと探してみたら、あった。
現時点では、動かすまではやらないが、近日中に動かしてみて結果をここに載せたいと思っている。
似たような何か
統計学の勉強も少しやってみている中で、アソシエーション分析に似ているな、という印象を持った。
アソシエーション分析の方が有名なんだろうが、こちらの知識がないため具体的な違いなんかは理解していないので、今後比較でもしてみようかと思う。
ラフ集合がマイナーだからどこまで突っ込むかは考えちゃうんだけど。
ラフ集合の情報
ラフ集合と感性 データからの知識獲得と推論
当時の教科書といえば、これ1択だった。後は論文くらいしか当時はなかった記憶が。人の考え方に最も近いデータ解析法―ラフ集合が意思決定を支援する
おそらく一番新しい、ラフ集合の本。ラフ集合の感性工学への応用
私の先生の名前がチラッと見かけたので、うっかり買ってしまった本。中身はまだ読んでないwVariable precision rough set model
可変精度ラフ集合モデルの論文。これは読んだ記憶がある。
おわりに
こんな時間になってしまった(2016/12/22 3:45)ので一旦ここで終りだが、プログラムでの実行結果などは適宜編集していく予定。