Comments
Description
Transcript
3 - 大阪府立大学学術情報リポジトリ OPERA
Title Author(s) 分散データからのプライバシーを保護したファジィルールの抽出 に関する研究 蒋, 錦賽 Editor(s) Citation Issue Date URL 2015 http://hdl.handle.net/10466/14961 Rights http://repository.osakafu-u.ac.jp/dspace/ 分散データからの プライバシーを保護した ファジィルールの抽出に関する研究 2015 年度 大阪府立大学 大学院理学系研究科 情報数理科学専攻 蒋 錦賽 i 目次 第 1 章 緒言 1 第 2 章 プライバシー保護データマイニング 3 2.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.2 データマイニング手法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 2.3 プライバシー保護データマイニング . . . . . . . . . . . . . . . . . . . . . 16 2.4 おわりに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 第 3 章 量限定子を持つファジィルールの抽出 23 3.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2 ファジィ集合とその演算 . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.3 ファジィ推論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 3.4 ファジィデータマイニング . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.5 ファジィ量限定子 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 3.6 量限定子を持つファジィルールの抽出 . . . . . . . . . . . . . . . . . . . 32 3.7 おわりに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 第 4 章 分散データからのファジィルールの抽出 37 4.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.2 TCP/IP ネットワーク . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 4.3 分散データからのルール抽出 . . . . . . . . . . . . . . . . . . . . . . . . 40 4.4 アヤメのデータにおける数値例 . . . . . . . . . . . . . . . . . . . . . . . 47 4.5 ワインデータへの適用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 4.6 クライアントのルールとデータ全体のルールの比較 . . . . . . . . . . . . 58 4.7 おわりに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64 第 5 章 異なる属性部分を持つ分散データからのファジィルールの抽出 65 5.1 はじめに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 5.2 分散データに対するファジィ集合 . . . . . . . . . . . . . . . . . . . . . . 65 目次 ii 5.3 欠損データを推論するファジィルールの抽出 . . . . . . . . . . . . . . . . 66 5.4 欠損データの推論 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 5.5 データ全体のファジィルールの抽出 . . . . . . . . . . . . . . . . . . . . . 73 5.6 二つのルール集合の比較 . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 5.7 数値実験 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.8 おわりに . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 第 6 章 結言 79 謝辞 81 付 録 A ファジィルールの抽出に用いた分散データ 83 付 録 B ファジィ集合生成法 B の場合のアヤメデータから抽出されたルール 89 付 録 C クライアント 2 と 3 のデータからのルール 101 付 録 D ファジィ集合生成法 B の場合のワインデータから抽出されたルール 107 付 録 E ファジィ集合生成法 B の場合の比較結果 111 付 録 F 異なる属性部分を持つ分散データ 119 付 録 G 異なる属性部分を持つ分散データの場合の実験結果 123 参考文献 127 1 第1章 緒言 PC の普及により, さまざまな場所でさまざまな種類の電子データが大量につくられる ようになった. このような大量のデータから有用な知識を取り出して有効に利用するの がデータマイニングである [1]. このような知識は人間が利用するので, 人間にとって分 かりやすい形で表現することが重要である. 知識をファジィ集合を用いて表現すると, 自 然言語に近い分かりやすい知識が得られるだけでなく, 曖昧さを含むデータに対しても データマイニングが可能になる. これがファジィデータマイニングである. また, データマイニングが普及してくると, 個人情報を含むデータからデータマイニ ングを行なうことが多くなり, 個人情報を保護することを考えたプライバシー保護デー タマイニングが研究されている [2]. プライバシー保護データマイニングには, 主に 2 つ のアプローチがある. 1 つは, 個人を特定できないようにデータを変更する方法で摂動 (perturbation) 技術 [3] と呼ばれる. もう 1 つのアプローチは安全なマルチパーティ計算 方式 [4] で, 複数のパーティが協調して有効な知識を得る方法である. これは, あえて複 数のパーティで処理することにより, それぞれが全体を見ないようにすることによりプ ライバシー保護を行なうものである. 本研究では, 複数のパーティに同じ属性を持つ分散したデータ (カテゴリデータと数値 データを含んでもよい) に対して, データ自身を他のパーティに転送せずに, 計算過程に 必要な値だけを転送して, 分散データを全体としてのファジィルールを抽出する方法を 提案する. 提案する手法は, 安全なマルチパーティ計算方式によりプライバシーを保護 しながら, 分散データに対してデータマイニングを行なう手法である. ルール抽出法は 従来の 1ヶ所にあるデータ集合からの量限定子を持つファジィルールの抽出手法 [5] に基 づいている. そして, 各分散データから得られたルールとデータ全体のルールを比べる ことにより, 各分散データにどのような特徴があるかを調べることができ, データについ てより多くの知識が得られる. そのために, 各分散データからのルールとデータ全体か らのルールを比べるためのルールの類似度を提案する. 第 1 章 緒言 2 また, 同じ属性を持つ分散データからのルール抽出手法を基にして, 分散データが異な る属性部分を持つ場合に対して, 全体としてのファジィルールを抽出する手法を提案す る. 全体としては, データが欠損していると考え, 欠損データを持つパーティにファジィ 推論に用いるファジィルールを抽出する. このとき, 同じ属性を持つ分散データからの ルール抽出手法を拡張することにより, プライバシー保護を行いながら推論に用いるルー ルを抽出する手法を提案する. そして, 抽出されたルールを用いて欠損データを推論す る. 最後に, 同じ属性を持つ分散データからのルール抽出手法を用いて, プライバシーを 保護しながら全体としてのファジィルールを抽出する. 実際のデータとして, R.A.Fisher のアヤメのデータ [6] と UCI の機械学習リポジトリ のワインデータ [7] を用いてファジィルールを抽出する. 本論文は 6 章で構成されており,第 1 章では,本研究の背景と目的について述べる. 第 2 章では, 主なデータマイニング手法について述べ, プライバシー保護データマイニ ングの主な二つのアプローチである摂動技術と安全なマルチパーティ計算方式について 述べる. 第 3 章では,ファジィ集合とその演算, ファジィ推論, 主なファジィデータマイニング 手法およびファジィ量限定子について述べる. また, ファジィデータマイニング手法であ るファジィ量限定子を持つファジィルールの抽出手法について述べる. 第 4 章では,ファジィ量限定子を持つファジィルールの抽出手法を基にして, 同じ属 性を持つ分散データから, 計算過程に必要な値だけを転送して, 分散データ全体としての ファジィルールを抽出する手法について述べる. また, 各分散データにおけるデータの特 徴を表現するために, 2 つルールの比較方法を提案し, それを用いて各分散データから得 られたルールとデータ全体のルールを比べる. そして, 各分散データのルールとデータ 全体のルールの中の似たものを削除すると, 残ったものを各分散データにおけるデータ の特徴を見なすことができる. 実験では, アヤメのデータとワインデータを用いた結果 を述べる. 第 5 章では,同じ属性を持つ分散データからのルール抽出手法を基にして, 分散デー タが異なる属性部分を持つ場合について考え, 全体としてのファジィルールを抽出する 手法について述べる. 実験では, アヤメのデータを 4 つの分散データに分け, 適当に属性 のデータを欠損させた. この手法の有効性を示すために, 2 つファジィルール集合の類似 度の計算方法を提案し, 実験の結果と元のアヤメデータの結果を比較する. 第 6 章では,本研究で得られた結果をまとめ,今後の課題を示す. 3 第2章 プライバシー保護データマイニング 2.1 はじめに データマイニング [1] はデータベースに蓄えられた大量のデータから有用な知識を取 り出して有効に利用しようというものである.しかし, 個人情報が含まれるデータベー スを対象とする場合には, プライバシーを保護しながらマイニングを行う必要があり, プ ライバシー保護データマイニングの技術が近年注目されている [2]. 本章では, まず, 決定木や相関ルールの発見などの各種マイニング手法を説明する. 次 に, プライバシーの定義とプライバシー保護データマイニングへの 2 つの主なアプロー チ [2] を説明する. 最後に, プライバシー保護データマイニングの関連研究について説明 する. 2.2 データマイニング手法 これまでに数多くのデータマイニング手法が提案されてきたが, 大きく分類すると, 予 測モデルの構築, 特徴パターンの発見, クラスタリングの 3 つに分類することができる [8]. 以下に, それぞれの代表的な手法である決定木, 相関ルール, クラスタリングについ て簡単に説明する. (1) 決定木 決定木とは複数のルールを木構造で表現した分類モデルである. その木構造の生成ア ルゴリズムで, 最も有名なアルゴリズムは J. R. Quinlan によって 1979 年に提案された ID3 [9][10] である. これは, 「データを分類するときのテスト回数の期待値を最小にする 決定木」を生成することを目的としている.そのため,獲得情報量 (相互情報量) の期待 値を最大にする属性を決定木のテスト節点として選択している. 第 2 章 プライバシー保護データマイニング 4 ID3 は次の 5 ステップから構成されている. 1. データ集合 D の情報量 I(D) を計算する 2. 各属性について,その属性でテストした場合の情報量 I(Daij ) を計算する 3. 情報量の期待値 E(Ai ,D) を計算する 4. 獲得情報量 G(Ai ,D) を計算する 5. 獲得情報量 G(Ai ,D) が最大となる属性を選択する ここで,属性 Ai (i = 1, 2, . . . , l) を Ai = {ai1 , ai2 , . . . , aili },分類クラス C = {C1 , C2 , · · · , Cn }, とする. 以下,表 2.1 に示すデータ集合 D を用いて, この手順を説明する. 1. データ集合 D の情報量 I(D) の計算 データ集合 D におけるクラス + と − の出現する割合を p1 と p2 とすると情報量 I(D) は, I(D) = −p1 log2 p1 − p2 log2 p2 (2.1) と定義される. 表 2.1 のデータでは + クラスに属するものが 3 つで − クラスに属するものが 5 つなの 表 2.1: データ集合 D 身長 低い 高い 高い 高い 低い 高い 低い 高い 髪の色 ブロンド 黒 黒 赤 黒 ブロンド ブロンド ブロンド 目の色 青 茶 青 青 青 茶 茶 青 クラス + − − + − − − + 第 2 章 プライバシー保護データマイニング 5 で,それぞれのクラスの出現する割合は 3/8 と 5/8 となり, 3 3 5 5 I(D) = − log2 − log2 8 8 8 8 = 0.954 (bit) となる. I(D) の値は,p1 と p2 の値が等しいとき,すなわち,各クラスに属するデータの数が 等しいときに最大値 1 となる. 2. 各属性の情報量 I(Daij ) の計算 属性「身長」でテストする場合を考えると,データ集合 D は図 2.1 のように分類され ることになる.そこで, 「高い」と「低い」に対するデータ集合 D高い と D低い の情報量を 計算すると, 2 3 3 2 I(D高い ) = − log2 − log2 5 5 5 5 = 0.971 (bit) 1 2 2 1 I(D低い ) = − log2 − log2 3 3 3 3 = 0.918 (bit) となる. 同様に,属性「髪の色」と「目の色」については,それぞれ 図 2.1: 属性「身長」でテストした場合の分類 第 2 章 プライバシー保護データマイニング 6 3 3 I(D黒 ) = − log2 3 3 = 0 (bit) 1 1 I(D赤 ) = − log2 1 1 = 0 (bit) 2 2 2 2 I(Dブロンド ) = − log2 − log2 4 4 4 4 = 1 (bit) 3 2 2 3 I(D青 ) = − log2 − log2 5 5 5 5 = 0.971 (bit) 3 3 I(D茶 ) = − log2 3 3 = 0 (bit) となる. 一般に分類クラスが n 個の場合には情報量 I(D) は次のように定義される. I(D) = − n ∑ pi log2 pi i=1 ここで,pi はクラス Ci が出現する割合である.また,I(D) の値は pi がすべて等しいと きに,最大値 log2 n となる. 3. 情報量の期待値 E(Ai ,D) の計算 属性「身長」でテストした後の情報量の期待値を求めると,D での「高い」と「低い」 の割合がそれぞれ 5/8 と 3/8 なので, 第 2 章 プライバシー保護データマイニング E(A身長 ,D) = 7 5 3 × 0.971 + × 0.918 8 8 = 0.951 (bit) となる.同様に,属性「髪の色」と「目の色」については E(A髪の色 ,D) = 3 1 4 ×0+ ×0+ ×1 8 8 8 = 0.5 (bit) E(A目の色 ,D) = 5 3 × 0.971 + × 0 8 8 = 0.607 (bit) となる. 4. 獲得情報量 G(Ai ,D) の計算 情報量の期待値 E(A身長 ,D) とデータ集合 D の情報量 I(D) との差である獲得情報量 G(A身長 ,D) を計算すると, G(A身長 ,D) = I(D) − E(A身長 ,D) = 0.954 − 0.951 = 0.003 (bit) となる.同様に,属性「髪の色」と「目の色」については G(A髪の色 ,D) = I(D) − E(A髪の色 ,D) = 0.954 − 0.5 = 0.454 (bit) G(A目の色 ,D) = I(D) − E(A目の色 ,D) = 0.954 − 0.607 = 0.347 (bit) となる. 第 2 章 プライバシー保護データマイニング 8 5. 獲得情報量 G(Ai ,D) が最大となる属性の選択 獲得情報量が最大となる属性をデータ集合 D のテスト属性として選択するので, 「髪 の色」が選択されることになる. これを各節点が同じクラスのデータになるまで繰り返して適用すると, 図 2.2 の決定 木が得られる.また, この決定木から表 2.2 のような 4 つのルールを得ることも可能で ある. 図 2.2: ID3 により生成された決定木 R1 R2 R3 R4 if if if if 髪の色 髪の色 髪の色 髪の色 is is is is 黒 赤 ブロンド and 目の色 is 青 ブロンド and 目の色 is 茶 then then then then 分類 分類 分類 分類 is is is is + − + − 表 2.2: 生成されたルール ID3 により決定木を生成するアルゴリズムは次のようになる. 1. すべての学習データを対応付けた節点 (ルート節点) を生成する. 2. 節点に対応付けられた学習データ集合 D がすべて同じ分類クラス Ck に属するなら ば,その節点を葉節点とし,分類クラス Ck をラベル付けする. 3. そうでなければ,その節点は葉節点ではないので,次の処理を行なう. (1) 各属性 Ai に対して,その属性値により D を部分集合に分割し,獲得情報量 G(Ai , D) を下の式で計算する. (2) 計算した獲得情報量が最大となる属性をこの節点のテスト属性 Amax とする. (3) テスト属性 Amax の各部分集合に対して,もとの節点と各部分集合の節点とを 結ぶ枝に,対応する属性値 amax,j をラベル付けする. 第 2 章 プライバシー保護データマイニング 9 (4) 作成したすべての節点に対して,step 2 から実行する. ここで,獲得情報量 G(Ai , D) は次の式で計算する. G(Ai ,D) = I(D) − E(Ai ,D) (2.2) ただし,DCk を分類クラスが Ck である D の部分集合とし,Daij を属性 Ai の値が aij で ある D の部分集合と表記する. I(D) = − n ∑ pk log2 pk k=1 pk = E(Ai ,D) = |Dck | |D| li ∑ (pij ·I(Dij )) j=1 pij = |Daij | |D| ここで,|D| は D の要素数である. (2) 相関ルール 相関ルールは次のように定式化することができる [11]. 全アイテムの集合を I = {i1 , i2 , ..., il }, I 6= ∅ とし, その部分集合をアイテム集合と呼ぶ. D を全トランザクショ ンの集合とする (トランザクションはレコードという意味である). ここで, 各トランザ クション T は I の部分集合である. X 6= ∅, Y 6= ∅ と X, Y ⊂ I でかつ X ∩ Y = ∅ を満 たすものを, 相関ルール X → Y と呼ぶ. アイテム集合 X の支持度 sup(X) とは, D 中 の X を含むトランザクションの割合であり, ルール X → Y の支持度 sup(X → Y ) は sup(X ∪ Y ) で, また確信度 conf (X → Y ) は sup(X∪Y ) sup(X) で定義される. 相関ルールの抽出は, 与えられた D の中から, 指定された最小確信度 (minconf ) と最 小支持度 (minsup) の 2 つのしきい値を上回るすべての相関ルールを抽出する. これは次 の 2 つの部分に分けられる. 1. 支持度が最小支持度 (minsup) 以上のアイテム集合をすべて発見する. 最小支持度 以上の支持度を持つアイテム集合を頻出アイテムと呼ぶ. 2. すべての頻出アイテム集合から最小確信度 (minconf ) 以上の確信度を持つルールを 第 2 章 プライバシー保護データマイニング 10 生成する. 大量のデータを対象としたときに, すべての相関ルールを現実的な時間で処理すること と可能にしたのが Apriori アルゴリズム [12] である. これは以降の研究の立脚点となった. (a) Apriori アルゴリズム 1994 年に R. Agrawal らは, Apriori アルゴリズムと呼ばれる高速な頻出アイテム集合 発見アルゴリズムを与えた [12]. このアルゴリズムでは, 第 1 段階で, F = {X 6= I|sup(X) > minsup} で定義される頻 出アイテム集合を網羅的に計算し, 第 2 段階で minconf 以上の確信度を持つルールを頻 出アイテム集合間から見つけ出す. 頻出アイテム集合の発見アルゴリズムは次のようになる. 1. データ集合を構成する 1 個のアイテムで, かつ, しきい値 minsup 以上の支持度を満 たすアイテムの集合を L1 とする. 2. 長さ k − 1 の集合 Lk−1 のアイテムから長さ k の全組合せ Ck を作成する. 3. c ∈ Ck のうち, その部分集合が Lk−1 に含まれないものを Ck から取り除く. 4. c ∈ Ck の支持度を計算する. 与えられたしきい値 minsup 以上の値のアイテムを取 り出し, 長さ k の集合 Lk を作成する. 5. 2 から 4 の手続きを, Lk が生成できなくなるまで繰り返す. Apriori アルゴリズムでは, 過去に見つけた頻出アイテム集合をすべて保存する必要が ある. これを大きく改善するアルゴリズムが FP-growth アルゴリズム [13] である. (b) FP-growth アルゴリズム 2000 年に Han らが提案した FP-growth(frequent pattern growth) アルゴリズム [13] は, 候補アイテム集合を生成せずに, 全ての頻出アイテム集合を抽出する. FP-growth は, FP-tree 構造と呼ばれる特殊なデータ構造を利用することにより, スキャン回数を減らす ことができる. FP-tree 構造においては, 頻出アイテムのみが頻出アイテム集合の抽出に使われる. 頻 出アイテムを発見するために, データベースを1回スキャンする必要がある. 抽出され た頻出アイテムを支持度の値により, 頻度が降順になるように並べ替える (このリストを F-list とする). そして, 空 (null) のラベルを持つ木のルートを作る (この木を T とする). 頻出 1-item から FP-tree 構造を構築するために, 2回目のスキャンが行われる. 2 回目の 第 2 章 プライバシー保護データマイニング 11 スキャンでは, 具体的には, 次の手順で FP-tree 構造を構築する. 各トランザクションに 対して, 1. トランザクションから頻出アイテムを抽出し, F-list に従ってソーティングを行う. 2. T が F-list の要素である子を持っていれば, その子のカウントを1増やす. そうで ないときは, 新しいカウント1を持つ子を作る. 3. F-list の最後の要素まで1, 2の操作を繰り返す. 全てのトランザクションで処理を終えたら, 同じ名前 (アイテム ID) を持つノードにリン クをつける. さらに, 各頻出アイテム ai に対して, 先頭の ai を指すヘッダテーブルを作 成する [14]. FP-growth アルゴリズムは, FP-tree 構造の次の2つの特徴を利用する. 1つ目は, ど んな頻出アイテム ai に対しても, 先頭の ai を示すヘッダテーブルから, ai のノードリン クをたどることにより, ai を含む生成可能な頻出パターンを全て得ることができるとい うことである. 2つ目は, パス P にあるノード ai を含む頻出パターンを数えるためには, パス P におけるノード ai の prefix-path を求めるだけでよく, prefix-path にあるノード のカウントはノード ai のカウントと等しいということである. (3) クラスタ分析 クラスタ分析 (cluster analysis)[15][16] は多変量解析 (multivariate analysis) の1つで あり,類似のデータをグループにまとめて分類を行う方法である. まず次のような記号をクラスタ分析の説明に用いる. • 分割すべき集合 X = {x1 , x2 , . . . , xn }. • データ xi は l 個の属性 A1 , A2 , . . . , Al に対して属性値 xi1 , xi2 , . . . , xili をもつ.これ をベクトルとみなし,xi = (xi1 , xi2 , . . . , xili ) と表すこともある. • X の部分集合 K1 , K2 , . . . , KN が X のクラスタとなる.ただし,K1 ∪K2 ∪· · ·∪KN = X かつ Kj ∩ Kk = ∅, j 6= k とする. このとき,クラスタ分析の目的は次のようになる. • データ x1 , x2 , . . . , xn をクラスタ K1 , K2 , . . . , KN のいずれかに属するように分類 する. 平面上のデータの例を図 2.3 に示す.これらのデータを 3 個のクラスタに分類した結 果を図 2.4 に示す. 第 2 章 プライバシー保護データマイニング 12 A2 O A1 図 2.3: 平面上の 14 個のデータ A2 K2 K3 K1 O A1 図 2.4: 14 個のデータに対する 3 個のクラスタ クラスタ分析では任意の 2 つのデータ x, y ∈ X との間に,その 2 つがどの程度関連し ているかを表す 2 つの数値が定義されている. • 類似度 (similarity): 2 つのデータの関連の大きさ (どれくらい似ているか) の度合 いであり,s(x, y) で表される. • 非類似度 (dissimilarity): 2 つのデータの関連の小ささ (どれくらい似ていないか) の度合いであり,d(x, y) で表される.距離 (distance) と呼ぶこともある. クラスタ分析は大きく階層的方法と非階層的方法の 2 つに分かれる.これら 2 つの方 法を順に述べる. 第 2 章 プライバシー保護データマイニング 13 (a) 階層的方法 階層的方法の一般的な手続きは次のようになる. 1. すべての個体を単一の要素からなる初期クラスタとみなす. 2. 類似度のもっとも大きい (非類似度の場合はもっとも小さい) クラスタの対を結合 (merge) してより大きいクラスタをつくる. 3. すべてのクラスタが結合され,全体が一つのクラスタとなれば終了する.そうで なければ,step 2 で結合されたクラスタと他のクラスタとの間の類似度を再計算 (update) して step 2 に戻る. 階層的方法の結果は樹形図 (dendrogram) で表現することができる.樹形図を用いるこ とで,各個体間の類似性を図示することが可能となる. 階層的方法の step 3 での再計算の方法はいくつか存在する. • 最短距離法 (single linkage method) d(Kp , Kq ) = min d(x, y) for all x ∈ Kp , y ∈ Kq • 最長距離法 (complete linkage method) d(Kp , Kq ) = max d(x, y) for all x ∈ Kp , y ∈ Kq • 群間平均法 (average linkage between the merged group) d(Kp , Kq ) = ∑ 1 d(x, y) |Kp ||Kq | x∈K ,y∈K p q ここで,|K| は集合 K の要素数を表す. • 群内平均法 (average linkage within the merged group) d(Kp , Kq ) = 1 |Kp ∪ Kq |(|Kp ∪ Kq | − 1) x∈K ∑ p ∪Kq ,y∈Kp ∪Kq ,x6=y • 重心法 (centroid method) d(Kp , Kq ) = ||M (Kp ) − M (Kq )|| d(x, y) 第 2 章 プライバシー保護データマイニング 14 ただし,||xi − xj || は xi と xj との距離で, 例えば, v u m u∑ ||xi − xj || = t (xik − xjk )2 k=1 であり,クラスタ K の重心 M (K) = (M1 (K), . . . , Mm (K)) は次のように定義され たクラスタ内データの各属性ごとの平均値 Mj (K) (j = 1, 2, . . . , m) から求める. Mj (K) = ∑ xij |K| x ∈K i • Ward 法 [17] 重心法と同様の方法で M (K) を計算し,さらに, E(K) = ∑ ||xi − M (K)||2 xi ∈K とおく.そして, ∆E(Ki , Kj ) = E(Ki ∪ Kj ) − E(Ki ) − E(Kj ) とおき,step 2 のときに,∆E が最小となるクラスタ Kp , Kq を併合する. 図 2.5 で示される類似度を持つデータに最短距離法と最長距離法とを用いて生成され た樹形図をそれぞれ図 2.6 と図 2.7 に示す. 1.0 x y 0.8 0.6 0.4 z 0.3 0.5 w 図 2.5: ネットワークとして与えられた 4 つのデータとそれらの間の類似度 第 2 章 プライバシー保護データマイニング 1.0 0.9 0.8 15 0.6 (similarity) x y z w 図 2.6: 最短距離法を用いて生成された樹形図 1.0 0.5 0.3 (similarity) x y z w 図 2.7: 最長距離法を用いて生成された樹形図 (b) 非階層的方法 非階層的方法では個体に最初の分割を行った後に,さらによい分割をするためにクラ スタ群を変化させる. 非階層的方法の一般的な手続きは次のようになる. 1. すべての個体を任意のクラスタに適当に割り当て,クラスタごとの中心を計算する. 2. すべての個体をそれぞれ最も近い中心に再割り当てし,新たなクラスタをつくる. そしてその新しい中心を計算する. 3. 中心が変化しなくなれば終了.そうでなければ step 2 に戻る. 非階層的方法での代表的なアルゴリズムは k 平均法クラスタリング手法 [18][19] である. k 平均法クラスタリング手法は項目を k 個のクラスタにグループ化する手法である. ア ルゴリズムは次の通りである. 1. k 個の中心 µ1 , · · · , µk を 0 に初期化する. 0 0 2. k 個の開始点 µ1 , · · · , µk を任意に選択する. 3. repeat 0 0 4. µ1 , · · · , µk に µ1 , · · · , µk をそれぞれ割り当てる. 5. for all 点 i do 6. すべての j の中で距離 d(i, µj ) が最小であれば点 i をクラスタ j に割り当てる. 第 2 章 プライバシー保護データマイニング 16 7. end for 8. 新しい平均 µ1 , · · · , µk を計算する. 0 0 0 0 9. until µ1 , · · · , µk と µ1 , · · · , µk の差が十分小さい. 各項目は最も近いクラスタに配置され, その後クラスタの中心がそのデータ配置に基づ いて調整される. これを位置が安定するまで繰り返す. 2.3 (1) プライバシー保護データマイニング プライバシーの定義 標準的な辞書によると, データに関連するプライバシーの定義としては, d 権限のない 侵害 (violation) からの自由 e となっている [20]. ほとんどのプライバシー法における共 通の標準は, プライバシーは d 個人が同定可能なデータ e に適用される場合だけである ということになっている. 侵害と個人が同定可能の組合せは, プライバシー保護データ マイニングの基準に導くもので, プライバシー保護データマイニング技術は, 開示情報に 対して次のことを保証しなければならない. 1. 個人へたどることができないこと. 2. 侵害を構成しないこと. これらの両項目に対する公式の定義は, 未解決の難題となっている. (2) プライバシーデータマイニングへのアプローチ データが分散管理されるのはプライバシー問題の解決に対して重要である. データ分 割とデータ分散モデルには基本的に 2 つのモデルが存在する. 水平分割 (別名, ホモジ ニアス分布) と垂直分割 (別名, ヘテロジニアス分布) である. データの水平分割では, 異 なったパーティが異なった実体の同じ種類の情報を収集する. 一方, データの垂直分割で は, 異なったパーティが同じ実体集合に対し, 異なった特定集合を収集する [2]. プライバシー保護データマイニングには, 主に 2 つのアプローチがある [2]. 1 つは, 個 人を同定できないようにデータを変更する方法で摂動 (perturbation) 技術 [3] と呼ばれ る. すなわち, 値が少し変更されたデータセットがデータマイニングアルゴリズムへの 入力として与えられる. 例えば, ある属性値が連続しているとすると, 単純な摂動方法と しては指定した確率分布を持ったノイズを付加することがある. X を実数値をとる属性 第 2 章 プライバシー保護データマイニング 17 とし, ある個人が X = {x } という属性値を持つとする. そして, r を平均 0 で分散 1 の正 規分布から生成された乱数値とする. x が開示される代わりに, x + r が公開される. 元 の値は変更されているが, 平均は元の値の平均とほとんど同じになる. もう 1 つのアプローチは安全なマルチパーティ計算方式 [4] で, 複数のパーティが協調 して有効な知識を得る方法である. これは, あえて複数のパーティで処理することによ り, それぞれが全体を見ないようにすることによりプライバシー保護を行なうものであ る. 一般的な方式は暗号化技術に基づいている. (3) 摂動に基づく研究 摂動に基づく技術では, オリジナルデータではなく変更を加えたデータを開示するこ とはプライバシーを保護する自然な方法である. 本研究は摂動に基づいていないので, ここでは簡単に紹介する. 文献 [21] ではデータに ランダムノイズを加えることによりプライバシー保護を考慮した決定木学習を行い, ノイ ズの影響をベイズ定理に従って取り除くアプローチを採用している. 文献 [22] では, マー ケットバスケットデータの相関ルールの抽出の場合に, プライバシー保護のために d サ イズ選択ランダム化方式 e という手法が提案されている. また, Oliveira と Zaiane は, ラ ンダム化ではなく変換に基づくクラスタリングを使用する方法を提案している [23][24]. (4) 安全なマルチパーティ計算方式に基づく研究 安全なマルチパーティ計算方式では, 一般にマルチパーティ計算と暗号学的な計算に よりプライバシーを保護したデータマイニングを実現する. (a) マルチパーティ計算 マルチパーティ計算の方法は, 複数のパーティに分散された情報を入力として, 各パー ティは協調して秘密計算を実行することである. このとき, パーティ間で計算と値の送受 信を行なう. 各パーティにおいては, 他から受信した値と自分が保有する分散情報を合 わせても, 元のデータに関する情報を得られないようになっている. したがって, 複数の マルチパーティ計算を組み合わせることより様々な演算を実現している [25]. マルチパーティ計算では, まず入力データを secret sharing scheme により分散処理す る. secret sharing scheme の基本原理 [26] は, 2 5 k 5 N を満たす整数 N, k について, 入 力データを符号化して N 個のデータ (各データをシェアと呼ぶ) を求め, k 個未満のシェ 第 2 章 プライバシー保護データマイニング 18 アからは入力データは分からないが, 任意の k 個のシェアが集まれば入力データを復元 できるというものである. 例えば, N = 3, k = 2 としたとき, 以下のように実現できる. 入力:2 以上の整数 m, 0 以上 m 未満の整数 a 出力:a のシェア アルゴリズム: 1. 0 以上 m 未満の整数 a0 , a1 をランダムに生成する. 2. a2 = a − a0 − a1 mod m を計算する. 3. (a0 , a1 ), (a1 , a2 ), (a2 , a0 ) を a のシェアとして出力 ここで, 3 つの整数の組からなる a のシェア (a0 , a1 ), (a1 , a2 ), (a2 , a0 ) について, 1 つのシェ アでは a を復元できないが, 2 つのシェアが揃えば, a = a0 + a1 + a2 mod m を復元でき る. そのため容易に 2 組揃えられないように, 各整数の組は別々のパーティが管理し, 各 パーティがそれぞれアクセス制御を行なう. 次に秘密計算について述べる. 秘密計算は独特の方法で算術演算を実現する. 図 2.8 は秘密計算で 2 つの整数値の加算を行なう例である. ここでは 2 つの整数値を先ほど説 明した secret sharing scheme により 3 つの整数の和で表現し, 3 つのシェアを生成する. 3 つのシェアを分散情報として各パーティに送信する. 各パーティでは, 2 つの整数値の シェアを受信して, 加算を行なって, 全体の加算のシェアを得る. そして, 3 つのパーティ のうちの 2 つパーティの全体の加算のシェアがあれば, 全体の加算の結果を得ることが できる. 90=40+32+18 90 2) (40,3 ) 38 , 1 ((1 32, 18) 21) (38, (1 8, 60 40 (21 ,11 ) 60=11+38+21 ) 40+11 Party1 32+38 32+38 Party2 18+21 40+11 32+38 18+21 18+21 Party3 40+11 図 2.8: マルチパーティ計算による加算の例 150 第 2 章 プライバシー保護データマイニング 19 (b) 暗号学的な計算 暗号学的な計算の方法では, 複数のパーティにデータマイニングを複数のプリミティ ブな分散計算に分解し, それぞれの計算を安全に実行するためのセキュリティプロトコ ルや暗号学的ツールを組み合わせることによって, 全体としてプライバシーを保護した データマイニングを実現する [27]. 次に暗号学に基づく安全な和計算を紹介する [2]. m 個のパーティを P1 , ..., Pm とし, 各パーティPk はプライベートな値 xk を持つとし, ∑m 安全な方法で和 S = k=1 xk を計算する. このとき, その和の範囲は分っているとする. すなわち, 和 S を F 以下の数とする. 少なくとも 3 つのパーティがあるとすると, 和の計 算は次のようになる. 1. P1 は乱数 R を F の一様乱数分布から生成する. 2. P1 は S1 = x1 + R mod F を計算し, それを P2 に送る. ∑ 3. P2 , ..., Pm−1 に対して, pk は Sk−1 = R + k−1 i=1 xi mod F を受け取って, Sk = Sk−1 + ∑k xk mod F = R + i=1 xi mod F を計算し, それを Pk+1 に送る. ∑ 4. Pm は Sm−1 = R + m−1 i=1 xi mod F を受け取って, Sm = Sm−1 + xm mod F = ∑m R + i=1 xi mod F を計算し, それを P1 に送る. ∑ 5. P1 は S = Sm − R mod F = m i=1 xi mod F を計算する. 図 2.9 はこの手法により, 4 つのパーティで安全な和計算を行う例である. この手法では, ∑k 各パーティPk は Sk = R + i=1 xi mod F をパーティPk+1 に送る. この値だけではデー タを復元できないので, プライバシーを保護することができる. 最後に P1 は Pm から Sm を受け取ったら, 全体の和を計算することができる. Party1 Party2 30+10 mod 60=40 R=30 10 16 15+5 mod 60 =20 40+16 mod 60 =56 20-R=-10 mod 60=50 Party4 5 Party3 56+19 mod 60=15 図 2.9: 安全な和計算の例 19 第 2 章 プライバシー保護データマイニング 20 以下に暗号学的な計算によりプライバシーを保護した手法の研究を紹介する. (i) プライバシーを保護した決定木学習 Lindell らによって提案された安全なマルチパーティ計算方式のもとでの暗号学的な計 算によるプライバシー保護決定木学習を紹介する [28]. この研究では, 2 つのパーティ間 のデータの水平分割を仮定する. クラス集合 C, 属性集合 R は公知である. 2 つのパーティA と B はそれぞれトランザ クション集合 T A および T B を保持している. プロトコル終了後, パーティA とパーティ B は, T = T A ∪ T B を用いて構築した決定木および |T A ∪ T B | を取得するが, それ以外の 情報は何も得ない. そして, 属性 Ai について, HC (T |A) は li li ∑ n ∑ ∑ 1 |T (aij , ck )| log(|T (aij , ck )|) + |T (aij )| log(|T (aij )|) HC (T |Ai ) = (− |T | j=1 j=1 k=1 と展開できる. 上記の設定ではトランザクションがパーティA とパーティB に分割され てお互いに不可視であるが, |T (aij )| = |T A (aij )| + |T B (aij )| ゆえ, すべての aij , ck につい て, (|T A (aij , ck )| + |T B (aij , ck )|) log(|T A (aij , ck )| + |T B (aij , ck )|) などを評価し, それらの 和を最大にする属性が決定できれば, トランザクションそのものを開示しなくとも情報 利得を最大にする属性を決定することができる [27]. プライバシーを保護した ID3 の構築では, 2 つの暗号学のツールであるランダムシェア と紛失多項式評価 (OPE) を利用して, 情報利得を最大化する属性を安全に決定する. (ii) プライバシーを保護した相関ルールの発見 Kantarcioglu と Clifton[29] によって提案されたプライバシーを保護した相関ルールの 発見についての手法を紹介する. この手法は FDM アルゴリズム [30] に基づき, 水平分割 データに対するプライバシー保護データマイニング手法である. トランザクションは k 個パーティのに分散されるので, 項目集合のグローバルな支持度 の値はすべてのローカルな支持度の値の和である. 従って, 項目集合 X のグローバルな 支持度の値が合計のトランザクションの大きさの s% よりも大きいとき, X はグローバル な支持度 (globally supported) という. ルール X ⇒ Y のグローバルな確信度は sup(X∪Y ) sup(X) により与えられる. 項目集合がグローバルに支持されているとき, その項目集合をグロー バルな頻出項目集合と呼ぶ. 分散相関ルールマイニングの目的は, ユーザにより指定さ 第 2 章 プライバシー保護データマイニング 21 れた最小支持度と最小確信度よりも高いグローバルな支持度とグローバルな確信度を持 つすべてのルールを見つけることである. FDM アルゴリズムは相関ルールを分散環境でマイニングするための高速な手法であ る. 概要は次のようになる [2]. 1. 大きさ p − 1 のグローバルな頻出項目集合と大きさ p − 1 のローカルな頻出項目集 合の積を取り, 候補集合を生成する. これらから, Apriori アルゴリズム [12] を使用 して大きさ p の候補項目集合を生成する. 2. ローカルな候補集合中の各 X に対して, ローカルなデータを探索して X のローカ ルな支持度を計算する. もし X がローカルに頻出であれば, X をローカルな頻出項 目集合リストに加える. 3. ローカルな頻出項目集合をすべてのパーティに配信する.ローカルな頻出項目集合 の和集合は可能なグローバルな頻出項目集合の上位集合である. (もし X がグロー バルに支持されているならば, 少なくとも 1 つのパーティで支持されていることは 明らかである.) 各パーティで Apriori アルゴリズムを使用してローカルな頻出項目 集合の和集合に含まれる項目の支持度を計算する. 4. 計算した支持度の値のすべてのパーティに送信する. これらから, 各パーティは大 きさ p のグローバルな頻出項目集合の計算する. FDM アルゴリズムは個々のトランザクションの開示を避けているが, 各パーティで支 持されるルールに関する重要の情報を漏洩する可能性がある. Kantarcioglu と Clifton のアルゴリズムは基本的には FDM アルゴリズム手法の修正で ある. 項目集合の交換ステップで, グローバルな候補集合を得るために安全に和を計算 するアルゴリズムを使用する. このステップの後, グローバルに支持される項目集合を 安全な和計算を行なうプロトコルを使用して容易に見つけることができる. 安全な計算 プロトコルの出力は実際の和である. しかし, 正確な支持度を知ることよりも, 本当に要 求されているのは, 単に支持度がしきい値を超えているかどうかを決定することである. 実際の和を公開することなくこれを実行するために, 安全和計算のアルゴリズムを少し ∑ ∑ 修正する. R + vi をパーティ1 に送信する代わりに, パーティk が R + vi ≥ R であ るかどうかを確かめるためにパーティ1 と安全な比較を実行する (MPC[31] を使用する). もしそうであれば, 支持度のしきい値を満たす. 頻出項目集合の確信度もこの方法を使 用して判定することができる. 第 2 章 プライバシー保護データマイニング 22 (c) プライバシーを保護した k 平均法クラスタリング手法 Vaidya と Clifton[32] は垂直分割されたデータ上のクラスタリングのための最初の手法 として, k 平均法クラスタリングを実行するプライバシー保護プロトコルを提案した. すべてのパーティがデータ点のクラスタへの最終的な割当てを知るが, 各クラスタは 部分的な情報しか知ることはできない. クラスタの中心 µi は準プライベート情報である と想定される. すなわち, 各パーティは所有する属性に対応する µ に関する情報しか知 ることができない. このため, 個人データの値だけではなく, パーティの属性に関するす べての情報についてプライバシーが保たれる. Vaidya と Clifton は, 前節の第 3 部分の (b) に示した k 平均法クラスタリング手法のア ルゴリズムをプライバシー保護が可能なようにしている. データは垂直分割されている ので, 各パーティは各クラスタの中心につてその一部をランダムに選択することができ る. 初期の割当てはローカルな割当てであり, 各パーティによって容易に実行できる. 各 パーティはローカルにすべて点がおおよそ最も近いクラスタに割り当てられれば, 新し い中心の計算が再び行なえる. アルゴリズム全体をプライバシー保護するために, 各点に 最も近いクラスタを計算する部分は安全に実行する必要がある. また, 停止条件として 平均の近似値の改善幅がしきい値以下であるかの判定も安全に実行する必要がある.[2]. この 2 つの部分は安全な比較 (MPC[31] を使用する) を用いて実現する. 2.4 おわりに 本章では, 決定木, 相関ルール発見, クラスタリング 3 つの代表的なデータマイニング 手法を簡単で説明した. また, プライバシー保護データマイニングの主な 2 つのアプロー チについて説明した. 23 第3章 量限定子を持つファジィルールの抽出 3.1 はじめに この章では, ファジィ集合とその演算, ファジィ推論, 主なファジィデータマイニング 手法およびファジィ量限定子について述べ, 文献 [5] に従って本研究の基として量限定子 を持つファジィルール抽出手法を示す. 3.2 ファジィ集合とその演算 ファジィ集合は, 1965 年にカリフォルニア大学の L.A.Zadeh 教授によって提唱された 概念で, 要素がある集合に属するか属さないかがはっきりと分からない場合に用いるこ とができる [33]. 人間が使う自然言語のほとんどは意味があいまいで, 例えば, 「若い」 という言葉についてどの人が若くて, どの人が若くないのか明確に判定するのは難しい. このようなあいまいな言葉を数学の分野で使われてきた集合の枠組で考えようとしても, 属するか属さないかという 2 値論理では表現できない. そこで, その集合に完全に属する ときを 1 , 完全に属さないときを 0 とし, 中間の値を 0 と 1 の間の数値で考えるように したものがファジィ集合である. ファジィ集合論では, 全体集合 U のあるファジィ集合 A を次のように定義する. µA : U → [0, 1] (3.1) µA は A のメンバーシップ関数と呼ばれる. いまファジィ集合として “背が高い” を 5cm 刻みの身長で考えると, 例えば, 次のよう 第 3 章 量限定子を持つファジィルールの抽出 24 に定義できる. 背が高い = {0.2/165, 0.5/170, 0.7/175, 0.9/180, 1/185, ...} これは 165cm の人が背が高い度合いが 0.2 で, 170cm の人が 0.5, 175cm の人が 0.7, 180cm の人が 0.9, 185cm 以上の人が 1 であり, それ以外の人 (165cm 未満の人) は 0 であること を表している. 一般的には全体集合 U におけるファジィ集合 A は次のように表記する. A = {µA (u1 )/u1 , µA (u2 )/u2 , · · · , µA (un )/un } = {µA (u)/u : u ∈ U } (3.2) ここで, ui は全体集合 U の要素で, µA (ui ) は ui ファジィ集合 A のメンバーシップ値, / は メンバーシップ値と要素を区切るための記号である. 要素が連続な場合は, 次のような標準関数が定義されている [33]. これらはその関数の 形状から S 関数, Π 関数, Z 関数と呼ばれている. 0 u≤a 2( u−a )2 a < u ≤ (a + b)/2 b−a S(u; a, b) = 1 − 2( u−b )2 (a + b)/2 < u ≤ b b−a 1 b<u u≤b S(u; a, b) Π(u; a, b, c, d) = 1 b<u≤c 1 − S(u; c, d) c < u Z(u; a, b) = 1 − S(u; a, b) (3.3) (3.4) (3.5) ファジィ集合においても通常の集合と同様に各種の演算が定義されている. 代表的な 演算について説明する. A, B を全体集合 U におけるファジィ集合とする. • 相等 2 つのファジィ集合が等しい (equal) とは, A = B と書き, 次のように定義される. A = B ⇔ µA (u) = µB (u), ∀u ∈ U • 包含関係 第 3 章 量限定子を持つファジィルールの抽出 25 ファジィ集合 A がファジィ集合 B に含まれる (contained), または A が B の部分集 合 (subset) であるとは, A ⊆ B と書き, 次のように定義される. A ⊆ B ⇔ µA (u) ≤ µB (u), ∀u ∈ U • 補集合 ファジィ集合 A の補集合 (complement) とは, Ā と書き, 次のように定義される. Ā = {1 − µA (u)/u : u ∈ U } • 共通集合 ファジィ集合 A, B の共通集合 (intersection) とは, A ∩ B と書き, 次のように定義さ れる. A ∩ B = {µA (u) ∧ µB (u)/u : u ∈ U } ここで, ∧ は min を表す. • 和集合 ファジィ集合 A, B の和集合 (union) とは, A ∪ B と書き, 次のように定義される. A ∪ B = {µA (u) ∨ µB (u)/u : u ∈ U } ここで, ∨ は max を表す. • 代数積 ファジィ集合 A, B の代数積 (algebraic product) とは, AB と書き, 次のように定義 される. AB = {µA (u) · µB (u)/u : u ∈ U } ここで, · は通常の乗算を表す. • 代数和 ファジィ集合 A, B の代数和 (algebraic sum) とは, A + B と書き, 次のように定義 される. A + B = {(µA (u) + µB (u) − µA (u) · µB (u))/u : u ∈ U } 第 3 章 量限定子を持つファジィルールの抽出 26 • 絶対差 ファジィ集合 A, B の絶対差 (absolute difference) とは, |A − B| と書き, 次のように 定義される. |A − B| = {|µA (u) − µB (u)|/u : u ∈ U } ここで, メンバーシップ値に対する |・| は通常の絶対値をとる演算を表す. • 限界和 ファジィ集合 A, B の限界和 (bounded-sum) とは, A ⊕ B と書き, 次のように定義さ れる. A ⊕ B = {1 ∧ (µA (u) + µB (u))/u : u ∈ U } • 限界差 ファジィ集合 A, B の限界差 (bounded-difference) とは, A B と書き, 次のように 定義される. A B = {0 ∨ (µA (u) − µB (u))/u : u ∈ U } • 限界積 ファジィ集合 A, B の限界積 (bounded-product) とは, A B と書き, 次のように定 義される. A B = {0 ∧ (µA (u) + µB (u) − 1)/u : u ∈ U } 3.3 ファジィ推論 通常の知識工学では二値論理的推論を行うが,ファジィ推論 [34] [35] では, 「背が高い」 のようなファジィ集合で定義された命題がルールの条件部に書かれている.そのため, 各ルールの適合度として,0 と 1 の間の値をとることができる.そして,各ルールの適合 度に応じて結論を統合し,推論結果を得ることができる.すなわち,ファジィ推論では, データがルールの条件部の命題と完全に一致しなくても結論を導くことができる. ファ ジィ集合を用いた場合,大局的なルールを記述することが可能なため,ルールが少数で すむことが多い.ファジィ推論はその性質から近似推論 (approximate reasoning) と呼ば 第 3 章 量限定子を持つファジィルールの抽出 27 れることもある. ファジィ推論を制御分野に用いる場合,結論部に実数を用いた簡略型ファジィ推論が 多く用いられている. 入力変数を xj (j = 1, 2, . . . , l),出力変数を yk (k = 1, 2, . . . , m) とすると簡略型ファジィ 推論の i 番目のルール Ri (i = 1, 2, . . . , n) は次のように表すことができる. Ri : if x1 is Fi1 & x2 is Fi2 & · · · & xl is Fil then y1 = wi1 , y2 = wi2 , . . . , ym = wim ここで,Fij は第 i 番目のルールの前件部の変数 xj に対するメンバシップ関数,wik は 第 i 番目のルールの後件部の変数 yk に対する実数値である. 次に簡略型ファジィ推論の代表的な方法として ×-×-+ 法と min-min-max 法について 述べる [36]. 前件部の変数 x = (x1 , x2 , . . . , xl ) の値が与えられると,各ルールとデータとの適合度 µi を次式で計算する. µi = l ∏ µFij (xj ) (3.6) j=1 ∏ ここで, は総積記号であり,µFij (xj ) は入力 xj に対するメンバシップ関数 Fij の値で ある.これを用いて,次式により変数 yk に対する推論結果を計算する. ∑n i=1 µi · wik yk = ∑ n i=1 µi 式 (3.6) で ∏ のかわりに min を,式 (3.7) で分子の (3.7) ∑ のかわりに max を用いると min-min-max 法となる. 3.4 ファジィデータマイニング 大量のデータからの知識抽出には, 離散属性だけでなく, 連続値属性をいかに扱うかが 重要な課題の 1 つである. 連続値属性をファジィ集合により分割し, それを用いてデータ マイニングを行なう方法が考えられる. 以下に前章で紹介した 3 つのデータマイニング 手法のファジィ集合に拡張した手法を紹介する. 第 3 章 量限定子を持つファジィルールの抽出 28 (1) ファジィID3 J.R.Quinlan が提案した ID3 では基本的に離散属性のデータをしか扱うことができな い. そこで, ID3 を拡張し, ファジィ集合を用いることにより, 連続値属性のデータを用 いることができるファジィID3 が提案されている [37]. ファジィID3 によるファジィ決定 木とは, 決定木のテスト節点からの枝にファジィ集合をラベル付けし, 葉節点をクラスと その確信度とすることにより, 確信度付きのファジィルールを表現することができる決 定木である. これにクラスの決まっていないデータを与えると, ファジィ集合との一致度 が正の枝を辿っていき, 葉節点ではルート節点から葉節点までの一致度と葉節点におけ る確信度を考慮して, クラスの確信度を決めることができる [37]. ここでは, l 個の属性 A1 , A2 , · · · , Al と分類クラス C を持つデータ集合 D を考える. ま た, 属性 Ai の属性値を Ai = {ai1 , ai2 , · · · , ail } とし, Daij を属性 Ai の値が aij である D の部分集合とする. ファジィID3 によりファジィ決定木を生成するアルゴリズムは次のようになる. 1. すべての学習データを対応付けた節点 (ルート節点) を生成する. 2. 節点に対応付けたデータ集合において, あるクラスの割合が全体の割合に対して一 定以上か, データの確信度の総和が一定数より小さいときか, テスト属性が存在し ないときか, すべての属性を使ったときに, この節点は葉節点となり, それぞれの分 類クラス Ck とその割合を, その節点にラベル付けする. このとき, 分類後のデータ の確信度は, 離散属性の場合には分類前の確信度の値とし, 連続属性の場合には分 類前の確信度の値とテスト属性の属性値が枝に付けられたファジィ集合に属する度 合いとの積とする. 3. そうでなければ,その節点は葉節点ではないので,次の処理を行なう. (1) 各属性 Ai に対して,その属性値 aij により分類した部分集合データ集合を生 成し, 獲得情報量 G(Ai , D) を下の式で計算する. (2) 各属性に対して, 計算した獲得情報量が最大となる属性をこの節点のテスト属 性 Amax とする. (3) テスト属性 Amax の各部分集合に対して,もとの節点と各部分集合の節点とを 結ぶ枝に,対応する属性値 amax,j をラベル付けする. (4) 作成したすべての節点に対して,step 3 から実行する. ここで,獲得情報量は次の式で計算する.このとき,DCk を分類クラスが Ck である D 第 3 章 量限定子を持つファジィルールの抽出 29 の部分集合とし,Daij を属性 Ai の値が aij である D の部分集合とする. G(Ai ,D) = I(D) − E(Ai ,D) (3.8) ただし, I(D) = − n ∑ pk log2 pk k=1 pk = E(Ai ,D) = |Dck | |D| li ∑ (pij ·I(Dij )) j=1 pij = |Daij | |D| ここで,|D| は D の要素数である. (2) ファジィ相関ルール 通常の相関ルールを抽出する手法では, 離散属性のデータに対して適用できる. 連続 値属性の場合には, 一般的な方法はファジィ集合により分割し, ファジィ相関ルールを抽 出する. 文献 [38][39][40] ではファジィ相関ルールの抽出についての手法が提案されてい る. 通常の Apriori アルゴリズムはファジィ集合を用いる場合にも同様に適用できる. 以 下にファジィ相関ルールの定義について紹介する. 連続値属性上にファジィ集合が事前に定義されていると仮定する. ファジィアイテム 集合 F を異なる属性上のファジィ集合の任意の数の組合せ集合とする. ファジィアイテ ム集合 F の支持度を次式で定義する. s(F ) = ∑ µF (xp )/m ここで, xp はトランザクションを表す. µF (xp ) はトランザクション xp に対するアイテム 集合 F の要素 (item) であるファジィ集合のメンバーシップ値の積とする. また, m はト ランザクションの総数である. ファジィ相関ルールの確信度 c を次の式で定義する. c(G ⇒ H) = s(G ∪ H)/s(G) 第 3 章 量限定子を持つファジィルールの抽出 30 ここで, G と H はファジィアイテム集合である. また, s(G) はファジィ相関ルールの支 持度である. ファジィ相関ルール抽出の基本的な考え方は, 最小支持度と最小確信度の 2 つのしき い値を設定しておき, これらのしきい値を上回る相関ルールを抽出するというものであ る. ここで, 支持度が最小支持度よりも大きいアイテム集合を頻出アイテム集合と呼ぶ. 頻出アイテム集合の抽出の重要なアルゴリズムとする Apriori アルゴリズムはファジィ アイテム集合の場合にも同様に適用できる. ただし, 同じ属性の複数のファジィ集合を含 む候補アイテム集合が生成されないように制約を追加する必要がある. (3) ファジィクラスタリング 従来のクラスタリング手法では, 各データがあるクラスに帰属するかどうかを {0,1} で 表現している. このクラスタリング手法を発展させ, データへの帰属を度合いで表現で きるように拡張したファジィクラスタリング手法が研究されている [41]. ファジィクラ スタリング手法で, 良く知られている手法はファジィC-means 平均法 [41] である. ファジィC-means 平均法のアルゴリズムは次のようになる. データ xj (j = 1, 2, ..., n) をクラスタ 1, 2, ..., i, ..., c のいずれかに属するように分類する. 1. 帰属度 (µij ) をランダムに初期化する. 2. 現在の帰属度 (µij ) を用いて, 各クラスタの中心 xi を次式で計算する. n ∑ xi = (µij )m xj j=1 n ∑ (µij )m j=1 3. 前ステップで計算した中心 xi を用いて, 要素 xj のクラスタ i への帰属度 (µij ) を次 式で更新する. c ∑ 2 ||xj − xj || m−1 ) µij = ( ( )−1 ||xj − xi || i=0 4. クラスタごとに中心を計算し直し, すべてのクラスタ中心が変化しなければ終了. そうでなければ 2 へ戻る. ただし, || · || はユークリッド距離であり, m は m > 1 を満たす適当なパラメータである. 第 3 章 量限定子を持つファジィルールの抽出 3.5 31 ファジィ量限定子 ファジィ量限定子とは, all, almost, most などの量限定子を割合におけるファジィ数と して扱うもので, 例えば, Most tall woman is young のような量限定命題を処理するもの である [33]. 量限定命題を一般的に記述すると, 次のように表される. Q AX are F ここで, Q はファジィ量限定子で, X は対象集合 {x1 , x2 , ..., x3 } で, A, F は X の属性にお けるファジィ集合である. 例えば, 量限定子 most のメンバーシップ関数は次のようにものとすると, µmost (u) = S(u; 0.4, 1.0) 図 3.1 のように割合上のファジィ集合となる. µ 1 most 0.5 0 0.2 0.4 0.6 0.8 u 図 3.1: most のメンバーシップ関数 1 第 3 章 量限定子を持つファジィルールの抽出 32 3.6 (1) 量限定子を持つファジィルールの抽出 ルールの抽出 データからファジィ量限定子で表現されたルールを抽出する方法はすでに提案されて いる [5]. データからユーザが各属性に対してあらかじめ定義したファジィ集合とファジィ 量限定子の組合せにより, 例えば次のようなルールを抽出している. More than about 50% of data {A1 = middle} are C2 ルールの抽出は, 図 3.2 のように, まず最初のデータ集合 D0 をすべての属性のすべて のファジィ集合 F11 , F12 , ..., F21 , F22 , ..., F31 , F32 , ..., Fij , ... で限定し (Fij は i 番目の属性の j 番目のファジィ集合), その中で評価値が最大となるものを選択し, ルールの候補とする. 図 3.2 では, F21 を用いて限定したデータ集合を選び (これを D1 としている), ルール候補と している. そして, D1 から先程選んだ属性 A2 のすべてのファジィ集合 F21 , F22 , ..., F2j , ... を除いたファジィ集合 F11 , F12 , ..., F31 , F32 , ..., Fij , ... を用いて限定し, 評価値が最大とな るものを選択し, ルール候補とする (選んだ属性のすべてのファジィ集合を除くのではな く, 選んだファジィ集合のみを除く方法も考えられる). これを終了条件を満すまで繰り 返す. ルール候補の中から評価値が最大となるものを選択し, ルールとする. D0 F11 F21 Fij D1 ルール候補 p1 data of {A2=F21} are CY F11 F31 Fij D2 p2 data of {A2=F21}{A3=F31} are CY F11 F41 Fij D3 p3 data of {A2=F21}{A3=F31}{A1=F11} are CY 評価値が最大となるものを選択 図 3.2: ルール抽出 各属性のファジィ集合が定義されていない場合は属性の最小値, 最大値を用いて図 3.3 のように最小値と最大値の中点を用いてファジィ集合を生成して用いるか (本論文では ファジィ集合生成法 A と呼ぶことにする), あるいは属性の最小値, 平均値, 最大値を用い て図 3.4 のようにファジィ集合を生成して用いる (本論文ではファジィ集合生成法 B と 第 3 章 量限定子を持つファジィルールの抽出 33 呼ぶことにする). µ 1 Fi3 Fi2 Fi1 0.5 0 min di min di max + di 2 max d di 図 3.3: ファジィ集合生成法 A µ 1 Fi2 Fi1 Fi3 0.5 0 min di avg di d max di 図 3.4: ファジィ集合生成法 B i 番目のルール候補の評価としては, 説明したいクラス (カテゴリデータの場合) ある いはファジィ集合 (数値データの場合) を CY としたとき, 次の 3 つの評価項目を用いて 求める. • CY の出現率 pi • CY のカバー率 ci • 限定するファジィ集合の数 L 第一の評価項目は, ファジィ集合の組合せにより限定されたデータ集合 Di 内に CY が 現れる割合である. これは次式で計算される. ∑ (µDi (d) × µCY (d)) i pi = d∈D∑ d∈Di µDi (d) (3.9) 第 3 章 量限定子を持つファジィルールの抽出 34 ここで, µDi (d) はデータ集合 Di のデータ d の確信度, µCY (d) はデータ d が説明したいク ラス CY と一致しているかどうか (0 または 1) あるいはファジィ集合 CY に対するメン バーシップ値である. 第二の評価項目は, 全データ D0 中の CY であるデータに対して, ファジィ集合の組合 せにより限定されたデータ集合 Di 内で CY であるデータの割合である. これは次の式で 計算される. ∑ ci = × µCY (d)) d∈D0 µCY (d) d∈Di (µDi (d) ∑ (3.10) 第一と第二の評価項目の値は, 大きい方が望ましく, 小さいものは有効でないと考えら れるので, ルール候補を抽出する条件として, CY の出現率 pi がしきい値 θp 以上かつ限定 前の出現率 pi−1 と比べて増加し, カバー率がしきい値 θc 以上としている. この条件を満 たさない場合には停止する [5]. 第三の評価項目は, ルールがユーザにとってわかりやすいかどうかを示す. 限定に使 用するファジィ集合が多いほどデータは厳密に分類されるが, ユーザに分かりやすく説 明することを目的とすると限定する条件が少ない方がよい. したがって, 限定に使用す るファジィ集合の数 L を次式 µ(L) を用いて評価する. 1 0.9 0.6 µ(L) = 0.4 0.2 0 L=1 L=2 L=3 (3.11) L=4 L=5 L≥6 そして, 上の 3 つの評価項目の重み付き和を用いて, i 番目のルール候補に対する評価 値 Ei を次のように定義する. Ei = w1 × pi + w2 × ci + w3 × µ(L) (3.12) ここで, w1 , w2 , w3 は各項目を考慮する重みで, w1 + w2 + w3 = 1 である. そして, この値が最大となるファジィ集合の組合せを次のような形のルール候補とする. pi data of {Ai1 = Fi1 j1 }{Ai2 = Fi2 j2 }... are CY 第 3 章 量限定子を持つファジィルールの抽出 35 重み w1 , w2 , w3 により, 評価値 Ei が変わるので, 重みによって選ばれるルール候補が変 わることがある. (2) ファジィ量限定子の決定 次にルールのファジィ量限定子を決定する. その際, 使用するファジィ量限定子は次の 2 つの評価項目により評価し, 決定する. • ファジィ量限定子の確信度 µq • ファジィ量限定子の評価 Eq 第一の評価項目 µq は, 使用するファジィ量限定子に対するデータ集合 Di における CY の出現率 pi のメンバーシップ値である. 第二の評価項目 Eq は, ファジィ量限定子自体に対する評価で, どのファジィ量限定子 が有効かを評価するものである. 図 3.5 の 4 つのファジィ量限定子の例では more than about 50% よりも most を, most よりも almost all を, almost all よりも all を使った方 が望ましい. 文献 [5] ではファジィ量限定子を定義するメンバーシップ関数のメンバー シップ値が 0.5 となる p の値を採用しており, 図 3.5 のファジィ量限定子 more than about 50% , most, almost all , all の Eq は, それぞれ, 0.5, 0.7, 0.85, 1 となる. この 2 つの評価 値の積が最大となるファジィ量限定子を用いてルールを表現する. 上のような方法を用いてファジィ集合の組合せおよび使用するファジィ量限定子を決 定したものが抽出されたルールとなる. そして, 最初に選択したファジィ集合を使用可 能なファジィ集合から除き, 次のルールを抽出することにより, 複数のルールを抽出する membership value [5]. 1 0.5 more than about 50% most almost all all 0 0 0.2 0.4 0.6 proportion(pi) 0.8 1 図 3.5: ファジィ量限定子のメンバーシップ関数 第 3 章 量限定子を持つファジィルールの抽出 36 3.7 おわりに 本章では, 本論文の必要な知識について簡単に説明した. また, 量限定子を持つファ ジィルールの抽出手法について文献 [5] を基にして述べた. 37 第4章 分散データからのファジィルールの抽出 4.1 はじめに 前章では, 従来の 1ヶ所にあるデータ集合からのルール抽出手法について述べた [5]. こ の章では, その手法を基にして, 同じ属性を持つ分散データから, 計算過程に必要な値だ けをネットワークを通して転送して, 分散データ全体としてのファジィルールを抽出す る手法について述べる. まず, 実験に用いるネットワーク環境に関する知識を述べる. 次 に, 分散データからのルール抽出手法について述べ, R.A.Fisher のアヤメデータと UCI の機械学習リポジトリのワインデータを用いて分析を行う. 最後に, 2 つルールの類似 度を提案し, それを用いて各分散データから抽出したルールとデータ全体から抽出した ルールを比較して, 各分散データにおける特徴を表現する. 4.2 TCP/IP ネットワーク 分散データからのルール抽出の実験に必要なものとして, TCP/IP ネットワークにつ いて述べる. ネットワークについての基本概念を説明し, アプリケーションをインター ネット環境で用いるためのソケットと呼ばれる仕組みの概要とその使用法について述べ る. また, ルール抽出の実験に用いられるスレッドを紹介する. (1) クライアントとサーバー アプリケーションからみると, TCP/IP(Transmission Control Protocol/Internet Pro- tocol) はデータを転送するための基本的な機構を提供している [42]. TCP/IP は, 二つの アプリケーションプログラムの間の通信を確立して, お互いデータをやりとりできるよ うにする. したがって, TCP/IP がサイト間のデータ通信機能を提供している (ピアツー ピア (peer-to-peer) またはエンドツーエンド (end-to-end) の通信と呼ばれる). 通信は対 第 4 章 分散データからのファジィルールの抽出 38 等で, もう一方のアプリケーションは同じマシン上で動いていてもよいし, 異なるマシン 上で動いていてもよい. TCP/IP は通信するアプリケーション間でどのようにデータが渡されるかを規定して おり, アプリケーションが, いつ, なぜ通信するかについては規定していない. また, 分散 環境でそのようなアプリケーションプログラムをどのように構成するべきかについても 規定していない. 実際には, クライアントサーバーパラダイム (client-server paradigm) と呼ばれる方法が支配的であり, ほとんどすべてのアプリケーションがこの方法を用い ている. クライアントサーバーパラダイムでは, プログラムがクライアントであるかサーバー であるかを区別するのに, 動作を開始するかどうかということを用いている. 一般に, 通 信を開始するアプリケーションはクライアント (client) と呼ばれる. 逆に, サーバーはク ライアントからの通信要求を待ち受けているアプリケーションである. サーバーはクラ イアントの要求を受け取り, 必要な計算を実行し, その結果をクライアントに返す. (2) ソケット 1980 年代の初めに, カリフォルニア大学バークレイ校 (University of California, Berkeley) の研究グループは, TCP/IP ソフトウェアを UNIX オペレーティングシステムに移 植した, そのときに, アプリケーションが通信するためのシステムコールとして, ソケッ ト API(socket API) あるいはソケットインタフェス (socket interface) が作成された. TCP を使うクライアントとサーバーによる呼出しの例を図 4.1 示す. クライアントは ソケットを生成し, connect を呼び出してサーバーと接続し, send(または write) を呼び 出して要求を送り, recv(または read) を呼び出して応答を受け取って通信を行う. close を呼び出して, コネクションを終える. サーバーは bind を使って, それが使うローカル のポートを指定し, listen を呼び出してコネクションの待ち行列の長さを設定し, ループ に入る. ループ内では, サーバーは accept を呼び出して次のコネクション要求が到着す るのを待ち, recv と send(あるいは read と write) を使ってクライアントと通信し, 最後 に close を使ってコネクションを終了する. そしてサーバーは accept に戻って次のコネ クションを待ち受ける. ソケットに関連するシステム関数をまとめたものが表 4.1 である. 第 4 章 分散データからのファジィルールの抽出 クライアント側 39 サーバー側 socket socket connect bind send listen recv accept close recv send close 図 4.1: ソケットの呼出しの例 表 4.1: ソケット関数とその意味のまとめ 関数名 socket connect send(write) recv(read) close bind listen accept recv(read) recvmsg recvfrom send(write) sendmsg sendto shutdown getpeername getsockopt setsockopt 意味 ネットワーク通信で使う記述子を生成する. 遠隔の相手 (クライアント) に接続する. TCP コネクションを通してデータを送る. TCP コネクションから入ってくるデータを受け取る. 通信を終了し, 記述子を解放する. ローカル IP アドレスとプロトコルポートをソケットに結合する. ソケットを受動モードにし, システムが待ち行列に入れる. 入ってくる TCP コネクションの数を設定する (サーバー). 次に入ってくるコネクションを受け付ける (サーバー). 次に入ってくる UDP データグラムを受け取る. 次に入ってくる UDP データグラムを受け取る (recv の変形). 次に入ってくるデータグラムを受け取り, その始点の 終点アドレスを記録する. 出てくる UDP データグラムを送る. 出てくる UDP データグラムを送る (send の変形). 出てくる UDP データグラムを送る. あらかじめ記録された終点 アドレス宛が普通. TCP コネクションを片方向または両方向とも終了する. コネクションが到着した後, 遠隔マシンの終点アドレスを ソケットから得る. 現在のソケットのオプションを得る. ソケットのオプションを変更する. 第 4 章 分散データからのファジィルールの抽出 40 (3) スレッド サーバーは複数のクライアントから要求があるので, サーバーは一度に複数の要求を 処理する必要がある. このようなサーバーがどのようにスレッドを使って要求を処理す るかを次に示す. システムが立ち上がるときに, 単一のスレッドが生成されるようにしておく (これをマ スタスレッドと呼ぶ). マスタスレッドはクライアントからの新しいコネクションの要求 の到着を待つ. クライアントからの新しいコネクションがあるとそれぞれに対してそれ を処理するために新しいスレッド (スレーブスレッドと呼ぶ) を生成し, スレーブスレッ ドがクライアントとのすべての通信を処理する. そして, スレーブスレッドはクライア ントとの応答を終えると終了する. スレッドの使い方の例は次のようになる. while(1){ ssock = accept(msock, (struct sockaddr *)&fsin, &alen); if(ssock < 0){ if(errno == EINTR) continue; errexit("accept: %s\n",strerror(errno)); } if(pthread_create(&th,&ta,(void * (*) (void *))TCPSocket,(void *)ssock) < 0) errexit("pthread_create: %s\n", strerror(errno)); } 主プログラムを実行するマスタスレッドが無限ループに入り, accept のところに, TCP コネクションの到着を待つ. コネクションがあると, マスタは pthread create を呼び出し て, それを処理するために新しいスレッドを生成する. マスタスレッドはループの処理 を続け, 次のコネクションを待つ. 新しい作られたスレッドは手続き TCPSocket を実行 する. 4.3 分散データからのルール抽出 各分散データは異なった PC(パーティ) により管理されている. プライバシーを考慮 しなければ, 各分散データを 1ヶ所に集めて, 3.6 節の手法を用いれば, データ全体のファ ジィルールを抽出できる. ここで提案する分散データからルールを抽出する手法は, す べてのデータを 1ヶ所に集めずに, 計算過程で必要な値だけをネットワークを通して転送 して, すべての分散データが存在する場所にルールを抽出するものである. 第 4 章 分散データからのファジィルールの抽出 41 まず, データを転送する場合について簡単に考察する. (1) 分散データ全体のルール抽出方法の検討 分散しているデータからデータ全体のルールを抽出するには, すべてのデータを 1ヶ所 に集めてから, ルールを抽出する方法が考えられる. どこでルールを抽出するかによっ て, 図 4.2 の (a) と (b) に分けることができる. (a) 分散データを持つ PC (以下, クライアントと呼ぶ) は自分のところのすべてのデータ をハブと呼ばれる特定の PC に送る. 実線の矢印がこれを表わしている. ハブはすべて (a) ハブにデータを送って、ハブでルールを 抽出する場合 (b) ハブを介してすべてのデータを送り合って、 クライアントでルールを抽出する場合 (b’) すべての必要なデータをクライアント間で、送り 合って、クライアントでルールを抽出する場合 図 4.2: 分散データ全体のルールを抽出する方法 第 4 章 分散データからのファジィルールの抽出 42 のデータを用いて, ルールを抽出し, これをすべてのクライアントに送り返す. 点線の矢 印がこれを表わしている. ハブにおいては各クライアントごとのルールを抽出できるの で, ハブでは各クライアントデータについてのルールとデータ全体についてのルールを 抽出することができるが, 各クライアントはデータ全体のルールをハブから送信しても らう必要がある. (b) 各クライアントは自分のデータをハブに送る. ハブはクライアントにそのクライア ント以外のデータを転送する. 各クライアントは送られたデータに自分のデータを付け 加えてから, ルールを抽出する. この方法では, 各クライアントはハブとだけ通信すれば よく, ルールを送信する必要はないが, ほぼ全データをクライアントの数だけ送信する必 要がある. また, (b0 ) のように, ハブを介さずにクライアント間で直接データを転送し合 う方法も考えられる. これらの方法は従来のプログラムをそのまま利用できるが, 全データをネットワーク を介して転送する必要があり, セキュリティとコストを考えると大きな問題がある. (2) 分散データ全体のルール抽出方法の提案 そこで, ルール抽出過程で必要となる値だけを通信し, 各クライアントにデータ全体の ルールを抽出する方法を提案する. この方法では, ハブは単なる送信の仲介だけではな く, 各クライアントから送られた値を基にして, データ全体の出現率やカバー率を計算 し, 評価値を求め, 属性を選択し, クライアントに送り返す. これにより, データ自身を転 送せずにクライアントでルールを抽出できるようになる. この方法ではハブにはどのク ライアントのデータも見えないし, 各クライアントは他のクライアントのデータも見え ないので, 多くのプライバシーのリスクを回避することができる. ネットワークの形は, (b) を採用することになる. また, 以下では図 5 でハブと呼んだものをサーバーと呼ぶこ とにする. (3) 分散データ全体に対する出現率 pi とカバー率 ci サーバーは分散したデータ全体の出現率 pi とカバー率 ci を算出する. i 個のファジィ 集合で限定された m 個のクライアントに分散したデータ集合を {Di1 , Di2 , ..., Dim } とする. ただし, 1 つのデータが 2 つ以上のクライアント上に存在することはないとする (同じ値 のデータは存在してもよい). このとき, データ全体 Di のクラス (またはファジィ集合)CY の出現率 pi は各データ集合 Dik (k = 1, 2, ..., m) に対する出現率 pki の計算式中の分母と 第 4 章 分散データからのファジィルールの抽出 43 分子から次のように計算できる. ∑ × µCY (d)) d∈Di µDi (d) d∈Di (µDi (d) ∑ pi = ∑m ∑ (µDk (d) × µCY (d)) k=1 ∑m ∑ i k=1 d∈Dk µDik (d) (4.1) d∈Dik = i ここで, µDik (d) は各データ集合 Dik のデータ d の確信度, µCY (d) は説明したい各データ のクラス CY に対するデータ d の一致度 (0 または 1) あるいはファジィ集合 CY に対する データ d のメンバーシップ値である. カバー率 ci も, 同様に各データ集合 Dik (k =1, 2, ..., m) に対するカバー率 cki の計算式 中の分母と分子により計算でき, 次のようになる. ∑ ci = × µCY (d)) d∈D0 µCY (d) d∈Di (µDi (d) ∑ ∑m ∑ = (µDk (d) × µCY (d)) k=1 ∑m ∑ i k=1 d∈Dk µCY (d) (4.2) d∈Dik 0 分母は p0 の分子と同じで, 分子は pi の分子と同じである. (4) 分散データ全体のルール抽出方法 分散したデータ全体からのルール候補抽出の例を図 4.3 に示す. 各クライアントは自 分のところにあるデータを用いながら, データ全体のルールを作成していく. ルールの 作成では図 3.2 のようにファジィ集合を決定していくが, このとき Di は自分のデータを 用い, どのファジィ集合で限定するかはサーバーの決定に従う. サーバーは各クライアン トから送られる数値を基にして式 3.12 の評価値を計算し, 評価値が最大のファジィ集合 を決定し, その結果 (ファジィ集合の番号) を各クライアントに送り返す. 各クライアン トは送られてきた結果により自分のデータを限定し, 次の探索を行い, 新しい数値をサー バーに送る. これを繰り返すことにより, 図 4.4 のように, 各クライアントにデータ全体 のルール候補を抽出することができる. 第 4 章 分散データからのファジィルールの抽出 44 クライアント1 D10 すべてのファジィ 集合それぞれに対 してp1の計算式中 での分母と分子の値 F11 F12 Fij クライアントm m D0 サーバー F11 F12 Fij 1 すべてのファジィ 集合それぞれに対 してp1の計算式中 での分母と分子の値 F11 F12 Fij クライアント1 D10 サーバーから 送られてくる ファジィ集合 によりデータ を限定する F11 F12 Fij D11 クライアントm Dm0 送られてくるファジィ 集合ごとの分母と分子 それぞれの和を求め 全体のp1とc1を算出し これより評価値E1を 求めE1が最も大きく なるファジィ集合の 番号とp1とc1を各 クライアントに送る サーバーから 送られてくる ファジィ集合 によりデータ を限定する F11 F12 Fij m 1 D m 図 4.3: ルール候補の抽出 クライアントk Dk0 F11 F12 Fij サーバー k D1 F21 F22 Fij piの計算式中での 分母と分子の値 クライアントk Dk0 F11 F12 Fij F21 F22 Fij 1 m 評価値Eiが最 も高いものを 選択する D1k F21 F22 Fij Dk2 F31 F32 Fij 送られてくる ファジィ集合 によりデータ を限定する F31 F32 Fij 1 m 終了 ルール抽出 図 4.4: ルール候補の決定過程 第 4 章 分散データからのファジィルールの抽出 (5) 45 分散データに対するファジィ集合 限定に用いるファジィ集合をユーザが与えている場合は, それを送信して共通に用いる ことができるが, データから作成する場合には, 分散データ全体の最小値と最大値が必要 となる (ファジィ集合の定義のしかたにもよる). そこで, 分散データ {D01 , D02 , D03 , ..., D0m } の各属性の最小値と最大値をサーバーに集め, 全体としての各属性の最小値と最大値を 算出する. それらをすべてのクライアントに送信する. そして, 各クライアントは同じ方 法により属性のファジィ集合を作成するので, すべてのクライアントで同じファジィ集 合を用いることができる. (6) 分散データ全体のルール抽出アルゴリズム n 個の属性をもつデータが m 個のクライアントに分散して存在し, 各クライアント k がもつデータ集合を D0k とし, データ全体の集まりを D0 とする. このとき, D0 = 0 D01 ∪ D02 ∪ ... ∪ D0m で, k 6= k 0 に対して D0k ∩ D0k = ∅ とする. 説明したいクラスあるい はファジィ集合を CY とし, すべての属性が持つすべてのファジィ集合の集合を F0 とす る. このとき, データ全体のルールを抽出するアルゴリズムは次のようになる. 1. 各クライアントは各属性の最小値と最大値をサーバーに送る. サーバーはその値に よって全体としての各属性の最小値と最大値を算出し, すべてのクライアントに送 り返す. 各クライアントはサーバーから送られた全体の最小値と最大値により各属 性のファジィ集合のパラメータを決定する. この通信量は数値 1 つ分の通信量を単 位として 4mn である. 2. 各クライアント k は p0 の分母 ak0 = ∑ d∈D0k µD0k (d) と分子 bk0 = ∑ d∈D0k µCY (d) を サーバーに送る. 式 4.2 でカバー率の分母は p0 の分子と同じであるので, サーバー ∑m ∑ はその和 b0 = k=1 bk0 を計算し, 記憶しておく. i = 1 とする. この通信量は 2m である. k を集合 Fi−1 に含まれるすべてのファジィ集合 3. 各クライアントはデータ集合 Di−1 ∑ により限定して, Dik を求め, 式 4.1 の分母と分子の一部 aki = d∈Dik µDik (d) と ∑ k bi = d∈Dk (µDik (d) × µCY (d)) を計算し, サーバーに送る. これらの和がそれぞれ i 式 4.1 のデータ全体の出現率 pi の分母と分子である. また, 式 4.2 のデータ全体の カバー率の分母は p0 の分子と同じで, 分子は pi の分子と同じである. この通信量は 2m|Fi−1 | である. |Fi−1 | は集合 Fi−1 の要素数を表わす. 4. サーバーは各クライアントから送られるファジィ集合ごとの分母 aki と分子 bki に対 第 4 章 分散データからのファジィルールの抽出 46 してそれぞれの和 ai と bi を求める. これらを用いて, ファジィ集合ごとのデータ全 体としての出現率 pi = bi /ai とカバー率 ci = bi /b0 を算出し, 評価値 Ei を計算する (限定するファジィ集合の数 L は分っている). そして, 条件 (出現率 pi がしきい値 θp 以上で, pi−1 と比べて増加し, カバー率 ci がしきい値 θc 以上) を満たすファジィ集 合のうちで, 評価値が最も高いものを見つける. 最後に, そのファジィ集合の番号, 出現率 pi とカバー率 ci をすべてのクライアントに送り返す (通信量は 3m である). 条件を満たすものがなければ, 各クライアントに探索が終了したことを知らせる. 5. 各クライアントはサーバーから送られた評価値が最も大きい番号のファジィ集合を 用いて, 自分のデータを限定する. 限定に使用するファジィ集合と同じ属性のすべ てのファジィ集合を集合 Fi−1 から除き, これを Fi とする. 出現率 pi とカバー率 ci は, ルール生成のために, 保存しておき, i を 1 増やして 3 へ戻る. また, 探索が終了 した場合には, ファジィ集合の番号, 出現率 pi とカバー率 ci を用いてルールを生成 する. 以上は全体のルールを一つ抽出するアルゴリズムである. 複数のルールを抽出には, 最初に選択したファジィ集合を使用可能なファジィ集合 F0 から除き, 次のルールを抽出 する. 全体としての通信量は, アルゴリズムの 3 と 4 を n0 回実行すると, 4mn +2m+2m ∑n0 i=1 0 |Fi−1 | + 3mn となる. このとき, 属性ごとのファジィ集合の数を nf として, |Fi | は最初 が n × nf で, ループを回るごとに nf ずつ減っていく. また, n0 はルールの限定するファ ジィ集合の数になるが, 分かりやすいルールを得るために, 式 3.11 のように設定してい ると, 式 3.12 の w3 にも依存するが, 最大でも 3 くらいである (分かりやすさを無視して, 式 3.12 の w3 を 0 にしても最大 n である). したがって, 通信量はデータ数には依存せず, 一般的には, データ数よりもずっと小さい値になる (各クライアントの処理はデータ数に 依存する). 提案する分散データから全体としてのファジィルールを抽出する手法は 2.3 節の第 4 部分での安全な和計算方法を用いることも可能である. ただし, その場合はクライアン ト間が通信を行うことができるようにし, クライアントのどれかがサーバーの働きも兼 ねる必要がある. 今回提案する手法では出現率の分母と分子の値だけを送信され, デー タについての情報はサーバーにも他のクライアントにも知られないので, 十分安全であ ると考えられる. どちらの方法がより安全かはさらに詳細な議論が必要である. 第 4 章 分散データからのファジィルールの抽出 4.4 47 アヤメのデータにおける数値例 ここでは, R.A.Fisher のアヤメのデータを用いて数値実験を行う. このデータは, 3 種 類のアヤメ, iris setosa, iris versicolor, iris virginica について, がくの長さ (sepal length), がくの幅 (sepal width), 花弁の長さ (petal length), 花弁の幅 (petal wideth) の 4 種類の 特徴量を計測したもので, 各種類 50 個ずつ, 合計 150 個のデータが存在する. その一部 を表 4.2 に示す. まず, アヤメのデータを表 4.3 に示しているデータ数で, 三つに分散させる. 各クライ アントは同じ属性を持っている. クライアント 1 は全体をとして, 35 個しかデータがな く, versicolor が多く, クライアント 2 は全体として 50 個で, virginica が多く, クライア ント 3 は 65 個で, setosa が多い. データを付録 A に載せる (すべてのデータを合わせる と, アヤメデータ全体となる). 各クライアントは自分自身のデータから 3.6 節で述べた ファジィルールの抽出手法を用いて局所的なルールを抽出することができる. また, 4.3 節で述べたルール抽出手法でデータ全体のルールを抽出することができる. パラメータ θP = 0.5, θC = 0.5, w1 = 0.4, w2 = 0.2, w3 = 0.4 とした. しきい値 θp と θc は生成され るルール数に関係しているが, 予備実験を基にして適切なルール数になるように定めた. ファジィ集合の生成法として図 3.3 のファジィ集合生成法 A を用いる. 以下にデータ全体 から抽出したルールと各クライアントのデータから抽出したルールを示す. なお, 図 3.4 のファジィ集合生成法 B を用いた結果は付録 B に載せる. 表 4.2: R.A.Fisher のアヤメのデータ(一部抜粋) sepal length sepal width petal length petal width 5.1 4.9 7.0 6.9 7.1 … 3.5 3.0 3.2 3.1 3.0 … 1.4 1.4 4.7 4.9 5.9 … 0.2 0.2 1.4 1.5 2.1 … 表 4.3: 分散データ setosa versicolor virginica Total client1 5 20 10 35 client2 5 15 30 50 client3 40 15 10 65 category setosa setosa versicolor versicolor virginica … 第 4 章 分散データからのファジィルールの抽出 48 (1) データ全体から抽出したルール 各クライアントは 4.3 節で述べた方法により自分自身のデータを他のクライアントに 転送せずに, 必要な値だけを転送して, データ全体のファジィルールを抽出することがで きる. この結果は各クライアントのデータを 1ヶ所に集めてから, 抽出した結果と同じに なる. このように, 本手法はプライバシーを保護しながら, データマイニングが可能な手 法である. ここでは, クライアント 1 のものを示す (最初の 4 行はクライアント 1 のデー タに関するものなので, クライアントにより異なる). (a) class に関するルール Number_of_data: 35 setosa: 5 versicolor: 20 virginica: 10 Total_of_setosa: 50 Total_of_versicolor: 50 Total_of_virginica: 50 Total_of_data: 150 1. Almost all data of {Petal_Length = small} are {class = setosa} (Cf 1) (P 0.98861) (C 0.94415) 2. Almost all data of {Petal_Width = small} are {class = setosa} (Cf 1) (P 0.97727) (C 0.95528) 3. Most data of {Sepal_Length = small} are {class = setosa} (Cf 0.906299) (P 0.81342) (C 0.64802) -----------------------------------------------------------------------------4. More than about 50% data of {Petal_Width = middle} are {class = versicolor} (Cf 1) (P 0.69532) (C 0.94583) 5. More than about 50% data of {Petal_Length = middle} are {class = versicolor} (Cf 0.999801) (P 0.64701) (C 0.92818) -----------------------------------------------------------------------------6. Almost all data of {Petal_Width = large} are {class = virginica} (Cf 1) (P 0.95176) (C 0.63028) 7. Almost all data of {Petal_Length = large} are {class = virginica} (Cf 0.875849) (P 0.90017) (C 0.54945) 抽出された 7 個のルールのうち 6 個は属性 Petal Length(花弁の長さ) と Petal Width(花 弁の幅) によって説明されており, Sepal Length(がくの長さ) については 1 つのルールで 使われただけとなった. Sepal Width(がくの幅) との関連性が低いと考えられる. 属性 class は Petal Length(花弁の長さ) と Petal Width(花弁の幅) により説明されているので, これらの属性との関連性が大きいことがわかる. 第 4 章 分散データからのファジィルールの抽出 49 (b) Sepal Length(がくの長さ) に関するルール Number_of_data: 35 setosa: 5 versicolor: 20 virginica: 10 Total_of_setosa: 50 Total_of_versicolor: 50 Total_of_virginica: 50 Total_of_data: 150 1. More than about 50% data of {class = setosa} are {Sepal_Length = small} (Cf 0.999913) (P 0.64802) (C 0.81342) 2. More than about 50% data of {Petal_Width = small} are {Sepal_Length = small} (Cf 0.99935) (P 0.64459) (C 0.7909) 3. More than about 50% data of {Petal_Length = small} are {Sepal_Length = small} (Cf 0.999977) (P 0.64899) (C 0.778) -----------------------------------------------------------------------------4. Most data of {Petal_Length = middle} are {Sepal_Length = middle} (Cf 0.905561) (P 0.81308) (C 0.62178) 5. Most data of {Petal_Width = middle} are {Sepal_Length = middle} (Cf 0.853362) (P 0.79169) (C 0.57407) ------------------------------------------------------------------------------ 抽出された 5 個のルールは属性 class, Petal Length, Petal Width によって説明されてい る. Sepal Length が小さいものは Petal Length や Petal Width が小さく, Sepal Length が中ぐらいのものは Petal Length や Petal Width が中ぐらいとなる. Sepal Length は Sepal Width との関連性が低いことがわかる. (c) Sepal Width(がくの幅) に関するルール Number_of_data: 35 setosa: 5 versicolor: 20 virginica: 10 Total_of_setosa: 50 Total_of_versicolor: 50 Total_of_virginica: 50 Total_of_data: 150 ----------------------------------------------------------------------------------------------------------------------------------------------------------- これより Sepal Width は他の属性との関連性がほとんどないと考えられる. 第 4 章 分散データからのファジィルールの抽出 50 (d) Petal Length(花弁の長さ) に関するルール Number_of_data: 35 setosa: 5 versicolor: 20 virginica: 10 Total_of_setosa: 50 Total_of_versicolor: 50 Total_of_virginica: 50 Total_of_data: 150 1. Almost all data of {class = setosa} are {Petal_Length = small} (Cf 0.998289) (P 0.94415) (C 0.98861) 2. Almost all data of {Petal_Width = small} are {Petal_Length = small} (Cf 0.967513) (P 0.92451) (C 0.94626) 3. Most data of {Sepal_Length = small} are {Petal_Length = small} (Cf 0.81395) (P 0.778) (C 0.64899) -----------------------------------------------------------------------------4. Almost all data of {class = versicolor} are {Petal_Length = middle} (Cf 0.976194) (P 0.92818) (C 0.64701) 5. Most data of {Petal_Width = middle} are {Petal_Length = middle} (Cf 0.852059) (P 0.79121) (C 0.75024) 6. More than about 50% data of {Sepal_Length = middle} are {Petal_Length = middle} (Cf 0.982315) (P 0.62179) (C 0.81308) -----------------------------------------------------------------------------7. More than about 50% data of {class = virginica} are {Petal_Length = large} (Cf 0.775327) (P 0.54945) (C 0.90017) 8. More than about 50% data of {Petal_Width = large} are {Petal_Length = large} (Cf 0.858701) (P 0.57026) (C 0.61869) 抽出された 8 個のルールの結果により Petal Length は属性 class と Petal Width との 関連性が大きい. また, Sepal Length との関連性があることがわかる. (e) Petal Width(花弁の幅) に関するルール Number_of_data: 35 setosa: 5 versicolor: 20 virginica: 10 Total_of_setosa: 50 Total_of_versicolor: 50 Total_of_virginica: 50 Total_of_data: 150 1. Almost all data of are {Petal_Width 2. Almost all data of are {Petal_Width {class = setosa} = small} (Cf 1) (P 0.95528) (C 0.97727) {Petal_Length = small} = small} (Cf 0.999301) (P 0.94626) (C 0.92451) 第 4 章 分散データからのファジィルールの抽出 51 3. Most data of {Sepal_Length = small} are {Petal_Width = small} (Cf 0.851215) (P 0.7909) (C 0.64459) -----------------------------------------------------------------------------4. Almost all data of {class = versicolor} are {Petal_Width = middle} (Cf 0.999131) (P 0.94583) (C 0.69532) 5. Most data of {Petal_Length = middle} are {Petal_Width = middle} (Cf 0.719649) (P 0.75024) (C 0.79121) 6. More than about 50% data of {Sepal_Length = middle} are {Petal_Width = middle} (Cf 0.871881) (P 0.57407) (C 0.79169) -----------------------------------------------------------------------------7. More than about 50% data of {class = virginica} are {Petal_Width = large} (Cf 0.991358) (P 0.63028) (C 0.95176) 8. More than about 50% data of {Petal_Length = large} are {Petal_Width = large} (Cf 0.978215) (P 0.61869) (C 0.57026) 抽出された 8 個のルールの結果により属性 Petal Width は Petal Length と class との 関連性が大きい. また, Sepal Length との関連性があることがわかる. (2) クライアントが持っているデータから抽出したルール 各クライアントは自分のデータだけを用いてファジィルールを抽出することができる. クライアントはデータの一部しか持っていないので, 一般的にはデータ全体から抽出し たルールと異なるルールを抽出する. ここでは, クライアント 1 についてのみを示す. ク ライアント 2 と 3 で得られたルールについては付録 C を参照されたい. (a) class に関するルール Number_of_data: setosa: 5 versicolor: 20 virginica: 10 35 1. Almost all data of {Petal_Length = small} are {class = setosa} (Cf 1) (P 0.95874) (C 0.99601) 2. Most data of {Petal_Width = small} are {class = setosa} (Cf 0.974236) (P 0.8546) (C 1) 3. Almost all data of {Sepal_Length = small}{Sepal_Width = large} are {class = setosa} (Cf 1) (P 0.98459) (C 0.50061) -----------------------------------------------------------------------------4. Most data of {Petal_Length = middle} are {class = versicolor} (Cf 0.994146) (P 0.87836) (C 0.91897) 5. Most data of {Petal_Width = middle} are {class = versicolor} (Cf 0.925348) (P 0.82272) (C 0.94178) 6. More than about 50% data of {Sepal_Length = middle} are {class = versicolor} (Cf 1) (P 0.7263) (C 0.71178) 第 4 章 分散データからのファジィルールの抽出 52 7. More than about 50% data of {Sepal_Width = middle} are {class = versicolor} (Cf 0.897758) (P 0.58217) (C 0.65312) -----------------------------------------------------------------------------8. Almost all data of {Petal_Width = large} are {class = virginica} (Cf 0.999999) (P 0.94983) (C 0.59414) 9. Most data of {Petal_Length = large} are {class = virginica} (Cf 0.957456) (P 0.84166) (C 0.74745) この結果は属性 class に関するデータ全体のルールと比べて, 属性 class が setosa のと きは Sepal Width との関係がより深く, versicolor のときは Sepal Length と Sepal Width との関係がより深いことがわかる. (b) Sepal Length(がくの長さ) に関するルール Number_of_data: setosa: 5 versicolor: 20 virginica: 10 35 1. Almost all data of {Petal_Length = small} are {Sepal_Length = small} (Cf 0.894935) (P 0.90416) (C 0.50731) 2. Most data of {Petal_Width = small} are {Sepal_Length = small} (Cf 0.955389) (P 0.84026) (C 0.53102) -----------------------------------------------------------------------------3. More than about 50% data of {class = versicolor} are {Sepal_Length = middle} (Cf 1) (P 0.71178) (C 0.7263) 4. More than about 50% data of {Petal_Width = middle} are {Sepal_Length = middle} (Cf 1) (P 0.67345) (C 0.78664) 5. More than about 50% data of {Petal_Length = middle} are {Sepal_Length = middle} (Cf 1) (P 0.69252) (C 0.73933) 6. More than about 50% data of {Sepal_Width = middle} are {Sepal_Length = middle} (Cf 0.937554) (P 0.59699) (C 0.68342) -----------------------------------------------------------------------------7. More than about 50% data of {Petal_Length = large}{class = virginica} are {Sepal_Length = large} (Cf 0.552416) (P 0.50808) (C 0.61829) この結果は Sepal Length に関するデータ全体のルールと比べて, Sepal Length が小さ いものについてのルールは 1 つ減少し, Sepal Length が中ぐらいものについてのルール は 2 つ増え, Sepal Length が大きいものについてのルールは 1 つ増えた. すなわち, この データでは, Sepal Length が小さいものは属性 class との関係がより低く, Sepal Length が中ぐらいものは属性 class と Sepal Width との関係がより深く, Sepal Length が大きい ものは属性 class と Petal Length との関係がより深いことがわかる. 第 4 章 分散データからのファジィルールの抽出 53 (c) Sepal Width(がくの幅) に関するルール Number_of_data: setosa: 5 versicolor: 20 virginica: 10 35 -----------------------------------------------------------------------------1. More than about 50% data of {Petal_Width = middle} are {Sepal_Width = middle} (Cf 1) (P 0.69912) (C 0.71335) 2. More than about 50% data of {Sepal_Length = middle} are {Sepal_Width = middle} (Cf 1) (P 0.68342) (C 0.59699) 3. More than about 50% data of {Petal_Length = middle} are {Sepal_Width = middle} (Cf 1) (P 0.66906) (C 0.62396) 4. More than about 50% data of {class = versicolor} are {Sepal_Width = middle} (Cf 1) (P 0.65312) (C 0.58217) ------------------------------------------------------------------------------ この結果は Sepal Width に関するデータ全体のルールと比べて, Sepal Width が中ぐ らいものは他の属性との関連性があることがわかる. (d) Petal Length(花弁の長さ) に関するルール Number_of_data: setosa: 5 versicolor: 20 virginica: 10 35 1. Almost all data of {class = setosa} are {Petal_Length = small} (Cf 1) (P 0.99601) (C 0.95874) 2. Most data of {Petal_Width = small} are {Petal_Length = small} (Cf 0.976748) (P 0.85687) (C 0.96513) 3. More than about 50% data of {Sepal_Length = small} are {Petal_Length = small} (Cf 0.547546) (P 0.50731) (C 0.90416) -----------------------------------------------------------------------------4. Almost all data of {class = versicolor} are {Petal_Length = middle} (Cf 0.951857) (P 0.91897) (C 0.87836) 5. Most data of {Petal_Width = middle} are {Petal_Length = middle} (Cf 0.91992) (P 0.81996) (C 0.89713) 6. More than about 50% data of {Sepal_Length = middle} are {Petal_Length = middle} (Cf 1) (P 0.73933) (C 0.69252) 7. More than about 50% data of {Sepal_Width = middle} are {Petal_Length = middle} (Cf 0.984932) (P 0.62396) (C 0.66906) -----------------------------------------------------------------------------8. More than about 50% data of {class = virginica} are {Petal_Length = large} (Cf 1) (P 0.74745) (C 0.84166) 9. Most data of {Petal_Width = large} are {Petal_Length = large} (Cf 0.847123) (P 0.78941) (C 0.55602) 第 4 章 分散データからのファジィルールの抽出 54 この結果は Petal Length に関するデータ全体のルールと比べて, Petal Length が中ぐ らいものは属性 Sepal Width との関係がより深いことがわかる. (e) Petal Width(花弁の幅) に関するルール Number_of_data: setosa: 5 versicolor: 20 virginica: 10 35 1. All data of {class = setosa} are {Petal_Width = small} (Cf 1) (P 1) (C 0.8546) 2. Almost all data of {Petal_Length = small} are {Petal_Width = small} (Cf 1) (P 0.96513) (C 0.85687) 3. More than about 50% data of {Sepal_Length = small} are {Petal_Width = small} (Cf 0.685417) (P 0.53102) (C 0.84026) -----------------------------------------------------------------------------4. Almost all data of {class = versicolor} are {Petal_Width = middle} (Cf 0.996622) (P 0.94178) (C 0.82272) 5. Almost all data of {Petal_Length = middle} are {Petal_Width = middle} (Cf 0.860238) (P 0.89713) (C 0.81996) 6. Most data of {Sepal_Length = middle} are {Petal_Width = middle} (Cf 0.839369) (P 0.78664) (C 0.67345) 7. More than about 50% data of {Sepal_Width = middle} are {Petal_Width = middle} (Cf 1) (P 0.71335) (C 0.69912) -----------------------------------------------------------------------------8. More than about 50% data of {class = virginica} are {Petal_Width = large} (Cf 0.930659) (P 0.59414) (C 0.94983) 9. More than about 50% data of {Petal_Length = large} are {Petal_Width = large} (Cf 0.803728) (P 0.55602) (C 0.78941) この結果は Petal Width に関するデータ全体のルールと比べて, Petal Width が中ぐら いものは Sepal Width との関係がより深いことがわかる. 4.5 ワインデータへの適用 ワインデータ [7] を用いて数値実験を行う. このデータは,3 種類のワインについて 13 種類の属性値を測定したもので,178 個のデータがある. まず, ワインデータを表 4.4 に示すようなデータ数で, 3 つのクライアントに分ける. 各分散データの属性は同じで, データの重複はない. クライアント 1 はデータ数が 69 個 で C1 が多く, クライアント 2 は 60 個で C2 が多く, クライアント 3 は 49 個で C3 が多い 第 4 章 分散データからのファジィルールの抽出 55 (今回は, データ数やクラスを適当に分けた). 表 4.4: 分散データ C1 C2 C3 Total client1 40 21 8 69 client2 10 40 10 60 client3 9 10 30 49 4.3 節の分散データからのルール抽出手法を用いて各クライアントでデータ全体のファ ジィルールを抽出する (これは 1ヶ所ですべてのデータを対象にするのと同じ結果が得られ る). 属性に対するファジィ集合を自動的に生成し, パラメータは θp = 0.7, θc = 0.5, w1 = 0.5, w2 = 0.2, w3 = 0.3 とした. しきい値 θp と θc は生成されるルール数に関係している が, 予備実験を基にしてルール数が適切な数になるように定めた. また, 重み w1 , w2 , w3 については, 出現率が一番重要であるので, 出現率の重み w1 を 0.5 にした. 以下に第 3 章 の図 3.3 のファジィ集合生成法 A を用いて実験を行なった結果での class に関するルー ルを示す. 図 3.4 のファジィ集合生成法 B を用いた結果での class に関するルールは付録 D に載せる. データ全体の class に関するルールは次のようになった. 1. More than about 50% data of {A_07 = middle}{A_10 = middle} are {class = C1} (Cf 1) (P 0.74043) (C 0.69182) -----------------------------------------------------------------------------2. Almost all data of {A_10 = small}{A_13 = small} are {class = C2} (Cf 0.950984) (P 0.91869) (C 0.55186) 3. Almost all data of {A_13 = small}{A_07 = middle} are {class = C2} (Cf 0.836122) (P 0.89275) (C 0.52268) -----------------------------------------------------------------------------4. Most data of {A_12 = small} are {class = C3} (Cf 0.975745) (P 0.85595) (C 0.7602) 5. Almost all data of {A_07 = small}{A_11 = small} are {class = C3} (Cf 0.997571) (P 0.94303) (C 0.65136) 6. More than about 50% data of {A_11 = small} are {class = C3} (Cf 1) (P 0.73919) (C 0.7321) この結果は分散データを 1ヶ所に集めてから, 抽出した結果と同じになる. ここでは, class に関するルールだけを示したが, 他の属性に対しても, 1ヶ所に集めた場合と同じ ルールが得られる. このように, 本手法はプライバシーを保護しながら, データマイニン グが可能な手法である. 各クライアントは自分のデータだけを用いてファジィルールを抽出することができる. クライアント 1 での class に関するルールは次のようになる. 第 4 章 分散データからのファジィルールの抽出 56 Number_of_data: C1: 40 C2: 21 C3: 8 69 1. More than about 50% data of {A_13 = middle} are {class = C1} (Cf 1) (P 0.73054) (C 0.74998) 2. More than about 50% data of {A_09 = middle} are {class = C1} (Cf 1) (P 0.70133) (C 0.80974) 3. Most data of {A_11 = middle}{A_05 = middle} are {class = C1} (Cf 0.815107) (P 0.77838) (C 0.61886) 4. Most data of {A_06 = middle}{A_05 = middle} are {class = C1} (Cf 0.832785) (P 0.78434) (C 0.5874) 5. Most data of {A_05 = middle}{A_10 = middle} are {class = C1} (Cf 0.79772) (P 0.77279) (C 0.59908) ----------------------------------------------------------------------------------------------------------------------------------------------------------6. Almost all data of {A_12 = small}{A_11 = small} are {class = C3} (Cf 1) (P 0.96171) (C 0.83696) 7. Almost all data of {A_11 = small}{A_07 = small} are {class = C3} (Cf 0.999568) (P 0.94706) (C 0.6961) 8. Most data of {A_07 = small}{A_10 = middle} are {class = C3} (Cf 0.917724) (P 0.81887) (C 0.66387) 9. More than about 50% data of {A_06 = small}{A_10 = middle} are {class = C3} (Cf 1) (P 0.71392) (C 0.60064) クライアント 2 での class に関するルールは次のようになる. Number_of_data: C1: 10 C2: 40 C3: 10 60 1. All data of {A_13 = large} are {class = C1} (Cf 1) (P 1) (C 0.5629) 2. Almost all data of {A_01 = large}{A_07 = middle} are {class = C1} (Cf 1) (P 0.97615) (C 0.57655) -----------------------------------------------------------------------------3. Almost all data of {A_10 = small} are {class = C2} (Cf 1) (P 0.99217) (C 0.61466) 4. Most data of {A_13 = small} are {class = C2} (Cf 0.991667) (P 0.87418) (C 0.74686) 5. Most data of {A_07 = middle} are {class = C2} (Cf 0.750111) (P 0.75861) (C 0.74686) 6. More than about 50% data of {A_06 = middle} are {class = C2} (Cf 1) (P 0.73158) (C 0.75686) 7. More than about 50% data of {A_09 = middle} are {class = C2} (Cf 1) (P 0.74305) (C 0.69861) 8. More than about 50% data of {A_04 = middle}{A_05 = middle} 第 4 章 分散データからのファジィルールの抽出 57 are {class = C2} (Cf 1) (P 0.71424) (C 0.58502) 9. Most data of {A_02 = small} are {class = C2} (Cf 0.80155) (P 0.774) (C 0.52612) 10. More than about 50% data of {A_01 = middle} are {class = C2} (Cf 1) (P 0.71109) (C 0.65748) -----------------------------------------------------------------------------11. More than about 50% data of {A_07 = small}{A_09 = small} are {class = C3} (Cf 1) (P 0.73838) (C 0.85133) 12. More than about 50% data of {A_09 = small}{A_10 = middle}{A_04 = middle} are {class = C3} (Cf 1) (P 0.73033) (C 0.5517) クライアント 3 での class に関するルールは次のようになる. Number_of_data: C1: 9 C2: 10 C3: 30 49 1. Most data of {A_07 = large} are {class = C1} (Cf 0.799244) (P 0.77327) (C 0.58222) 2. Most data of {A_01 = large}{A_12 = middle} are {class = C1} (Cf 0.969988) (P 0.851) (C 0.56156) -----------------------------------------------------------------------------3. Almost all data of {A_10 = small}{A_01 = small} are {class = C2} (Cf 1) (P 0.95521) (C 0.58572) 4. Almost all data of {A_01 = small}{A_12 = middle} are {class = C2} (Cf 0.908707) (P 0.90727) (C 0.55223) 5. More than about 50% data of {A_07 = middle}{A_05 = small} are {class = C2} (Cf 1) (P 0.70464) (C 0.52067) -----------------------------------------------------------------------------6. Almost all data of {A_12 = small} are {class = C3} (Cf 1) (P 0.97755) (C 0.81631) 7. Almost all data of {A_07 = small} are {class = C3} (Cf 1) (P 0.95132) (C 0.86296) 8. Almost all data of {A_11 = small} are {class = C3} (Cf 1) (P 0.99488) (C 0.70967) 9. Almost all data of {A_06 = small} are {class = C3} (Cf 0.912596) (P 0.90819) (C 0.62577) 10. Most data of {A_01 = middle} are {class = C3} (Cf 0.870434) (P 0.79819) (C 0.79329) 11. Most data of {A_09 = small} are {class = C3} (Cf 0.993226) (P 0.87672) (C 0.53758) 12. Most data of {A_02 = middle} are {class = C3} (Cf 0.823017) (P 0.78101) (C 0.71394) 13. More than about 50% data of {A_10 = middle} are {class = C3} (Cf 1) (P 0.73915) (C 0.7372) 14. More than about 50% data of {A_03 = middle}{A_04 = middle} are {class = C3} (Cf 1) (P 0.70242) (C 0.55908) 第 4 章 分散データからのファジィルールの抽出 58 各クライアントが自分のデータを用いて抽出したルールでは, クライアント 1 では C1 に関するルールが多く抽出され, クライアント 2 では C2 に関するルールが多く抽出され, クライアント 3 では C3 に関するルールが多く抽出された. 4.6 クライアントのルールとデータ全体のルールの比較 各クライアントから抽出したルールとデータ全体から抽出したルールを比べると, 同 じもの, 似たもの, 片方にしかないものがある. 片方にしかないものはその分散データの 特徴と見なすことができる. そのために, 説明したい属性とその値 (例えば class = setosa など) が同じ 2 つのルー ルの類似度 s を計算する. まず, 限定するファジィ集合の類似度 sf を考える. 2 つのルー ルで限定のファジィ集合が同じとなる数を `s とし, 各ルールの限定のファジィ集合の数 を `1 と `2 とするとき, sf を次の式で計算する. sf = 2`s `1 + `2 sf は限定のファジィ集合がまったく同じときに 1, まったく異なるときに 0 となる. 次に, 出現率の類似度 sp とカバー率の類似度 sc を考え, 次の式で計算する. sp = 1 − |p1 − p2 | sc = 1 − |c1 − c2 | そして, これらを用いて 2 つのルールの類似度 s を計算する. s = sf × (sp × w1s + sc × w2s ) (4.3) ここで, w1s と w2s はそれぞれ sp と sc を考慮する重みで w1s + w2s = 1 である. もし 2 つのルールの類似度が 1 ならば同じルールで, しきい値 θs 以上であるならば似 たルールで, θs 未満の場合は異なるルールと判断できる. そして, 各分散データからのす べてのルールとデータ全体からのすべてのルールを比べて, 異なるルールを取り出す. 以 下にアヤメデータとワインデータにおける数値例で, 各分散データからのルールとデー タ全体からのルールを比べた結果を示す. 以下の結果は第 3 章の図 3.3 のファジィ集合 生成法 A を用いた場合の結果である. 図 3.4 のファジィ集合生成法 B を用いた場合の結 果は付録 E に載せる. 第 4 章 分散データからのファジィルールの抽出 (1) 59 アヤメデータにおける数値例 4.4 節のアヤメデータの例でのデータ全体からのルールと各クライアントからのルー ルを比べて, 各クライアントの局所のみにあるルールと全体のみにあるルールが次のよ うに得られる (w1s =0.7, w2s =0.3, θs = 0.5 とする). クライアント 1: Number_of_data: setosa: 5 versicolor: 20 virginica: 10 35 局所のみのルール: 1. More than about 50% data of {Sepal_Length = middle} are {class = versicolor} (Cf 1) (P 0.7263) (C 0.71178) 2. More than about 50% data of {Sepal_Width = middle} are {class = versicolor} (Cf 0.897758) (P 0.58217) (C 0.65312) 3. More than about 50% data of {class = versicolor} are {Sepal_Length = middle} (Cf 1) (P 0.71178) (C 0.7263) 4. More than about 50% data of {Sepal_Width = middle} are {Sepal_Length = middle} (Cf 0.937554) (P 0.59699) (C 0.68342) 5. More than about 50% data of {Petal_Length = large}{class = virginica} are {Sepal_Length = large} (Cf 0.552416) (P 0.50808) (C 0.61829) 6. More than about 50% data of {Petal_Width = middle} are {Sepal_Width = middle} (Cf 1) (P 0.69912) (C 0.71335) 7. More than about 50% data of {Sepal_Length = middle} are {Sepal_Width = middle} (Cf 1) (P 0.68342) (C 0.59699) 8. More than about 50% data of {Petal_Length = middle} are {Sepal_Width = middle} (Cf 1) (P 0.66906) (C 0.62396) 9. More than about 50% data of {class = versicolor} are {Sepal_Width = middle} (Cf 1) (P 0.65312) (C 0.58217) 10. More than about 50% data of {Sepal_Width = middle} are {Petal_Length = middle} (Cf 0.984932) (P 0.62396) (C 0.66906) 11. More than about 50% data of {Sepal_Width = middle} are {Petal_Width = middle} (Cf 1) (P 0.71335) (C 0.69912) -----------------------------------------------------------------------------全体のみのルール: 1. More than about 50% data of {class = setosa} are {Sepal_Length = small} (Cf 0.999913) (P 0.64802) (C 0.81342) クライアント 2: Number_of_data: setosa: 5 50 第 4 章 分散データからのファジィルールの抽出 60 versicolor: virginica: 15 30 局所のみのルール: 1. More than about 50% data of {Sepal_Width = middle} are {class = virginica} (Cf 0.999748) (P 0.64663) (C 0.73958) 2. More than about 50% data of {Sepal_Length = middle} are {class = virginica} (Cf 0.976122) (P 0.61722) (C 0.72906) 3. More than about 50% data of {Sepal_Width = middle} are {Sepal_Length = middle} (Cf 1) (P 0.72446) (C 0.70149) 4. More than about 50% data of {class = virginica} are {Sepal_Length = middle} (Cf 1) (P 0.72906) (C 0.61722) 5. More than about 50% data of {Sepal_Length = middle} are {Sepal_Width = middle} (Cf 1) (P 0.70149) (C 0.72446) 6. More than about 50% data of {class = virginica} are {Sepal_Width = middle} (Cf 1) (P 0.73958) (C 0.64663) 7. More than about 50% data of {Petal_Length = middle} are {Sepal_Width = middle} (Cf 1) (P 0.69146) (C 0.59466) 8. More than about 50% data of {Sepal_Width = middle} are {Petal_Length = middle} (Cf 0.931944) (P 0.59466) (C 0.69146) -----------------------------------------------------------------------------全体のみのルール: 1. More than about 50% data of {Petal_Length = middle} are {class = versicolor} (Cf 0.999801) (P 0.64701) (C 0.92818) 2. Almost all data of {Petal_Length = large} are {class = virginica} (Cf 0.875849) (P 0.90017) (C 0.54945) 3. Almost all data of {class = versicolor} are {Petal_Length = middle} (Cf 0.976194) (P 0.92818) (C 0.64701) クライアント 3: Number_of_data: setosa: 40 versicolor: 15 virginica: 10 65 局所のみのルール: 1. More than about 50% data of {Sepal_Width = middle} are {class = setosa} (Cf 1) (P 0.68582) (C 0.76942) 2. Most data of {class = setosa} are {Sepal_Width = middle} (Cf 0.786861) (P 0.76942) (C 0.68582) 3. Most data of {Petal_Width = small} are {Sepal_Width = middle} (Cf 0.780679) (P 0.76754) (C 0.65013) 4. Most data of {Petal_Length = small} are {Sepal_Width = middle} (Cf 0.766892) (P 0.76344) (C 0.64281) 5. More than about 50% data of {Sepal_Width = middle} 第 4 章 分散データからのファジィルールの抽出 61 are {Petal_Length = small} (Cf 0.998851) (P 0.64281) (C 0.76344) 6. More than about 50% data of {Sepal_Width = middle} are {Petal_Width = small} (Cf 1) (P 0.65013) (C 0.76754) -----------------------------------------------------------------------------全体のみのルール: 1. Most data of {Petal_Length = middle} are {Sepal_Length = middle} (Cf 0.905561) (P 0.81308) (C 0.62178) 2. Most data of {Petal_Width = middle} are {Sepal_Length = middle} (Cf 0.853362) (P 0.79169) (C 0.57407) 3. More than about 50% data of {Sepal_Length = middle} are {Petal_Length = middle} (Cf 0.982315) (P 0.62179) (C 0.81308) 4. More than about 50% data of {Sepal_Length = middle} are {Petal_Width = middle} (Cf 0.871881) (P 0.57407) (C 0.79169) (2) ワインデータにおける数値例 4.5 節のワインデータの例でのデータ全体からの class に関するルールと各クライアン トからの class に関するルールを比べて, 各クライアントの局所のみにあるルールと全体 のみにあるルールが次のように得られる (w1s =0.7, w2s =0.3, θs = 0.6 とする). クライア ント 1 の class に関する局所のみにあるルールと全体のみにあるルールが次のように得 られる. Number_of_data: C1: 40 C2: 21 C3: 8 69 局所のみのルール: 1. More than about 50% data of {A_13 = middle} are {class = C1} (Cf 1) (P 0.73054) (C 0.74998) 2. More than about 50% data of {A_09 = middle} are {class = C1} (Cf 1) (P 0.70133) (C 0.80974) 3. Most data of {A_11 = middle}{A_05 = middle} are {class = C1} (Cf 0.815107) (P 0.77838) (C 0.61886) 4. Most data of {A_06 = middle}{A_05 = middle} are {class = C1} (Cf 0.832785) (P 0.78434) (C 0.5874) 5. Most data of {A_05 = middle}{A_10 = middle} are {class = C1} (Cf 0.79772) (P 0.77279) (C 0.59908) 6. Most data of {A_07 = small}{A_10 = middle} are {class = C3} (Cf 0.917724) (P 0.81887) (C 0.66387) 7. More than about 50% data of {A_06 = small}{A_10 = middle} are {class = C3} (Cf 1) (P 0.71392) (C 0.60064) ------------------------------------------------------------------------------ 第 4 章 分散データからのファジィルールの抽出 62 全体のみのルール: 1. More than about 50% data of {A_07 = middle}{A_10 = middle} are {class = C1} (Cf 1) (P 0.74043) (C 0.69182) 2. Almost all data of {A_10 = small}{A_13 = small} are {class = C2} (Cf 0.950984) (P 0.91869) (C 0.55186) 3. Almost all data of {A_13 = small}{A_07 = middle} are {class = C2} (Cf 0.836122) (P 0.89275) (C 0.52268) 4. More than about 50% data of {A_11 = small} are {class = C3} (Cf 1) (P 0.73919) (C 0.7321) クライアント 2 の class に関する局所のみにあるルールと全体のみにあるルールが次 のように得られる. Number_of_data: C1: 10 C2: 40 C3: 10 60 局所のみのルール: 1. All data of {A_13 = large} are {class = C1} (Cf 1) (P 1) (C 0.5629) 2. Almost all data of {A_01 = large}{A_07 = middle} are {class = C1} (Cf 1) (P 0.97615) (C 0.57655) 3. Most data of {A_07 = middle} are {class = C2} (Cf 0.750111) (P 0.75861) (C 0.74686) 4. More than about 50% data of {A_06 = middle} are {class = C2} (Cf 1) (P 0.73158) (C 0.75686) 5. More than about 50% data of {A_09 = middle} are {class = C2} (Cf 1) (P 0.74305) (C 0.69861) 6. More than about 50% data of {A_04 = middle}{A_05 = middle} are {class = C2} (Cf 1) (P 0.71424) (C 0.58502) 7. Most data of {A_02 = small} are {class = C2} (Cf 0.80155) (P 0.774) (C 0.52612) 8. More than about 50% data of {A_01 = middle} are {class = C2} (Cf 1) (P 0.71109) (C 0.65748) 9. More than about 50% data of {A_07 = small}{A_09 = small} are {class = C3} (Cf 1) (P 0.73838) (C 0.85133) 10. More than about 50% data of {A_09 = small}{A_10 = middle}{A_04 = middle} are {class = C3} (Cf 1) (P 0.73033) (C 0.5517) -----------------------------------------------------------------------------全体のみのルール: 1. More than about 50% data of {A_07 = middle}{A_10 = middle} are {class = C1} (Cf 1) (P 0.74043) (C 0.69182) 2. Most data of {A_12 = small} are {class = C3} (Cf 0.975745) (P 0.85595) (C 0.7602) 第 4 章 分散データからのファジィルールの抽出 63 3. Almost all data of {A_07 = small}{A_11 = small} are {class = C3} (Cf 0.997571) (P 0.94303) (C 0.65136) 4. More than about 50% data of {A_11 = small} are {class = C3} (Cf 1) (P 0.73919) (C 0.7321) クライアント 3 の class に関する局所のみにあるルールと全体のみにあるルールが次 のように得られる. Number_of_data: C1: 9 C2: 10 C3: 30 49 局所のみのルール: 1. Most data of {A_07 = large} are {class = C1} (Cf 0.799244) (P 0.77327) (C 0.58222) 2. Most data of {A_01 = large}{A_12 = middle} are {class = C1} (Cf 0.969988) (P 0.851) (C 0.56156) 3. Almost all data of {A_10 = small}{A_01 = small} are {class = C2} (Cf 1) (P 0.95521) (C 0.58572) 4. Almost all data of {A_01 = small}{A_12 = middle} are {class = C2} (Cf 0.908707) (P 0.90727) (C 0.55223) 5. More than about 50% data of {A_07 = middle}{A_05 = small} are {class = C2} (Cf 1) (P 0.70464) (C 0.52067) 6. Almost all data of {A_06 = small} are {class = C3} (Cf 0.912596) (P 0.90819) (C 0.62577) 7. Most data of {A_01 = middle} are {class = C3} (Cf 0.870434) (P 0.79819) (C 0.79329) 8. Most data of {A_09 = small} are {class = C3} (Cf 0.993226) (P 0.87672) (C 0.53758) 9. Most data of {A_02 = middle} are {class = C3} (Cf 0.823017) (P 0.78101) (C 0.71394) 10. More than about 50% data of {A_10 = middle} are {class = C3} (Cf 1) (P 0.73915) (C 0.7372) 11. More than about 50% data of {A_03 = middle}{A_04 = middle} are {class = C3} (Cf 1) (P 0.70242) (C 0.55908) -----------------------------------------------------------------------------全体のみのルール: 1. More than about 50% data of {A_07 = middle}{A_10 = middle} are {class = C1} (Cf 1) (P 0.74043) (C 0.69182) 2. Almost all data of {A_10 = small}{A_13 = small} are {class = C2} (Cf 0.950984) (P 0.91869) (C 0.55186) 3. Almost all data of {A_13 = small}{A_07 = middle} are {class = C2} (Cf 0.836122) (P 0.89275) (C 0.52268) 実験で用いたデータでは、クライアント 1 ではデータ全体のルールには存在しない C1 第 4 章 分散データからのファジィルールの抽出 64 に関するルールが多く抽出され, クライアント 2 では C2 に関するルールが多く抽出され, クライアント 3 では C3 に関するルールが多く抽出された. クライアント 1 には C1 に関 するデータが多く, クライアント 2 には C2 に関するデータが多く, クライアント 3 には C3 に関するデータが多く, 結果はそれに対応していると考えられる. 4.7 おわりに 本章では, プライバシーを保護するデータマイニング手法として, 同じ属性を持つ分散 データから, 計算過程に必要な値だけを転送して, データ全体の属性間に存在する関係 をファジィ集合とファジィ量限定子で表現されたルールとして抽出する方法について述 べた. 各分散データから抽出したルールと全体のルールを比較することにより, 各分散 データにおけるデータの特徴を表現できる. 65 第5章 異なる属性部分を持つ分散データからの ファジィルールの抽出 5.1 はじめに 前章では, 同じ属性を持つ分散データからデータ全体のファジィルールを抽出する手 法について述べた. 本章では, 異なる属性部分を持つ分散データから, データ全体のファ ジィルールを抽出する手法について述べる. 一般的に, 各分散データが属性全体の一部だけを持っていると考えると, 全体ではデー タが欠損していることになる. この場合にデータ全体のファジィルールを抽出する方針 として次の 2 つが考えられる. 1 つはデータが欠損したままで全体のファジィルールを 抽出するもので, もう 1 つは何らかの方法で欠損データの部分の値を求め, すべての値が 得られてから全体のファジィルールを抽出するものである. ここで提案する手法は, 欠 損データを推論するためのファジィルールを 4.3 節の形で抽出し, それを用いて欠損デー タを推論し, 推論結果を欠損データの値とし, データ全体のファジィルールを抽出するも のである. この手法では, 同じ属性を持つ分散データからプライバシーを保護したファ ジィルールを抽出する手法を用いて推論用のファジィルールを抽出し, それを用いて欠 損データを推論する. そして, プライバシーを保護しながら全体としてのファジィルール を抽出することができる. 5.2 分散データに対するファジィ集合 本手法は 4.3 節の手法を基にしているので, 欠損データを推論するためのファジィルー ルの抽出とデータ全体のファジィルールの抽出には, 各クライアントは各属性のファジィ 集合を共通に用いる必要がある. そして, 各分散データに対するファジィ集合の生成に 66 第 5 章 異なる属性部分を持つ分散データからのファジィルールの抽出 は, ファジィ集合をユーザが与えている場合は, それを送信して共通に用いることができ るが, データから生成する場合は, 分散データ全体の最小値と最大値が必要となる (図 3.3 のファジィ集合生成法 A の場合は最小値と最大値が必要であるが, 図 3.4 のファジィ集 合生成法 B の場合は平均値も必要である). そこで, 分散データの各属性の最小値と最大 値を 1ヶ所に集め, 全体としての各属性の最小値と最大値を算出する (平均値を求めると きは属性のデータの合計の値とデータ数を 1ヶ所に集める). 分散データにおいて, その 属性のデータが欠損する場合は無視する. そして, データ全体の各属性の最小値と最大 値を各クライアントに送信し, 各クライアントは属性のファジィ集合を生成する. 5.3 欠損データを推論するファジィルールの抽出 4.3 節の手法で抽出されたファジィルールの形は pi data of {Ai1 = Fi1 j1 }{Ai2 = Fi2 j2 }...… are CY のようになっているが, これは ri : if Ai1 is Fi1 j1 and Ai2 is Fi2 j2 ... then AY is CY with pi のような形のルールと考えることができる. ここで, Fi1 j1 は数値属性 Ai1 のファジィ集合 あるいはカテゴリ属性 Ai1 の値である. CY はカテゴリ属性 AY の値または数値属性 AY のファジィ集合, pi は出現率である. したがって, 4.3 節で抽出した形式のファジィルー ルを抽出すれば, 欠損した属性の値を推論することができる. 表 5.1 のような 4 つの分散データを用いて推論に用いるファジィルールの抽出手法を 説明する. 表 5.1 で, No. はクライアントの番号で, クライアント 1 は属性 A1 , A2 , A3 の データを持っているが, 属性 A4 と class のデータを持っていないことがわかる. この表 の情報は前もってサーバーに設定してある. いま, クライアント 1 の属性 A4 のデータを推論したいとする. まず, 推論に用いるク ライアントと属性を選択する. そのためには, クライアント 1 以外のクライアントで, 推 論したい属性 A4 が持っていて, クライアント 1 と共通の属性を持っているものをみつけ る. いまは表 5.2 のようになる. 表 5.2 のクライアントと属性のデータに対して, 4.3 節の手法によりファジィルールを 抽出する. このとき, A2 から A4 を推論するルールはクライアント 2 と 4 のデータを用い, A3 から A4 を推論するルールはクライアント 3 と 4 のデータを用い, A2 と A3 から A4 を 第 5 章 異なる属性部分を持つ分散データからのファジィルールの抽出 67 推論するルールはクライアント 4 のデータだけを用いる. すなわち, 表 5.2 の属性のすべ ての組合せについて, それを持つクライアントのデータからルールを抽出する. しかし, 簡略化できる場合がある. 例えば, 表 5.1 のクライアント 4 の属性 A1 のデー タを推論するときを考えると, 推論に用いるクライアントと属性は表 5.3 のようになる. このとき, A2 から A1 を推論するルール, A3 から A1 を推論するルール, A2 と A3 から A1 を推論するルールはすべてクライアント 1 のデータだけを用いることになる. この場合 は A2 から A1 を推論するルールと A3 から A1 を推論するルールが A2 と A3 から A1 を推 論するルールとして抽出される. そこで, 属性の組合せを持つクライアントが同じであ る場合は, 属性が最も多い組合せだけを用いる. クライアントと属性の組合せに対して 4.3 節の手法を用いて, ファジィルールを抽出す る. クライアント 1 の A4 を A2 から推論する場合は, クライアント 2 と 4 のデータを用い て, ルールをクライアント 1 に抽出すると考えればよい. これはクライアント 1, 2, 4 に ついて 4.3 節の手法を用いて, サーバーではクライアント 2, 4 から送ってきた値を計算 して, その結果をクライアント 1, 2, 4 に送り返す. すなわち, クライアント 1 は値をサー バーに送らないが, 結果はサーバーからもらえるようにすればよい. これにより, クライ アント 1 はクライアント 2, 4 のデータからファジィルールを抽出できる. 表 5.1: 分散データが持つ属性 No. 1 A1 2 3 4 A2 A2 A2 属性 A3 A3 A3 A4 A4 A4 class class 表 5.2: 属性 A4 の推論に用いるクライアントと属性 No. 2 3 4 属性 A2 A2 A3 A3 A4 A4 A4 表 5.3: 属性 A1 の推論に用いるクライアントと属性 No. 1 属性 A2 A3 A1 第 5 章 異なる属性部分を持つ分散データからのファジィルールの抽出 68 表 5.4: 異なる属性部分を持つ分散データ client1 client2 client3 client4 setosa versicolor virginica Total 5 20 5 30 5 10 30 45 30 10 10 50 10 10 5 25 同様に, 属性 A3 から推論する場合は, クライアント 3, 4 のデータを用いてルールをク ライアント 1 に抽出する. A2 と A3 から推論する場合は, クライアント 4 のデータを用い てルールをクライアント 1 に抽出する. これにより, クライアント 1 には可能な属性のす べての組合せを用いたルールが得られる. 一般的には, 欠損値を推論したい属性 Ai を持つクライアント k とその属性 Ai を説明 するためのデータを持つすべてのクライアントについて, 4.3 節の手法を用いてルールを 抽出することができる. サーバーはクライアント k 以外のクライアントから送られる値 を用いて計算し, その結果をクライアント k を含むすべてのクライアントに送り返す. こ れにより, クライアント k に属性 Ai の値を推論するルールが得られる. この方法を R.A.Fisher のアヤメデータに適用する. アヤメデータを表 5.4 のように 4 つのクライアントに分ける (表 5.4 に示した数によりデータを適当に選んだ. これを付 録 F に示す). 各クライアントが持っている属性は表 5.1 のようになっている. 表 5.1 の A1 , A2 , A3 , A4 は, それぞれ, がくの長さ, がくの幅, 花弁の長さ, 花弁の幅である. いまク ライアント 1 の属性 A4 のデータを推論したいとする. 推論に用いるルールを抽出すると きのパラメータは θP = 0.5, θC = 0.5, w1 = 0.5, w2 = 0.3, w3 = 0.2 とした. 推論に用いる ルールを抽出するときに, 出現率を重視したいので, w1 = 0.5 にした. クライアント 1 の属性 A4 のデータの推論に用いるルールは次のようになった. From A2: From A3: 1. Almost all data of {A3 = small} are {A4 = small}(Cf 0.999452)(P 0.94669)(C 0.93169) 2. Most data of {A3 = middle} are {A4 = middle}(Cf 0.72457)(P 0.75156)(C 0.7605) 3. More than about 50% data of {A3 = large} are {A4 = large}(Cf 0.99508)(P 0.63512)(C 0.65245) From A2 and A3: 1. Almost all data of {A3 = small} 第 5 章 異なる属性部分を持つ分散データからのファジィルールの抽出 are {A4 = 2. Most data are {A4 = 3. More than are {A4 = 69 small}(Cf 1)(P 0.95436)(C 0.94626) of {A3 = middle} middle}(Cf 0.992758)(P 0.87593)(C 0.74511) about 50% data of {A3 = large}{A2 = middle} large}(Cf 0.641296)(P 0.52295)(C 0.60734) ここで, P は出現率, C はカバー率, Cf は出現率に対する量限定子の確信度である. 推論に用いるルールでは, 同じルールが存在する可能性がある. 同じルールは同じ属性 と同じ値を説明するルールで, 限定する属性とそのファジィ集合が同じルールである. 例 えば, 上の結果では, A3 からのルールの 1 番目と A2 と A3 からのルールの 1 番目は同じ ルールである. 出現率 P, カバー率 C, 量限定子の確信度 Cf は異なっているのが普通であ る. この場合, 出現率とルール抽出に用いたデータ数によって, 1 つのルールだけを選択 する. A3 からのルールの 1 番目はクライアント 3 とクライアント 4 のデータを用いて抽 出され, A2 と A3 からのルールの 1 番目はクライアント 4 のデータを用いて抽出された. ルールの出現率とルール抽出に用いたデータ数の積はそれぞれ 0.94669 × 75 = 71.00175 と 0.95436 × 25 = 23.859 であるので, A3 からのルールの 1 番目が選択される. 同様に, A3 からのルールの 2 番目と A2 と A3 からのルールの 2 番目が同じルールで, A3 からの ルールの 2 番目が選択される. 同じルールうちで使用しないものを除いた結果は次のよ うになる. From A2: From A3: 1. Almost all data of {A3 = small} are {A4 = small}(Cf 0.999452)(P 0.94669)(C 0.93169) 2. Most data of {A3 = middle} are {A4 = middle}(Cf 0.72457)(P 0.75156)(C 0.7605) 3. More than about 50% data of {A3 = large} are {A4 = large}(Cf 0.99508)(P 0.63512)(C 0.65245) From A2 and A3: 3. More than about 50% data of {A3 = large}{A2 = middle} are {A4 = large}(Cf 0.641296)(P 0.52295)(C 0.60734) これを用いてクライアント 1 の A2 と A3 のデータに対してファジィ推論を行い, A4 の 値を推論する. 次に, クライアント 1 の属性 class のデータを推論する場合は, 推論に用いるクライア ントと属性は表 5.5 のようになり, 上と同様にして, クライアント 1 の属性 class のデー タを推論するためのルールは次のようになる. この場合は, 同じルールは存在しない. 第 5 章 異なる属性部分を持つ分散データからのファジィルールの抽出 70 From A2: 1. More than about 50% data of {A2 = middle} are {class = virginica}(Cf 0.672706)(P 0.52864)(C 0.76548) From A2 and A3: 1. All data of {A3 = small} are {class = setosa}(Cf 1)(P 1)(C 0.94745) 2. Most data of {A3 = middle} are {class = versicolor}(Cf 0.955777)(P 0.84052)(C 0.8699) 3. More than about 50% data of {A3 = large} are {class = virginica}(Cf 1)(P 0.74864)(C 0.775) 2 つ目以降の属性の欠損値を推論するときに, 推論によりすでに値が決まったクライア ントの属性を用いることも可能であるが, 今回は用いないことにした. これを用いると, より多くの欠損している属性を推論することが可能になるが, 値の信頼性の問題に加え て, 推論する属性の順序を決める手法が必要となり, 順序により結果が異なるからであ る. これについては今後考えていきたい. 5.4 欠損データの推論 4.3 節の手法では, 抽出されたルールの形は pi data of {Ai1 = Fi1 j1 }{Ai2 = Fi2 j2 }...… are CY のようになっているが, 推論するときに. CY がファジィ集合の場合とシンボルの場合に 分けて考える. (1) ファジィ集合の場合 前節のクライアント 1 の A4 についてのルールは次のようであった (番号は付け直した). 1. Almost all data of {A3 = small} are {A4 = small}(Cf 0.999452)(P 0.94669)(C 0.93169) 表 5.5: 属性 class の推論に用いるクライアントと属性 No. 2 4 attributes A2 A2 A3 class class 第 5 章 異なる属性部分を持つ分散データからのファジィルールの抽出 2. Most data are {A4 = 3. More than are {A4 = 4. More than are {A4 = 71 of {A3 = middle} middle}(Cf 0.72457)(P 0.75156)(C 0.7605) about 50% data of {A3 = large} large}(Cf 0.99508)(P 0.63512)(C 0.65245) about 50% data of {A3 = large}{A2 = middle} large}(Cf 0.641296)(P 0.52295)(C 0.60734) これらのルールは形を変えると r1 : if A3 is small then A4 is small with 0.94669 r2 : if A3 is middle then A4 is middle with 0.75156 r3 : if A3 is large then A4 is large with 0.63512 r4 : if A3 is large and A2 is middle then A4 is large with 0.52295 のようになる. 一般的に考えると ri : if Ai1 is Fi1 j1 and Ai2 is Fi2 j2 ... then AY is FY with pi のようになる. ここで, Fi1 j1 は数値属性 Ai1 のファジィ集合あるいはカテゴリ属性 Ai1 の 値である. FY は数値属性 AY のファジィ集合, pi はルール ri の出現率である. 属性 (Ai1 , Ai2 , ...) のデータ (di1 , di2 , ...) に対する推論は次の手順により行われる. Step 1: 各ルール ri に対する適合度 µi を計算する. µi = pi × µFi1 j1 (di1 ) × µFi2 j2 (di2 ) × ... Step 2: 各ルール ri の後件部についての推論結果 B i を計算する. µBi (d) = µi × µFY (d) Step 3: 各ルール ri の推論結果 B i を統合して, ルール全体の推論結果 B を計算する. ∑ µB (d) = µBi (d) i Step 4: 推論結果 B の重心 dY を計算する. ∑ µB (d) × d d∈A dY = ∑ Y µB (d) d∈AY この推論では, すべてのルールの適合度が 0 になる可能性がある. このとき, 推論結果 は不定になるが, ここでは属性の値の平均値を用いることにする. 第 5 章 異なる属性部分を持つ分散データからのファジィルールの抽出 72 (2) シンボルの場合 前節のクライアント 1 の class についてのルールは次のようであった. 1. More than about 50% data of {A2 = middle} are {class = virginica}(Cf 0.672706)(P 0.52864)(C 0.76548) 2. All data of {A3 = small} are {class = setosa}(Cf 1)(P 1)(C 0.94745) 3. Most data of {A3 = middle} are {class = versicolor}(Cf 0.955777)(P 0.84052)(C 0.8699) 4. More than about 50% data of {A3 = large} are {class = virginica}(Cf 1)(P 0.74864)(C 0.775) これらのルールの形を変えると r1 : if A2 is middle then class is virginica with 0.52864 r2 : if A3 is small then class is setosa with 1 r3 : if A3 is middle then class is versicolor with 0.84052 r4 : if A3 is large then class is virginica with 0.74864 のようになる. 一般的に考えると ri : if Ai1 is Fi1 j1 and Ai2 is Fi2 j2 ... then AY is CY with pi のようになる. ここで, Fi1 j1 は数値属性 Ai1 のファジィ集合あるいはカテゴリ属性 Ai1 の 値である. CY はカテゴリ属性 AY の値, pi はルール ri の出現率である. 属性 (Ai1 , Ai2 , ...) のデータ (di1 , di2 , ...) に対する推論は次の手順により行われる. Step 1: 各ルール ri の適合度 µi を計算する. µi = pi × µFi1 j1 (di1 ) × µFi2 j2 (di2 ) × ... Step 2: 各クラス CY スに対する適合度 µB (CY ) を求める. µB (CY ) = max(µi ) CY Step 3: µB (CY ) が最大となる CY を推論結果とする. この推論では, すべてのルールの適合度が 0 になる可能性がある. この場合はランダム に 1 個を選択して推論結果とする. 第 5 章 異なる属性部分を持つ分散データからのファジィルールの抽出 5.5 73 データ全体のファジィルールの抽出 前節で述べた推論方法を用いて, すべての値が欠損している属性の値を推論する. す べてのクライアントのすべての欠損データを推論したあと, 推論結果を含めたすべての データを用いて 4.3 節の手法で全体としてのファジィルールを抽出する. アヤメデータを用いて, 表 5.1 ようなクライアントと属性と表 5.4 のようなデータを 用いて, 全体としてのファジィルールを抽出した結果は次のようになる. ここでは属性 0 class についてのルールのみを示す (これを Rclass とする). 他の属性については, 付録 G に載せている. 1. Almost all data of {petal_length = small} are {class = setosa} (Cf 1) (P 0.99298) (C 0.92474) 2. Almost all data of {petal_width = small} are {class = setosa} (Cf 1) (P 0.9882) (C 0.93385) 3. Almost all data of {sepal_length = small} are {class = setosa} (Cf 0.97453) (P 0.92743) (C 0.68168) -----------------------------------------------------------------------------4. More than about 50% data of {petal_width = middle} are {class = versicolor} (Cf 1) (P 0.69979) (C 0.95734) 5. More than about 50% data of {petal_length = middle} are {class = versicolor} (Cf 1) (P 0.65154) (C 0.90569) -----------------------------------------------------------------------------6. Almost all data of {petal_width = large} are {class = virginica} (Cf 0.999677) (P 0.94746) (C 0.62398) 7. Most data of {petal_length = large} are {class = virginica} (Cf 0.97247) (P 0.85307) (C 0.55364) このとき, 属性に対してのファジィ集合をファジィ集合生成法 A により生成し, データ全 体のルールの抽出に用いるパラメータを θp = 0.5, θc = 0.5, w1 = 0.4, w2 = 0.2, w3 = 0.4 とした. この結果は四つのクライアントに同じものが得られる. 元の欠損のないアヤメデータの場合には, 属性 class に関するデータ全体のルール Rclass は次のようになる. 1. Almost all data of {A3 = small} are {class = setosa}(Cf 1)(P 0.98861)(C 0.94415) 2. Almost all data of {A4 = small} are {class = setosa}(Cf 1)(P 0.97727)(C 0.95528) 3. Most data of {A1 = small} are {class = setosa}(Cf 0.906299)(P 0.81342)(C 0.64802) ----------------------------------------------------------------------------4. More than about 50% data of {A4 = middle} are {class = versicolor}(Cf 1)(P 0.69532)(C 0.94583) 5. More than about 50% data of {A3 = middle} are {class = versicolor}( 第 5 章 異なる属性部分を持つ分散データからのファジィルールの抽出 74 Cf 0.999801)(P 0.64701)(C 0.92818) ----------------------------------------------------------------------------6. Almost all data of {A4 = large} are {class = virginica}(Cf 1)(P 0.95176)(C 0.63028) 7. Almost all data of {A3 = large} are {class = virginica} (Cf 0.875849)(P 0.90017)(C 0.54945) この 2 つの結果を比べて, 本章で提案する方法の有効性を調べる. 二つのルール集合の比較 5.6 0 前節の Rclass と Rclass を比較するために, 2 つルール集合の類似度を定義する. その類 似度を計算するために, まず 2 つルール集合のルール間の類似度を計算する. これは 4.6 節で定義したものを用いる. そして, n 個のルールを持つルール集合 R と n0 個のルールを持つルール集合 R0 を考え よう. まず, R のルール ri (i = 1, 2, ..., n) と R0 のすべてのルールを比較する. そして, 得 られた n0 個の類似度中で最も大きい類似度をルール ri の R0 に対する類似度 si とする. 次に, R0 のルール rj (j = 1, 2, ..., n0 ) と R のすべてのルールを比較し, その最大値を s0j と する. そして, ルール集合 R と R0 の類似度 S を次のように計算する. S=( ∑ ∑ si + s0j )/(n + n0 ) i (5.1) j n = n0 で, R のルールと R0 のルールが全く同じときは類似度 S が 1 となる. このとき, すべての si と s0j は 1 である. R のルールと R0 のルールが全く違うときは類似度 S が 0 になる. この 2 つルール集合の比較方法を用いて, 本章で提案する方法で得られた属性 class に 0 関するデータ全体のルール Rclass と元のアヤメデータからの属性 class に関するデータ 全体のルール Rclass の類似度を求めると, 0.975929 になる (w1s と w2s は 0.7 と 0.3 とした). A1 , A3 , A4 についての類似度は, それぞれ, 0.949579, 0.97189, 0.979086 となった. A2 に ついてのルールは両方とも抽出されなかった. 第 5 章 異なる属性部分を持つ分散データからのファジィルールの抽出 5.7 75 数値実験 本章で提案する異なる属性部分からのファジィルールの抽出方法の有効性を検証する ために, さまざまな組み合わせについて 10 回の実験を行なった. 実験では, 各クライア ントは各クラスのデータ数が少なくとも 5 以上になるようにランダムに決めている. 具 体的には, クライアント 1 ではクラス Ci のデータ数は 5∼35 の間の乱数 ai で決める. ク ライアント 2 ではクラス Ci のデータ数は 5∼(40 − ai ) の間の乱数 bi で決める. クライ アント 3 のクラス Ci のデータ数は 5∼(45 − ai − bi ) の間の乱数 ci で決め, クライアン ト 4 のクラス Ci のデータ数は 50 − ai − bi − ci で決める. 今回の 10 回の実験で用いる データ数は表 5.6∼表 5.15 のようになった. また, 各クライアントが持つ属性は 10 回と も表 5.1 を用いた. ファジィ集合の生成法はファジィ集合生成法 A とファジィ集合生成 法 B を用いた. 実験のパラメータは推論に用いるファジィルールを抽出するときには, θp = 0.5, θc = 0.5, w1 = 0.5, w2 = 0.3, w3 = 0.2 とし, データ全体のルールを抽出すると きには, θp = 0.5, θc = 0.5, w1 = 0.4, w2 = 0.2, w3 = 0.4 とした. 表 5.7: 分散データ 2 表 5.6: 分散データ 1 client1 client2 client3 client4 setosa 18 13 13 6 versicolor 6 13 25 6 virginica 10 12 17 11 Total 34 38 55 23 client1 client2 client3 client4 表 5.8: 分散データ 3 client1 client2 client3 client4 setosa 25 7 8 10 versicolor 26 8 10 6 virginica 17 14 12 7 client1 client2 client3 client4 versicolor 5 21 12 12 virginica 25 12 5 8 versicolor 26 7 5 12 virginica 8 11 25 6 Total 61 23 41 25 表 5.9: 分散データ 4 Total 68 29 30 23 client1 client2 client3 client4 表 5.10: 分散データ 5 setosa 19 14 8 9 setosa 27 5 11 7 setosa 16 11 12 11 versicolor 23 14 6 7 virginica 22 7 14 7 Total 61 32 32 25 表 5.11: 分散データ 6 Total 49 47 25 29 client1 client2 client3 client4 setosa 7 24 11 8 versicolor 25 9 10 6 virginica 16 14 11 9 Total 48 47 32 23 第 5 章 異なる属性部分を持つ分散データからのファジィルールの抽出 76 表 5.12: 分散データ 7 client1 client2 client3 client4 setosa 18 13 11 8 versicolor 28 6 5 11 virginica 17 18 8 7 表 5.13: 分散データ 8 Total 63 37 24 26 client1 client2 client3 client4 表 5.14: 分散データ 9 client1 client2 client3 client4 setosa 21 12 9 8 versicolor 9 28 5 8 virginica 8 20 13 9 setosa 17 9 14 10 versicolor 13 16 8 13 virginica 6 23 12 9 Total 36 48 34 32 表 5.15: 分散データ 10 Total 38 60 27 25 client1 client2 client3 client4 setosa 7 13 19 11 versicolor 6 33 5 6 virginica 28 10 6 6 Total 41 56 30 23 ファジィ集合生成法 A を用いた場合の結果が表 5.16 である. 元のアヤメデータを用い た実験結果では, A2 に関するルールは抽出されなかったので, 10 回の実験では, A2 に関 するルールがない場合は類似度が 1 となり, ある場合は 0 となる. 表 5.16 では, 最初に元 のアヤメデータで得られたデータ全体のルールの数を示している. No.1∼10 の各実験の 結果ごとに, 得られたルール数と元のアヤメデータの結果との類似度を属性ごとに求め ている. 表 5.16 に示している類似度が 0.92 以上の場合は 2 つの結果のルールのすべての ルールの形が同じであり, 出現率とカバー率が違っているだけである. 類似度が 0.86∼ 0.92 の場合はルールの数が 1 つ異なっており, 他のルールは形が同じで出現率とカバー 率だけが異なっている. この 10 回の実験では, 属性 A1 については, 欠損データが多く, 推論に用いるファジィ ルールはほとんど抽出されなかったので, 属性 A1 の平均値を用いてデータ全体のルール 抽出を行なっている. 属性 A2 については, もともと他の属性との関連性が低く, 推論に 用いるルールは抽出されなかった. この場合も属性 A2 の平均値を用いてデータ全体の ルール抽出を行なっている. 属性 A3 , A4 , class は推論に用いるルールが抽出され, それを 用いて欠損データを推論し, 推論結果を用いてデータ全体のルール抽出を行なっている. 実験結果からみると, 結果が良い場合も, あまり良くない場合もある. 推論用のルールが 得られる場合に, 良い結果が得られる重要な要因の一つは生成したファジィ集合のパラ メータが元のアヤメデータのファジィ集合のパラメータとどの程度近いかである. ここ で用いたファジィ集合を生成する方法では最小値と最大値が同じであれば, 生成するファ ジィ集合が同じになる. データの最小値と最大値が元のアヤメデータのものに近いほど, 第 5 章 異なる属性部分を持つ分散データからのファジィルールの抽出 77 表 5.16: ファジィ集合生成法 A の場合の結果 No. 元のアヤメデータ 1 ルール数 ルール数 類似度 2 ルール数 類似度 3 ルール数 類似度 4 ルール数 類似度 5 ルール数 類似度 6 ルール数 類似度 7 ルール数 類似度 8 ルール数 類似度 9 ルール数 類似度 10 ルール数 類似度 A1 A2 5 0 6 4 0.851667 0 7 1 0.808217 0 6 1 0.847423 0 5 0 0.917069 1 6 0 0.833463 1 3 2 0.469354 0 5 0 0.926931 1 5 0 0.939048 1 5 0 0.754388 1 5 0 0.661103 1 A3 8 9 0.911979 8 0.960482 8 0.938164 8 0.949933 7 0.888856 6 0.649196 8 0.959318 6 0.79737 8 0.895248 8 0.947251 A4 8 9 0.902787 8 0.950674 8 0.940536 8 0.951593 7 0.877724 6 0.81771 8 0.946112 7 0.83567 7 0.852074 7 0.890743 class 7 8 0.851936 8 0.885511 7 0.907483 7 0.89305 8 0.891711 5 0.804683 7 0.968188 6 0.834263 7 0.749603 7 0.809758 良い結果が得られると考えられる. ファジィ集合生成法 B を用いた場合の結果は表 5.17 のようになる. このとき, ルール数をファジィ集合生成法 A の場合と同じぐらいになるように, パラ メータは θp = 0.6 とした. 結果では, 全体的にはファジィ集合生成法 B を用いた場合の 方が少し悪くなっている. その原因は最小値と最大値以外に平均値も同じ値にならない と, ファジィ集合が同じにならないからであると考えられる. 第 5 章 異なる属性部分を持つ分散データからのファジィルールの抽出 78 表 5.17: ファジィ集合生成法 B の場合の結果 No. 元のアヤメデータ 1 5.8 ルール数 ルール数 類似度 2 ルール数 類似度 3 ルール数 類似度 4 ルール数 類似度 5 ルール数 類似度 6 ルール数 類似度 7 ルール数 類似度 8 ルール数 類似度 9 ルール数 類似度 10 ルール数 類似度 A1 A2 4 0 6 2 0.53563 0 9 0 0.593079 1 3 1 0.824779 0 3 0 0.820926 1 4 1 0.677419 0 3 4 0.314904 0 4 1 0.680828 0 3 1 0.800751 0 3 0 0.662858 1 5 6 0.642223 0 A3 8 9 0.869823 8 0.964005 7 0.906746 7 0.901101 7 0.903945 8 0.824173 7 0.903075 7 0.896587 8 0.953518 8 0.837382 A4 7 9 0.851556 8 0.907627 7 0.973685 7 0.969355 7 0.97222 8 0.886577 7 0.976775 7 0.964335 8 0.900504 8 0.888808 class 8 9 0.86993 8 0.968557 7 0.911579 7 0.905713 7 0.905071 8 0.831322 7 0.91034 7 0.898286 8 0.95481 8 0.844815 おわりに 本章では, 4.3 節の同じ属性を持つ分散データからのプライバシーを保護したファジィ ルールの抽出手法を用いて, 異なる属性を持つ分散データから, 欠損データを推論するた めのルールを抽出し, そのルールと各分散データを用いて, 欠損データを推論する. そし て, 推論結果を用いて, プライバシーを保護しながら分散データを全体としてのファジィ ルールを抽出することができる方法を提案した. 79 第6章 結言 本研究では, 同じ属性を持つ分散データが, ネットワークを通して, 各属性に対してファ ジィ集合を自動的に生成して, プライバシーを保護しながらデータの属性間に存在する 関係をファジィ量限定子で表現されたルールとして抽出する方法を提案した. 各クライ アントが持っているデータから抽出したルールとデータ全体から抽出したルールを比べ て, 各クライアントにおけるデータの特徴を表現できる. また, 異なる属性を持つ分散 データの場合に, 欠損データを推論するためのルールを抽出し, 欠損データを推論し, そ の推論結果を用いてプライバシーを保護しながら全体としてのファジィルールを抽出す る方法を提案した. 本研究の今後の課題としては次のようなものがある. • 実データでの実験 本研究では, アヤメデータとワインデータを用いて実験を行った. しかし, さまざ まな分野の実際のデータを用いて, 提案したルール抽出手法を用いて, ルールを抽 出し, その有用性を確認する必要がる. • ファジィ集合のチューニング 本研究での実験に用いたアヤメデータは非常にうまく分類ができるデータである ので, ファジィ集合を自動的に生成しても, かなり良い結果が得られた. 実際には, データに偏りがある場合などはファジィ集合の自動生成では対応ができない可能 性がある. そこで, ファジィ集合のチューニングを行い, データに適したファジィ 集合を用いることが考えられるが, このような形のルールに対するチューニング手 法は知られていない. 今後考えていきたい. • 推論用のファジィルールが抽出されなかったときの欠損データの扱い 今回は推論用のファジィルールが抽出されなかったときには, 後件部がファジィ集 第 6 章 結言 80 合の場合は平均値を用い, クラスのようなシンボルの場合はランダムに値を選択し て用いる. 他の方法についての検討も必要である. • 推論に推論結果を利用するか 今回は 2 つ目以降の属性の欠損値を推論するときに, 1 つ目の推論結果を用いてい ない. しかし, すでに値が推論された属性を用いて推論するという方法も考えられ る. この場合は推論する属性の順序により結果が異なるので, 推論する属性の順序 についても考える必要がある. • 実験環境 今回は LAN 環境で実験を行なった. インターネット環境で実験を試みる. 謝辞 本研究の遂行にあたり終始変わらぬご指導, ご鞭撻を賜わりました大阪府立大学 大学 院理学系研究科 情報数理科学専攻 教授 馬野元秀先生に深甚の謝意を表します.また, 本論文の完成に当たり, ご教示を賜わりました大阪府立大学 大学院理学系研究科 情報数 理科学専攻 教授 藤本典幸先生, 教授 瀬田和久先生に厚く感謝の意を表します.また, プ ログラム開発等にあたり, 馬野研究室の学生諸兄に日頃より多くの御助言を頂き, 謝意を 表します. 83 付 録A ファジィルールの抽出に用いた分散データ 4.4 節の表 4.3 の各クライアントのアヤメデータを以下に示す. すべてのデータを合わ せると, アヤメデータ全体となる. 表 A.1: クライアント 1 のデータ sepal length sepal width petal length petal width 5.1 4.9 4.7 4.6 5.0 7.0 6.4 6.9 5.5 6.5 5.7 6.3 4.9 6.6 5.2 5.0 5.9 6.0 6.1 5.6 6.7 5.6 5.8 6.2 5.6 3.5 3.0 3.2 3.1 3.6 3.2 3.2 3.1 2.3 2.8 2.8 3.3 2.4 2.9 2.7 2.0 3.0 2.2 2.9 2.9 3.1 3.0 2.7 2.2 2.5 1.4 1.4 1.3 1.5 1.4 4.7 4.5 4.9 4.0 4.6 4.5 4.7 3.3 4.6 3.9 3.5 4.2 4.0 4.7 3.6 4.4 4.5 4.1 4.5 3.9 0.2 0.2 0.2 0.2 0.2 1.4 1.5 1.5 1.3 1.5 1.3 1.6 1.0 1.3 1.4 1.0 1.5 1.0 1.4 1.3 1.4 1.5 1.0 1.5 1.1 category setosa setosa setosa setosa setosa versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor 第 A 章 ファジィルールの抽出に用いた分散データ 84 6.3 5.8 7.1 6.3 6.5 7.6 4.9 7.3 6.7 7.2 3.3 2.7 3.0 2.9 3.0 3.0 2.5 2.9 2.5 3.6 6.0 5.1 5.9 5.6 5.8 6.6 4.5 6.3 5.8 6.1 2.5 1.9 2.1 1.8 2.2 2.1 1.7 1.8 1.8 2.5 virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica 表 A.2: クライアント 2 のデータ sepal length sepal width petal length petal width 5.4 4.6 5.0 4.4 4.9 6.4 6.6 6.7 6.3 5.6 5.5 6.8 6.7 6.0 5.7 5.5 5.5 5.8 6.0 5.4 6.4 6.5 7.7 7.7 6.9 5.8 3.9 3.4 3.4 2.9 3.1 2.9 3.0 3.1 2.3 3.0 2.5 2.8 3.0 2.9 2.6 2.4 2.4 2.7 2.7 3.0 3.2 3.0 3.8 2.6 3.1 2.7 1.7 1.4 1.5 1.4 1.5 4.3 4.4 4.7 4.4 4.1 4.0 4.8 5.0 4.5 3.5 3.8 3.7 3.9 5.1 4.5 5.3 5.5 6.7 6.9 5.1 5.1 0.4 0.3 0.2 0.2 0.1 1.3 1.4 1.5 1.3 1.3 1.3 1.4 1.7 1.5 1.0 1.1 1.0 1.2 1.6 1.5 2.3 1.8 2.2 2.3 2.3 1.9 category setosa setosa setosa setosa setosa versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor virginica virginica virginica virginica virginica virginica 第 A 章 ファジィルールの抽出に用いた分散データ 6.8 6.7 6.3 6.7 7.2 6.2 6.1 6.4 7.2 7.4 7.9 6.4 6.3 6.1 7.7 6.3 6.4 6.0 6.9 6.3 6.5 6.2 5.9 6.5 3.2 3.3 2.7 3.3 3.2 2.8 3.0 2.8 3.0 2.8 3.8 2.8 2.8 2.6 3.0 3.4 3.1 3.0 3.1 2.5 3.0 3.4 3.0 3.2 85 5.9 5.7 4.9 5.7 6.0 4.8 4.9 5.6 5.8 6.1 6.4 5.6 5.1 5.6 6.1 5.6 5.5 4.8 5.4 5.0 5.2 5.4 5.1 5.1 2.3 2.5 1.8 2.1 1.8 1.8 1.8 2.1 1.6 1.9 2.0 2.2 1.5 1.4 2.3 2.4 1.8 1.8 2.1 1.9 2.0 2.3 1.8 2.0 virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica 表 A.3: クライアント 3 のデータ sepal length sepal width petal length petal width 5.4 4.8 4.8 4.3 5.8 5.7 5.4 5.1 5.7 5.1 5.4 5.1 3.7 3.4 3.0 3.0 4.0 4.4 3.9 3.5 3.8 3.8 3.4 3.7 1.5 1.6 1.4 1.1 1.2 1.5 1.3 1.4 1.7 1.5 1.7 1.5 0.2 0.2 0.1 0.1 0.2 0.4 0.4 0.3 0.3 0.3 0.2 0.4 category setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa 第 A 章 ファジィルールの抽出に用いた分散データ 86 4.6 5.1 4.8 5.0 5.0 5.2 5.2 4.7 4.8 5.4 5.2 5.5 4.9 5.0 5.5 4.9 4.4 5.1 5.0 4.5 4.4 5.0 5.1 4.8 5.1 4.6 5.3 5.0 6.0 5.5 5.9 6.1 6.3 6.1 6.1 5.8 5.0 5.6 5.7 3.6 3.3 3.4 3.0 3.4 3.5 3.4 3.2 3.1 3.4 4.1 4.2 3.1 3.2 3.5 3.6 3.0 3.4 3.5 2.3 3.2 3.5 3.8 3.0 3.8 3.2 3.7 3.3 3.4 2.6 3.2 2.8 2.5 2.8 3.0 2.6 2.3 2.7 3.0 1.0 1.7 1.9 1.6 1.6 1.5 1.4 1.6 1.6 1.5 1.5 1.4 1.5 1.2 1.3 1.4 1.3 1.5 1.3 1.3 1.3 1.6 1.9 1.4 1.6 1.4 1.5 1.4 4.5 4.4 4.8 4.0 4.9 4.7 4.6 4.0 3.3 4.2 4.2 0.2 0.5 0.2 0.2 0.4 0.2 0.2 0.2 0.2 0.4 0.1 0.2 0.2 0.2 0.2 0.1 0.2 0.2 0.3 0.3 0.2 0.6 0.4 0.3 0.2 0.2 0.2 0.2 1.6 1.2 1.8 1.3 1.5 1.2 1.4 1.2 1.0 1.3 1.2 setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor 第 A 章 ファジィルールの抽出に用いた分散データ 5.7 6.2 5.1 5.7 6.7 6.4 6.8 5.7 5.8 6.0 6.9 5.6 7.7 6.7 2.9 2.9 2.5 2.8 3.0 2.7 3.0 2.5 2.8 2.2 3.2 2.8 2.8 3.1 87 4.2 4.3 3.0 4.1 5.2 5.3 5.5 5.0 5.1 5.0 5.7 4.9 6.7 5.6 1.3 1.3 1.1 1.3 2.3 1.9 2.1 2.0 2.4 1.5 2.3 2.0 2.0 2.4 versicolor versicolor versicolor versicolor virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica 89 付 録B ファジィ集合生成法 B の場合のアヤメデータ から抽出されたルール 4.5 節のアヤメデータを用いて第 3 章の図 3.4 のファジィ集合生成法 B により生成した ファジィ集合で実験を行なった結果は以下のようになる. パラメータは θP = 0.6, θC = 0.5, w1 = 0.4, w2 = 0.2, w3 = 0.4 とした. (1) 全データから抽出したルール (a) class に関するルール Number_of_data: 35 setosa: 5 versicolor: 20 virginica: 10 Total_of_setosa: 50 Total_of_versicolor: 50 Total_of_virginica: 50 Total_of_data: 150 1. Almost all data of {Petal_Length = small} are {class = setosa} (Cf 1) (P 0.98651) (C 1) 2. Almost all data of {Petal_Width = small} are {class = setosa} (Cf 1) (P 0.97757) (C 0.99859) 3. Most data of {Sepal_Length = small} are {class = setosa} (Cf 0.945616) (P 0.83404) (C 0.78574) -----------------------------------------------------------------------------4. Most data of {Petal_Width = middle} are {class = versicolor} (Cf 0.993873) (P 0.87786) (C 0.85228) 5. Most data of {Petal_Length = middle} are {class = versicolor} (Cf 0.966382) (P 0.84814) (C 0.78595) -----------------------------------------------------------------------------6. Most data of {Petal_Width = large} are {class = virginica} (Cf 0.99289) (P 0.87615) (C 0.88284) 7. Most data of {Petal_Length = large} are {class = virginica} (Cf 0.900765) (P 0.8109) (C 0.85928) 8. More than about 50% data of {Sepal_Length = large} are {class = virginica} (Cf 1) (P 0.74847) (C 0.50355) 90 第 B 章 ファジィ集合生成法 B の場合のアヤメデータから抽出されたルール (b) Sepal Length(がくの長さ) に関するルール Number_of_data: 35 setosa: 5 versicolor: 20 virginica: 10 Total_of_setosa: 50 Total_of_versicolor: 50 Total_of_virginica: 50 Total_of_data: 150 1. Most data of {Petal_Length = small} are {Sepal_Length = small} (Cf 0.838461) (P 0.78632) (C 0.84606) 2. Most data of {class = setosa} are {Sepal_Length = small} (Cf 0.836808) (P 0.78574) (C 0.83404) 3. Most data of {Petal_Width = small} are {Sepal_Length = small} (Cf 0.81334) (P 0.7778) (C 0.84337) -----------------------------------------------------------------------------4. More than about 50% data of {class = versicolor} are {Sepal_Length = middle} (Cf 1) (P 0.69738) (C 0.50347) ------------------------------------------------------------------------------ (c) Sepal Width(がくの幅) に関するルール 35 Number_of_data: setosa: 5 versicolor: 20 virginica: 10 Total_of_setosa: 50 Total_of_versicolor: 50 Total_of_virginica: 50 Total_of_data: 150 ----------------------------------------------------------------------------------------------------------------------------------------------------------- 第 B 章 ファジィ集合生成法 B の場合のアヤメデータから抽出されたルール 91 (d) Petal Length(花弁の長さ) に関するルール Number_of_data: 35 setosa: 5 versicolor: 20 virginica: 10 Total_of_setosa: 50 Total_of_versicolor: 50 Total_of_virginica: 50 Total_of_data: 150 1. All data of {class = setosa} are {Petal_Length = small} (Cf 1) (P 1) (C 0.98651) 2. Almost all data of {Petal_Width = small} are {Petal_Length = small} (Cf 1) (P 0.97876) (C 0.98633) 3. Most data of {Sepal_Length = small} are {Petal_Length = small} (Cf 0.963631) (P 0.84606) (C 0.78632) -----------------------------------------------------------------------------4. Most data of {class = versicolor} are {Petal_Length = middle} (Cf 0.837407) (P 0.78595) (C 0.84814) 5. More than about 50% data of {Petal_Width = middle} are {Petal_Length = middle} (Cf 1) (P 0.7354) (C 0.77046) -----------------------------------------------------------------------------6. Most data of {class = virginica} are {Petal_Length = large} (Cf 0.979274) (P 0.85928) (C 0.8109) 7. Most data of {Petal_Width = large} are {Petal_Length = large} (Cf 0.899177) (P 0.81019) (C 0.77041) 8. Most data of {Sepal_Length = large} are {Petal_Length = large} (Cf 0.890465) (P 0.80639) (C 0.51198) 92 第 B 章 ファジィ集合生成法 B の場合のアヤメデータから抽出されたルール (e) Petal Width(花弁の幅) に関するルール Number_of_data: 35 setosa: 5 versicolor: 20 virginica: 10 Total_of_setosa: 50 Total_of_versicolor: 50 Total_of_virginica: 50 Total_of_data: 150 1. Almost all data of {class = setosa} are {Petal_Width = small} (Cf 1) (P 0.99859) (C 0.97757) 2. Almost all data of {Petal_Length = small} are {Petal_Width = small} (Cf 1) (P 0.98633) (C 0.97876) 3. Most data of {Sepal_Length = small} are {Petal_Width = small} (Cf 0.959913) (P 0.84337) (C 0.7778) -----------------------------------------------------------------------------4. Most data of {class = versicolor} are {Petal_Width = middle} (Cf 0.971535) (P 0.85228) (C 0.87786) 5. Most data of {Petal_Length = middle} are {Petal_Width = middle} (Cf 0.790242) (P 0.77046) (C 0.7354) -----------------------------------------------------------------------------6. Most data of {class = virginica} are {Petal_Width = large} (Cf 0.996319) (P 0.88284) (C 0.87615) 7. Most data of {Petal_Length = large} are {Petal_Width = large} (Cf 0.79008) (P 0.77041) (C 0.81019) 第 B 章 ファジィ集合生成法 B の場合のアヤメデータから抽出されたルール 93 (2) クライアント 1 が持っているデータから抽出されたルール (a) class に関するルール Number_of_data: setosa: 5 versicolor: 20 virginica: 10 35 1. Almost all data of {Petal_Length = small}{Petal_Width = small} are {class = setosa} (Cf 0.969914) (P 0.92547) (C 1) 2. Almost all data of {Petal_Width = small}{Sepal_Width = large} are {class = setosa} (Cf 1) (P 0.99998) (C 0.65781) 3. Almost all data of {Sepal_Length = small}{Sepal_Width = large} are {class = setosa} (Cf 1) (P 0.98715) (C 0.65712) -----------------------------------------------------------------------------4. Almost all data of {Petal_Length = middle} are {class = versicolor} (Cf 0.966666) (P 0.92418) (C 0.88082) 5. Almost all data of {Petal_Width = middle} are {class = versicolor} (Cf 0.883211) (P 0.90167) (C 0.86716) 6. Most data of {Sepal_Length = middle} are {class = versicolor} (Cf 0.764942) (P 0.76287) (C 0.53899) -----------------------------------------------------------------------------7. Almost all data of {Petal_Width = large} are {class = virginica} (Cf 0.988295) (P 0.9347) (C 0.81086) 8. Most data of {Petal_Length = large} are {class = virginica} (Cf 0.99728) (P 0.88525) (C 0.85548) (b) Sepal Length(がくの長さ) に関するルール Number_of_data: setosa: 5 versicolor: 20 virginica: 10 35 1. Almost all data of {Petal_Length = small} are {Sepal_Length = small} (Cf 1) (P 0.95493) (C 0.5488) 2. Most data of {Petal_Width = small} are {Sepal_Length = small} (Cf 0.96895) (P 0.85016) (C 0.55209) ----------------------------------------------------------------------------------------------------------------------------------------------------------3. More than about 50% data of {Petal_Length = large} are {Sepal_Length = large} (Cf 0.996671) (P 0.63776) (C 0.61934) 94 第 B 章 ファジィ集合生成法 B の場合のアヤメデータから抽出されたルール (c) Sepal Width(がくの幅) に関するルール Number_of_data: setosa: 5 versicolor: 20 virginica: 10 35 ----------------------------------------------------------------------------------------------------------------------------------------------------------- (d) Petal Length(花弁の長さ) に関するルール Number_of_data: setosa: 5 versicolor: 20 virginica: 10 35 1. All data of {class = setosa} are {Petal_Length = small} (Cf 1) (P 1) (C 0.79685) 2. Most data of {Petal_Width = small}{Sepal_Length = small} are {Petal_Length = small} (Cf 0.998577) (P 0.88933) (C 0.85434) 3. Almost all data of {Sepal_Length = small}{Sepal_Width = large} are {Petal_Length = small} (Cf 1) (P 0.98719) (C 0.52365) -----------------------------------------------------------------------------4. Most data of {class = versicolor} are {Petal_Length = middle} (Cf 0.995402) (P 0.88082) (C 0.92418) 5. Most data of {Petal_Width = middle} are {Petal_Length = middle} (Cf 0.951062) (P 0.83743) (C 0.84503) 6. More than about 50% data of {Sepal_Length = middle} are {Petal_Length = middle} (Cf 1) (P 0.73986) (C 0.54847) -----------------------------------------------------------------------------7. Most data of {class = virginica} are {Petal_Length = large} (Cf 0.975225) (P 0.85548) (C 0.88525) 8. Most data of {Petal_Width = large} are {Petal_Length = large} (Cf 0.973273) (P 0.85376) (C 0.76641) 9. More than about 50% data of {Sepal_Length = large} are {Petal_Length = large} (Cf 0.97911) (P 0.61934) (C 0.63776) 第 B 章 ファジィ集合生成法 B の場合のアヤメデータから抽出されたルール 95 (e) Petal Width(花弁の幅) に関するルール Number_of_data: setosa: 5 versicolor: 20 virginica: 10 35 1. All data of {class = setosa} are {Petal_Width = small} (Cf 1) (P 1) (C 0.70519) 2. Most data of {Petal_Length = small} are {Petal_Width = small} (Cf 0.980997) (P 0.86101) (C 0.76198) -----------------------------------------------------------------------------3. Most data of {class = versicolor} are {Petal_Width = middle} (Cf 0.986519) (P 0.86716) (C 0.90167) 4. Most data of {Petal_Length = middle} are {Petal_Width = middle} (Cf 0.962229) (P 0.84503) (C 0.83743) 5. More than about 50% data of {Sepal_Length = middle} are {Petal_Width = middle} (Cf 1) (P 0.69946) (C 0.51386) -----------------------------------------------------------------------------6. Most data of {class = virginica} are {Petal_Width = large} (Cf 0.900676) (P 0.81086) (C 0.9347) 7. Most data of {Petal_Length = large} are {Petal_Width = large} (Cf 0.776921) (P 0.76641) (C 0.85376) (3) クライアント 2 が持っているデータから抽出されたルール (a) class に関するルール Number_of_data: setosa: 5 versicolor: 15 virginica: 30 50 1. Most data of {Petal_Length = small}{Petal_Width = small} are {class = setosa} (Cf 0.899581) (P 0.81037) (C 1) 2. Almost all data of {Petal_Width = small}{Sepal_Width = large} are {class = setosa} (Cf 1) (P 0.999) (C 0.53314) ----------------------------------------------------------------------------------------------------------------------------------------------------------3. Almost all data of {Petal_Width = large} are {class = virginica} (Cf 1) (P 0.99819) (C 0.59249) 4. More than about 50% data of {Sepal_Length = middle} are {class = virginica} (Cf 1) (P 0.67679) (C 0.65808) 5. More than about 50% data of {Sepal_Width = middle} are {class = virginica} (Cf 0.99621) (P 0.63694) (C 0.60505) 96 第 B 章 ファジィ集合生成法 B の場合のアヤメデータから抽出されたルール (b) Sepal Length(がくの長さ) に関するルール Number_of_data: setosa: 5 versicolor: 15 virginica: 30 50 1. Most data of {Petal_Length = small} are {Sepal_Length = small} (Cf 0.921572) (P 0.82079) (C 0.6053) 2. Most data of {Petal_Width = small} are {Sepal_Length = small} (Cf 0.727493) (P 0.75235) (C 0.64146) -----------------------------------------------------------------------------3. Most data of {Petal_Length = middle} are {Sepal_Length = middle} (Cf 0.756433) (P 0.76041) (C 0.71813) 4. More than about 50% data of {class = virginica} are {Sepal_Length = middle} (Cf 1) (P 0.65808) (C 0.67679) 5. More than about 50% data of {Petal_Width = middle} are {Sepal_Length = middle} (Cf 1) (P 0.69142) (C 0.56076) 6. More than about 50% data of {Sepal_Width = middle} are {Sepal_Length = middle} (Cf 0.977073) (P 0.61788) (C 0.60363) ------------------------------------------------------------------------------ (c) Sepal Width(がくの幅) に関するルール Number_of_data: setosa: 5 versicolor: 15 virginica: 30 50 -----------------------------------------------------------------------------1. More than about 50% data of {Petal_Length = middle} are {Sepal_Width = middle} (Cf 0.997267) (P 0.63891) (C 0.61763) 2. More than about 50% data of {Petal_Width = middle} are {Sepal_Width = middle} (Cf 1) (P 0.65664) (C 0.54512) 3. More than about 50% data of {class = virginica} are {Sepal_Width = middle} (Cf 0.9551) (P 0.60505) (C 0.63694) 4. More than about 50% data of {Sepal_Length = middle} are {Sepal_Width = middle} (Cf 0.952218) (P 0.60363) (C 0.61788) ------------------------------------------------------------------------------ 第 B 章 ファジィ集合生成法 B の場合のアヤメデータから抽出されたルール 97 (d) Petal Length(花弁の長さ) に関するルール Number_of_data: setosa: 5 versicolor: 15 virginica: 30 50 1. All data of {class = setosa} are {Petal_Length = small} (Cf 1) (P 1) (C 0.67727) 2. More than about 50% data of {Petal_Width = small} are {Petal_Length = small} (Cf 1) (P 0.72289) (C 0.83575) 3. More than about 50% data of {Sepal_Length = small} are {Petal_Length = small} (Cf 0.955598) (P 0.6053) (C 0.82079) -----------------------------------------------------------------------------4. More than about 50% data of {Sepal_Length = middle} are {Petal_Length = middle} (Cf 1) (P 0.71813) (C 0.76041) 5. Most data of {Petal_Width = middle} are {Petal_Length = middle} (Cf 0.730071) (P 0.75305) (C 0.64669) 6. More than about 50% data of {Sepal_Width = middle} are {Petal_Length = middle} (Cf 0.976715) (P 0.61763) (C 0.63891) -----------------------------------------------------------------------------7. More than about 50% data of {Sepal_Length = large} are {Petal_Length = large} (Cf 1) (P 0.74494) (C 0.53483) (e) Petal Width(花弁の幅) に関するルール Number_of_data: setosa: 5 versicolor: 15 virginica: 30 50 1. All data of {class = setosa} are {Petal_Width = small} (Cf 1) (P 1) (C 0.58581) 2. Most data of {Petal_Length = small} are {Petal_Width = small} (Cf 0.948399) (P 0.83575) (C 0.72289) 3. More than about 50% data of {Sepal_Length = small} are {Petal_Width = small} (Cf 0.998379) (P 0.64146) (C 0.75235) -----------------------------------------------------------------------------4. More than about 50% data of {Petal_Length = middle} are {Petal_Width = middle} (Cf 0.999757) (P 0.64669) (C 0.75305) -----------------------------------------------------------------------------5. More than about 50% data of {class = virginica}{Petal_Length = large} are {Petal_Width = large} (Cf 1) (P 0.69582) (C 0.58219) 6. More than about 50% data of {Petal_Length = large} are {Petal_Width = large} (Cf 1) (P 0.6881) (C 0.58229) 98 第 B 章 ファジィ集合生成法 B の場合のアヤメデータから抽出されたルール (4) クライアント 3 が持っているデータから抽出されたルール (a) class に関するルール Number_of_data: setosa: 40 versicolor: 15 virginica: 10 65 1. All data of {Petal_Length = small} are {class = setosa} (Cf 1) (P 1) (C 0.98918) 2. All data of {Petal_Width = small} are {class = setosa} (Cf 1) (P 1) (C 0.96772) 3. Almost all data of {Sepal_Length = small} are {class = setosa} (Cf 1) (P 0.95294) (C 0.51046) 4. More than about 50% data of {Sepal_Width = middle} are {class = setosa} (Cf 1) (P 0.69914) (C 0.60346) -----------------------------------------------------------------------------5. Most data of {Petal_Width = middle} are {class = versicolor} (Cf 0.954383) (P 0.83959) (C 0.52803) -----------------------------------------------------------------------------6. More than about 50% data of {Petal_Width = large}{Petal_Length = large} are {class = virginica} (Cf 1) (P 0.65586) (C 0.96185) 7. More than about 50% data of {Petal_Length = large}{Sepal_Length = large} are {class = virginica} (Cf 1) (P 0.71699) (C 0.60924) 8. More than about 50% data of {Sepal_Length = large} are {class = virginica} (Cf 0.998232) (P 0.64108) (C 0.61184) (b) Sepal Length(がくの長さ) に関するルール Number_of_data: setosa: 40 versicolor: 15 virginica: 10 65 1. More than about 50% data of {class = setosa}{Sepal_Width = middle} are {Sepal_Length = small} (Cf 0.990842) (P 0.6297) (C 0.70939) 2. More than about 50% data of {Petal_Length = small}{Sepal_Width = middle} are {Sepal_Length = small} (Cf 0.990078) (P 0.62887) (C 0.70159) 3. More than about 50% data of {Petal_Width = small}{Sepal_Width = middle} are {Sepal_Length = small} (Cf 0.994529) (P 0.63431) (C 0.688) --------------------------------------------------------------------------------------------------------------------------------------------------------------4. More than about 50% data of {class = virginica} are {Sepal_Length = large} (Cf 0.96764) (P 0.61184) (C 0.64108) 第 B 章 ファジィ集合生成法 B の場合のアヤメデータから抽出されたルール 99 (c) Sepal Width(がくの幅) に関するルール Number_of_data: setosa: 40 versicolor: 15 virginica: 10 65 1. More than about 50% data of {class = versicolor} are {Sepal_Width = small} (Cf 0.960781) (P 0.60799) (C 0.55141) -----------------------------------------------------------------------------2. More than about 50% data of {class = setosa} are {Sepal_Width = middle} (Cf 0.951867) (P 0.60346) (C 0.69914) 3. More than about 50% data of {Petal_Length = small} are {Sepal_Width = middle} (Cf 0.953284) (P 0.60415) (C 0.69236) 4. More than about 50% data of {Petal_Width = small} are {Sepal_Width = middle} (Cf 0.945308) (P 0.60039) (C 0.67313) ------------------------------------------------------------------------------ (d) Petal Length(花弁の長さ) に関するルール Number_of_data: Number_of_attr: run_attr_number: setosa: 40 versicolor: 15 virginica: 10 65 5 4 1. Almost all data of {class = setosa} are {Petal_Length = small} (Cf 1) (P 0.98918) (C 1) 2. Almost all data of {Petal_Width = small} are {Petal_Length = small} (Cf 1) (P 0.98929) (C 0.96782) 3. Almost all data of {Sepal_Length = small} are {Petal_Length = small} (Cf 0.996421) (P 0.94154) (C 0.50987) 4. More than about 50% data of {Sepal_Width = middle} are {Petal_Length = small} (Cf 1) (P 0.69236) (C 0.60415) ----------------------------------------------------------------------------------------------------------------------------------------------------------5. Most data of {Petal_Width = large} are {Petal_Length = large} (Cf 0.988735) (P 0.86998) (C 0.76977) 6. Almost all data of {class = virginica} are {Petal_Length = large} (Cf 1) (P 0.98322) (C 0.51608) 7. More than about 50% data of {Sepal_Width = small} are {Petal_Length = large} (Cf 0.970281) (P 0.61343) (C 0.53253) 100 第 B 章 ファジィ集合生成法 B の場合のアヤメデータから抽出されたルール (e) Petal Width(花弁の幅) に関するルール Number_of_data: setosa: 40 versicolor: 15 virginica: 10 65 1. Almost all data of {class = setosa} are {Petal_Width = small} (Cf 1) (P 0.96772) (C 1) 2. Almost all data of {Petal_Length = small} are {Petal_Width = small} (Cf 1) (P 0.96782) (C 0.98929) 3. Almost all data of {Sepal_Length = small} are {Petal_Width = small} (Cf 0.966924) (P 0.92428) (C 0.51162) 4. More than about 50% data of {Sepal_Width = middle} are {Petal_Width = small} (Cf 1) (P 0.67313) (C 0.60039) -----------------------------------------------------------------------------5. More than about 50% data of {class = versicolor}{Sepal_Width = small} are {Petal_Width = middle} (Cf 0.982366) (P 0.62183) (C 0.60114) -----------------------------------------------------------------------------6. Almost all data of {class = virginica} are {Petal_Width = large} (Cf 1) (P 0.97778) (C 0.58003) 7. Most data of {Petal_Length = large} are {Petal_Width = large} (Cf 0.788002) (P 0.76977) (C 0.86998) 101 付 録C クライアント 2 と 3 のデータからのルール 4.4 節のクライアント 2 と 3 が持っているデータから抽出されたルールを以下に示す. (1) クライアント 2 のデータからのルール (a) class に関するルール Number_of_data: setosa: 5 versicolor: 15 virginica: 30 50 1. Almost all data of {Petal_Length = small} are {class = setosa} (Cf 1) (P 0.95747) (C 0.99418) 2. Almost all data of {Petal_Width = small} are {class = setosa} (Cf 0.992188) (P 0.9375) (C 0.95833) 3. More than about 50% data of {Sepal_Length = small} are {class = setosa} (Cf 1) (P 0.6898) (C 0.78857) -------------------------------------------------------------------------------4. More than about 50% data of {Petal_Width = middle} are {class = versicolor} (Cf 0.731356) (P 0.54005) (C 0.94259) -------------------------------------------------------------------------------5. Almost all data of {Petal_Width = large} are {class = virginica} (Cf 1) (P 0.97105) (C 0.60556) 6. More than about 50% data of {Sepal_Width = middle} are {class = virginica} (Cf 0.999748) (P 0.64663) (C 0.73958) 7. More than about 50% data of {Sepal_Length = middle} are {class = virginica} (Cf 0.976122) (P 0.61722) (C 0.72906) 第 C 章 クライアント 2 と 3 のデータからのルール 102 (b) Sepal Length(がくの長さ) に関するルール Number_of_data: setosa: 5 versicolor: 15 virginica: 30 50 1. Most data of {class = setosa} are {Sepal_Length = small} (Cf 0.844792) (P 0.78857) (C 0.6898) 2. Most data of {Petal_Length = small} are {Sepal_Length = small} (Cf 0.772052) (P 0.76496) (C 0.69481) 3. Most data of {Petal_Width = small} are {Sepal_Length = small} (Cf 0.755909) (P 0.76026) (C 0.67982) -----------------------------------------------------------------------------4. Most data of {Petal_Length = middle} are {Sepal_Length = middle} (Cf 0.976834) (P 0.85695) (C 0.71362) 5. Most data of {Petal_Width = middle} are {Sepal_Length = middle} (Cf 0.903002) (P 0.81191) (C 0.59985) 6. More than about 50% data of {Sepal_Width = middle} are {Sepal_Length = middle} (Cf 1) (P 0.72446) (C 0.70149) 7. More than about 50% data of {class = virginica} are {Sepal_Length = middle} (Cf 1) (P 0.72906) (C 0.61722) ------------------------------------------------------------------------------ (c) Sepal Width(がくの幅) に関するルール Number_of_data: setosa: 5 versicolor: 15 virginica: 30 50 -----------------------------------------------------------------------------1. More than about 50% data of {Sepal_Length = middle} are {Sepal_Width = middle} (Cf 1) (P 0.70149) (C 0.72446) 2. More than about 50% data of {class = virginica} are {Sepal_Width = middle} (Cf 1) (P 0.73958) (C 0.64663) 3. More than about 50% data of {Petal_Length = middle} are {Sepal_Width = middle} (Cf 1) (P 0.69146) (C 0.59466) ------------------------------------------------------------------------------ 第 C 章 クライアント 2 と 3 のデータからのルール 103 (d) Petal Length(花弁の長さ) に関するルール Number_of_data: setosa: 5 versicolor: 15 virginica: 30 50 1. Almost all data of {class = setosa} are {Petal_Length = small} (Cf 1) (P 0.99418) (C 0.95747) 2. Almost all data of {Petal_Width = small} are {Petal_Length = small} (Cf 0.991341) (P 0.93684) (C 0.92229) 3. More than about 50% data of {Sepal_Length = small} are {Petal_Length = small} (Cf 1) (P 0.69481) (C 0.76496) -----------------------------------------------------------------------------4. More than about 50% data of {Sepal_Length = middle} are {Petal_Length = middle} (Cf 1) (P 0.71362) (C 0.85695) 5. Most data of {Petal_Width = middle} are {Petal_Length = middle} (Cf 0.798737) (P 0.77311) (C 0.6859) 6. More than about 50% data of {Sepal_Width = middle} are {Petal_Length = middle} (Cf 0.931944) (P 0.59466) (C 0.69146) -----------------------------------------------------------------------------7. More than about 50% data of {class = virginica}{Petal_Width = large} are {Petal_Length = large} (Cf 0.695072) (P 0.53286) (C 0.63274) 8. More than about 50% data of {Petal_Width = large} are {Petal_Length = large} (Cf 0.634886) (P 0.52182) (C 0.6381) (e) Petal Width(花弁の幅) に関するルール Number_of_data: setosa: 5 versicolor: 15 virginica: 30 50 1. Almost all data of {class = setosa} are {Petal_Width = small} (Cf 1) (P 0.95833) (C 0.9375) 2. Almost all data of {Petal_Length = small} are {Petal_Width = small} (Cf 0.961608) (P 0.92229) (C 0.93684) 3. More than about 50% data of {Sepal_Length = small} are {Petal_Width = small} (Cf 1) (P 0.67982) (C 0.76026) -------------------------------------------------------------------------------4. Almost all data of {class = versicolor} are {Petal_Width = middle} (Cf 0.997255) (P 0.94259) (C 0.54005) 5. More than about 50% data of {Petal_Length = middle} are {Petal_Width = middle} (Cf 1) (P 0.6859) (C 0.77311) 6. More than about 50% data of {Sepal_Length = middle} are {Petal_Width = middle} (Cf 0.944111) (P 0.59985) (C 0.81191) -------------------------------------------------------------------------------7. More than about 50% data of {class = virginica} are {Petal_Width = large} (Cf 0.956113) (P 0.60556) (C 0.97105) 8. More than about 50% data of {Petal_Length = large} are {Petal_Width = large} (Cf 0.996853) (P 0.6381) (C 0.52182) 第 C 章 クライアント 2 と 3 のデータからのルール 104 (2) クライアント 3 のデータからのルール (a) class に関するルール Number_of_data: setosa: 40 versicolor: 15 virginica: 10 65 1. Almost all data of {Petal_Width = small} are {class = setosa} (Cf 1) (P 0.99622) (C 0.94669) 2. Almost all data of {Petal_Length = small} are {class = setosa} (Cf 1) (P 0.99332) (C 0.93832) 3. Almost all data of {Sepal_Length = small} are {class = setosa} (Cf 0.966174) (P 0.92399) (C 0.58469) 4. More than about 50% data of {Sepal_Width = middle} are {class = setosa} (Cf 1) (P 0.68582) (C 0.76942) -------------------------------------------------------------------------------5. Most data of {Petal_Width = middle} are {class = versicolor} (Cf 0.773973) (P 0.76553) (C 0.93774) 6. More than about 50% data of {Petal_Length = middle} are {class = versicolor} (Cf 1) (P 0.65712) (C 0.90615) -------------------------------------------------------------------------------7. Almost all data of {Petal_Width = large} are {class = virginica} (Cf 0.91293) (P 0.90827) (C 0.78242) 8. Most data of {Petal_Length = large} are {class = virginica} (Cf 0.926022) (P 0.82307) (C 0.53749) 第 C 章 クライアント 2 と 3 のデータからのルール 105 (b) Sepal Length(がくの長さ) に関するルール Number_of_data: setosa: 40 versicolor: 15 virginica: 10 65 1. More than about 50% data of {class = setosa} are {Sepal_Length = small} (Cf 0.905213) (P 0.58469) (C 0.92399) 2. More than about 50% data of {Petal_Width = small} are {Sepal_Length = small} (Cf 0.914385) (P 0.58793) (C 0.88293) 3. More than about 50% data of {Petal_Length = small} are {Sepal_Length = small} (Cf 0.909035) (P 0.58602) (C 0.87481) ----------------------------------------------------------------------------------------------------------------------------------------------------------- (c) Sepal Width(がくの幅) に関するルール Number_of_data: setosa: 40 versicolor: 15 virginica: 10 65 ---------------------------------------------------------------------------1. Most data of {class = setosa} are {Sepal_Width = middle} (Cf 0.786861) (P 0.76942) (C 0.68582) 2. Most data of {Petal_Width = small} are {Sepal_Width = middle} (Cf 0.780679) (P 0.76754) (C 0.65013) 3. Most data of {Petal_Length = small} are {Sepal_Width = middle} (Cf 0.766892) (P 0.76344) (C 0.64281) ---------------------------------------------------------------------------- 第 C 章 クライアント 2 と 3 のデータからのルール 106 (d) Petal Length(花弁の長さ) に関するルール Number_of_data: Number_of_attr: run_attr_number: setosa: 40 versicolor: 15 virginica: 10 65 5 4 1. Almost all data of {class = setosa} are {Petal_Length = small} (Cf 0.993179) (P 0.93832) (C 0.99332) 2. Almost all data of {Petal_Width = small} are {Petal_Length = small} (Cf 0.990326) (P 0.93609) (C 0.94169) 3. Most data of {Sepal_Length = small} are {Petal_Length = small} (Cf 0.992068) (P 0.87481) (C 0.58602) 4. More than about 50% data of {Sepal_Width = middle} are {Petal_Length = small} (Cf 0.998851) (P 0.64281) (C 0.76344) -----------------------------------------------------------------------------5. Almost all data of {class = versicolor} are {Petal_Length = middle} (Cf 0.903859) (P 0.90615) (C 0.65712) 6. Most data of {Petal_Width = middle} are {Petal_Length = middle} (Cf 0.795328) (P 0.77204) (C 0.68581) -----------------------------------------------------------------------------7. More than about 50% data of {class = virginica} are {Petal_Length = large} (Cf 0.7187) (P 0.53749) (C 0.82307) 8. More than about 50% data of {Petal_Width = large} are {Petal_Length = large} (Cf 0.66631) (P 0.52746) (C 0.69579) (e) Petal Width(花弁の幅) に関するルール Number_of_data: setosa: 40 versicolor: 15 virginica: 10 65 1. Almost all data of {class = setosa} are {Petal_Width = small} (Cf 0.999452) (P 0.94669) (C 0.99622) 2. Almost all data of {Petal_Length = small} are {Petal_Width = small} (Cf 0.996547) (P 0.94169) (C 0.93609) 3. Most data of {Sepal_Length = small} are {Petal_Width = small} (Cf 0.996358) (P 0.88293) (C 0.58793) 4. More than about 50% data of {Sepal_Width = middle} are {Petal_Width = small} (Cf 1) (P 0.65013) (C 0.76754) -----------------------------------------------------------------------------5. Almost all data of {class = versicolor} are {Petal_Width = middle} (Cf 0.992485) (P 0.93774) (C 0.76553) 6. More than about 50% data of {Petal_Length = middle} are {Petal_Width = middle} (Cf 1) (P 0.68581) (C 0.77204) -----------------------------------------------------------------------------7. Most data of {class = virginica} are {Petal_Width = large} (Cf 0.827187) (P 0.78242) (C 0.90827) 8. More than about 50% data of {Petal_Length = large} are {Petal_Width = large} (Cf 1) (P 0.69579) (C 0.52746) 107 付 録D ファジィ集合生成法 B の場合のワインデータ から抽出されたルール 4.5 節のワインデータを用いて第 3 章の図 3.4 のようなファジィ集合生成法 B により生 成したファジィ集合で実験を行なった結果は以下のようになる (class に関するルールの みを示す). パラメータは θP = 0.7, θC = 0.5, w1 = 0.5, w2 = 0.2, w3 = 0.3 とした. (1) データ全体の class に関するルール 1. Almost all data of {A_13 = large} are {class = C1} (Cf 1) (P 0.97341) (C 0.58103) 2. Most data of {A_01 = large}{A_10 = middle} are {class = C1} (Cf 0.977177) (P 0.85727) (C 0.50092) 3. More than about 50% data of {A_10 = middle}{A_09 = middle} are {class = C1} (Cf 1) (P 0.70076) (C 0.59738) -----------------------------------------------------------------------------4. Almost all data of {A_10 = small} are {class = C2} (Cf 0.845599) (P 0.89443) (C 0.78726) 5. Almost all data of {A_01 = small} are {class = C2} (Cf 0.907421) (P 0.90697) (C 0.57212) 6. Almost all data of {A_13 = small}{A_07 = middle} are {class = C2} (Cf 1) (P 0.9521) (C 0.51501) -----------------------------------------------------------------------------7. Almost all data of {A_12 = small}{A_11 = small} are {class = C3} (Cf 1) (P 0.97771) (C 0.75841) 8. Almost all data of {A_07 = small}{A_11 = small} are {class = C3} (Cf 1) (P 0.97355) (C 0.75384) 9. Most data of {A_11 = small} are {class = C3} (Cf 0.906472) (P 0.8135) (C 0.80224) 10. Most data of {A_06 = small}{A_01 = middle} are {class = C3} (Cf 0.74578) (P 0.75739) (C 0.51338) 108 第 D 章 ファジィ集合生成法 B の場合のワインデータから抽出されたルール (2) クライアント 1 で class に関するルール Number_of_data: C1: 40 C2: 21 C3: 8 69 1. Almost all data of {A_01 = large} are {class = C1} (Cf 0.941004) (P 0.91565) (C 0.53486) 2. Most data of {A_07 = large} are {class = C1} (Cf 0.991076) (P 0.87328) (C 0.5703) 3. Most data of {A_06 = middle} are {class = C1} (Cf 0.771039) (P 0.76466) (C 0.67064) 4. Most data of {A_09 = middle} are {class = C1} (Cf 0.7505) (P 0.75872) (C 0.64753) 5. Most data of {A_02 = middle} are {class = C1} (Cf 0.83023) (P 0.78346) (C 0.58366) 6. More than about 50% data of {A_11 = middle} are {class = C1} (Cf 1) (P 0.71369) (C 0.6589) 7. More than about 50% data of {A_13 = middle} are {class = C1} (Cf 1) (P 0.72722) (C 0.52831) -----------------------------------------------------------------------------8. More than about 50% data of {A_01 = small} are {class = C2} (Cf 1) (P 0.72275) (C 0.60863) 9. More than about 50% data of {A_10 = small} are {class = C2} (Cf 1) (P 0.71186) (C 0.62548) 10. Most data of {A_13 = small}{A_02 = small} are {class = C2} (Cf 0.991136) (P 0.87337) (C 0.5164) -----------------------------------------------------------------------------11. Almost all data of {A_12 = small}{A_11 = small} are {class = C3} (Cf 0.950198) (P 0.91844) (C 0.99568) 12. Almost all data of {A_11 = small}{A_07 = small} are {class = C3} (Cf 0.862345) (P 0.89753) (C 0.98918) 13. Most data of {A_07 = small}{A_10 = middle} are {class = C3} (Cf 0.7262) (P 0.752) (C 0.72347) 第 D 章 ファジィ集合生成法 B の場合のワインデータから抽出されたルール 109 (3) クライアント 2 で class に関するルール Number_of_data: C1: 10 C2: 40 C3: 10 60 1. Almost all data of {A_13 = large} are {class = C1} (Cf 0.926003) (P 0.91153) (C 0.87902) 2. Almost all data of {A_01 = large}{A_06 = large} are {class = C1} (Cf 1) (P 0.98374) (C 0.53903) 3. More than about 50% data of {A_04 = small}{A_08 = small} are {class = C1} (Cf 1) (P 0.745) (C 0.50707) 4. Most data of {A_10 = large}{A_09 = middle} are {class = C1} (Cf 0.94769) (P 0.83531) (C 0.54494) -----------------------------------------------------------------------------5. All data of {A_10 = small} are {class = C2} (Cf 1) (P 1) (C 0.62266) 6. Almost all data of {A_13 = small} are {class = C2} (Cf 0.988569) (P 0.93488) (C 0.63204) 7. Most data of {A_07 = middle} are {class = C2} (Cf 0.981568) (P 0.8616) (C 0.78336) 8. Most data of {A_09 = middle} are {class = C2} (Cf 0.806962) (P 0.77573) (C 0.74211) 9. Most data of {A_06 = middle} are {class = C2} (Cf 0.862948) (P 0.79529) (C 0.61866) 10. Most data of {A_01 = middle} are {class = C2} (Cf 0.841966) (P 0.78756) (C 0.53503) 11. More than about 50% data of {A_04 = middle} are {class = C2} (Cf 1) (P 0.70523) (C 0.72757) -----------------------------------------------------------------------------12. Most data of {A_07 = small}{A_09 = small} are {class = C3} (Cf 0.997678) (P 0.88637) (C 0.89996) 13. Most data of {A_12 = small}{A_09 = small} are {class = C3} (Cf 0.988922) (P 0.87023) (C 0.72253) 14. Almost all data of {A_09 = small}{A_01 = large} are {class = C3} (Cf 0.994146) (P 0.93918) (C 0.50397) 15. Most data of {A_06 = small}{A_11 = small} are {class = C3} (Cf 0.948061) (P 0.83554) (C 0.59743) 110 第 D 章 ファジィ集合生成法 B の場合のワインデータから抽出されたルール (4) クライアント 3 で class に関するルール Number_of_data: C1: 9 C2: 10 C3: 30 49 1. Almost all data of {A_13 = large} are {class = C1} (Cf 1) (P 0.95225) (C 0.85031) 2. All data of {A_07 = large}{A_01 = large} are {class = C1} (Cf 1) (P 1) (C 0.892) 3. Almost all data of {A_01 = large}{A_11 = large} are {class = C1} (Cf 1) (P 0.99183) (C 0.79802) 4. More than about 50% data of {A_04 = small} are {class = C1} (Cf 1) (P 0.71332) (C 0.66354) 5. Almost all data of {A_06 = large}{A_10 = middle} are {class = C1} (Cf 1) (P 0.95557) (C 0.50747) 6. Most data of {A_12 = large}{A_05 = middle} are {class = C1} (Cf 0.975024) (P 0.8553) (C 0.50383) 7. Most data of {A_11 = large}{A_05 = middle} are {class = C1} (Cf 0.935056) (P 0.82792) (C 0.57461) 8. More than about 50% data of {A_02 = small}{A_03 = middle} are {class = C1} (Cf 1) (P 0.73432) (C 0.53878) -----------------------------------------------------------------------------9. Almost all data of {A_10 = small}{A_01 = small} are {class = C2} (Cf 0.969298) (P 0.92522) (C 0.82028) 10. Almost all data of {A_01 = small}{A_11 = large} are {class = C2} (Cf 1) (P 0.99966) (C 0.67713) 11. Most data of {A_11 = large}{A_05 = small} are {class = C2} (Cf 0.905105) (P 0.81287) (C 0.55035) -----------------------------------------------------------------------------12. Almost all data of {A_12 = small} are {class = C3} (Cf 1) (P 0.99622) (C 0.83034) 13. Almost all data of {A_11 = small} are {class = C3} (Cf 1) (P 0.99995) (C 0.79031) 14. Almost all data of {A_07 = small} are {class = C3} (Cf 1) (P 0.9656) (C 0.84538) 15. Almost all data of {A_06 = small} are {class = C3} (Cf 0.920957) (P 0.91024) (C 0.65029) 16. Almost all data of {A_01 = middle} are {class = C3} (Cf 0.903288) (P 0.90602) (C 0.64039) 17. Almost all data of {A_09 = small} are {class = C3} (Cf 0.987832) (P 0.9344) (C 0.51078) 18. Most data of {A_02 = middle} are {class = C3} (Cf 0.894223) (P 0.80801) (C 0.52337) 19. Most data of {A_13 = middle} are {class = C3} (Cf 0.782464) (P 0.76808) (C 0.61647) 20. More than about 50% data of {A_05 = middle} are {class = C3} (Cf 1) (P 0.71595) (C 0.59138) 21. More than about 50% data of {A_10 = middle} are {class = C3} (Cf 1) (P 0.73603) (C 0.51006) 111 付 録E ファジィ集合生成法 B の場合の比較結果 4.6 節においてファジィ集合生成法 B により生成したファジィ集合を用いて各クライ アントから抽出したルールとデータ全体から抽出したルールの比較結果は以下のように なる. (1) アヤメデータの数値例 (a) クライアント 1 Number_of_data: setosa: 5 versicolor: 20 virginica: 10 35 局所のみのルール: 1. Most data of {Sepal_Length = middle} are {class = versicolor} (Cf 0.764942) (P 0.76287) (C 0.53899) 2. More than about 50% data of {Petal_Length = large} are {Sepal_Length = large} (Cf 0.996671) (P 0.63776) (C 0.61934) 3. More than about 50% data of {Sepal_Length = middle} are {Petal_Length = middle} (Cf 1) (P 0.73986) (C 0.54847) 4. More than about 50% data of {Sepal_Length = middle} are {Petal_Width = middle} (Cf 1) (P 0.69946) (C 0.51386) -----------------------------------------------------------------------------全体のみのルール: 1. More than about 50% data of {Sepal_Length = large} are {class = virginica} (Cf 1) (P 0.74847) (C 0.50355) 2. Most data of {class = setosa} are {Sepal_Length = small} (Cf 0.836808) (P 0.78574) (C 0.83404) 3. More than about 50% data of {class = versicolor} are {Sepal_Length = middle} (Cf 1) (P 0.69738) (C 0.50347) 4. Most data of {Sepal_Length = small} are {Petal_Width = small} (Cf 0.959913) (P 0.84337) (C 0.7778) 第 E 章 ファジィ集合生成法 B の場合の比較結果 112 (b) クライアント 2 Number_of_data: setosa: 5 versicolor: 15 virginica: 30 50 局所のみのルール: 1. More than about 50% data of {Sepal_Length = middle} are {class = virginica} (Cf 1) (P 0.67679) (C 0.65808) 2. More than about 50% data of {Sepal_Width = middle} are {class = virginica} (Cf 0.99621) (P 0.63694) (C 0.60505) 3. Most data of {Petal_Length = middle} are {Sepal_Length = middle} (Cf 0.756433) (P 0.76041) (C 0.71813) 4. More than about 50% data of {class = virginica} are {Sepal_Length = middle} (Cf 1) (P 0.65808) (C 0.67679) 5. More than about 50% data of {Petal_Width = middle} are {Sepal_Length = middle} (Cf 1) (P 0.69142) (C 0.56076) 6. More than about 50% data of {Sepal_Width = middle} are {Sepal_Length = middle} (Cf 0.977073) (P 0.61788) (C 0.60363) 7. More than about 50% data of {Petal_Length = middle} are {Sepal_Width = middle} (Cf 0.997267) (P 0.63891) (C 0.61763) 8. More than about 50% data of {Petal_Width = middle} are {Sepal_Width = middle} (Cf 1) (P 0.65664) (C 0.54512) 9. More than about 50% data of {class = virginica} are {Sepal_Width = middle} (Cf 0.9551) (P 0.60505) (C 0.63694) 10. More than about 50% data of {Sepal_Length = middle} are {Sepal_Width = middle} (Cf 0.952218) (P 0.60363) (C 0.61788) 11. More than about 50% data of {Sepal_Length = middle} are {Petal_Length = middle} (Cf 1) (P 0.71813) (C 0.76041) 12. More than about 50% data of {Sepal_Width = middle} are {Petal_Length = middle} (Cf 0.976715) (P 0.61763) (C 0.63891) ------------------------------------------------------------------------------ 第 E 章 ファジィ集合生成法 B の場合の比較結果 全体のみのルール: 1. Most data of {Sepal_Length = small} are {class = setosa} (Cf 0.945616) (P 0.83404) (C 0.78574) 2. Most data of {Petal_Width = middle} are {class = versicolor} (Cf 0.993873) (P 0.87786) (C 0.85228) 3. Most data of {Petal_Length = middle} are {class = versicolor} (Cf 0.966382) (P 0.84814) (C 0.78595) 4. Most data of {Petal_Length = large} are {class = virginica} (Cf 0.900765) (P 0.8109) (C 0.85928) 5. More than about 50% data of {Sepal_Length = large} are {class = virginica} (Cf 1) (P 0.74847) (C 0.50355) 6. Most data of {class = setosa} are {Sepal_Length = small} (Cf 0.836808) (P 0.78574) (C 0.83404) 7. More than about 50% data of {class = versicolor} are {Sepal_Length = middle} (Cf 1) (P 0.69738) (C 0.50347) 7. Most data of {class = versicolor} are {Petal_Length = middle} (Cf 0.837407) (P 0.78595) (C 0.84814) 8. Most data of {class = virginica} are {Petal_Length = large} (Cf 0.979274) (P 0.85928) (C 0.8109) 9. Most data of {Petal_Width = large} are {Petal_Length = large} (Cf 0.899177) (P 0.81019) (C 0.77041) 10. Most data of {class = versicolor} are {Petal_Width = middle} (Cf 0.971535) (P 0.85228) (C 0.87786) 113 第 E 章 ファジィ集合生成法 B の場合の比較結果 114 (c) クライアント 3 Number_of_data: setosa: 40 versicolor: 15 virginica: 10 65 局所のみのルール: 1. More than about 50% data of {Sepal_Width = middle} are {class = setosa} (Cf 1) (P 0.69914) (C 0.60346) 2. More than about 50% data of {class = virginica} are {Sepal_Length = large} (Cf 0.96764) (P 0.61184) (C 0.64108) 3. More than about 50% data of {class = versicolor} are {Sepal_Width = small} (Cf 0.960781) (P 0.60799) (C 0.55141) 4. More than about 50% data of {class = setosa} are {Sepal_Width = middle} (Cf 0.951867) (P 0.60346) (C 0.69914) 5. More than about 50% data of {Petal_Length = small} are {Sepal_Width = middle} (Cf 0.953284) (P 0.60415) (C 0.69236) 6. More than about 50% data of {Petal_Width = small} are {Sepal_Width = middle} (Cf 0.945308) (P 0.60039) (C 0.67313) 7. More than about 50% data of {Sepal_Width = middle} are {Petal_Length = small} (Cf 1) (P 0.69236) (C 0.60415) 8. More than about 50% data of {Sepal_Width = small} are {Petal_Length = large} (Cf 0.970281) (P 0.61343) (C 0.53253) 9. More than about 50% data of {Sepal_Width = middle} are {Petal_Width = small} (Cf 1) (P 0.67313) (C 0.60039) -----------------------------------------------------------------------------全体のみのルール: 1. Most data of {Petal_Length = middle} are {class = versicolor} (Cf 0.966382) (P 0.84814) (C 0.78595) 2. More than about 50% data of {class = versicolor} are {Sepal_Length = middle} (Cf 1) (P 0.69738) (C 0.50347) 3. Most data of {class = versicolor} are {Petal_Length = middle} (Cf 0.837407) (P 0.78595) (C 0.84814) 4. More than about 50% data of {Petal_Width = middle} are {Petal_Length = middle} (Cf 1) (P 0.7354) (C 0.77046) 5. Most data of {Sepal_Length = large} are {Petal_Length = large} (Cf 0.890465) (P 0.80639) (C 0.51198) 6. Most data of {Petal_Length = middle} are {Petal_Width = middle} (Cf 0.790242) (P 0.77046) (C 0.7354) 第 E 章 ファジィ集合生成法 B の場合の比較結果 115 (2) ワインデータの数値例 (a) クライアント 1 の class に関する結果 Number_of_data: C1: 40 C2: 21 C3: 8 69 局所のみのルール: 1. Most data of {A_07 = large} are {class = C1} (Cf 0.991076) (P 0.87328) (C 0.5703) 2. Most data of {A_06 = middle} are {class = C1} (Cf 0.771039) (P 0.76466) (C 0.67064) 3. Most data of {A_02 = middle} are {class = C1} (Cf 0.83023) (P 0.78346) (C 0.58366) 4. More than about 50% data of {A_11 = middle} are {class = C1} (Cf 1) (P 0.71369) (C 0.6589) 5. More than about 50% data of {A_13 = middle} are {class = C1} (Cf 1) (P 0.72722) (C 0.52831) 6. Most data of {A_13 = small}{A_02 = small} are {class = C2} (Cf 0.991136) (P 0.87337) (C 0.5164) 7. Most data of {A_07 = small}{A_10 = middle} are {class = C3} (Cf 0.7262) (P 0.752) (C 0.72347) -----------------------------------------------------------------------------全体のみのルール: 1. Almost all data of are {class = C1} 2. Almost all data of are {class = C2} 3. Most data of {A_11 are {class = C3} 4. Most data of {A_06 are {class = C3} {A_13 = large} (Cf 1) (P 0.97341) (C 0.58103) {A_13 = small}{A_07 = middle} (Cf 1) (P 0.9521) (C 0.51501) = small} (Cf 0.906472) (P 0.8135) (C 0.80224) = small}{A_01 = middle} (Cf 0.74578) (P 0.75739) (C 0.51338) 第 E 章 ファジィ集合生成法 B の場合の比較結果 116 (b) クライアント 2 の class に関する結果 Number_of_data: C1: 10 C2: 40 C3: 10 60 局所のみのルール: 1. Almost all data of {A_01 = large}{A_06 = large} are {class = C1} (Cf 1) (P 0.98374) (C 0.53903) 2. More than about 50% data of {A_04 = small}{A_08 = small} are {class = C1} (Cf 1) (P 0.745) (C 0.50707) 3. Most data of {A_10 = large}{A_09 = middle} are {class = C1} (Cf 0.94769) (P 0.83531) (C 0.54494) 4. Most data of {A_07 = middle} are {class = C2} (Cf 0.981568) (P 0.8616) (C 0.78336) 5. Most data of {A_09 = middle} are {class = C2} (Cf 0.806962) (P 0.77573) (C 0.74211) 6. Most data of {A_06 = middle} are {class = C2} (Cf 0.862948) (P 0.79529) (C 0.61866) 7. Most data of {A_01 = middle} are {class = C2} (Cf 0.841966) (P 0.78756) (C 0.53503) 8. More than about 50% data of {A_04 = middle} are {class = C2} (Cf 1) (P 0.70523) (C 0.72757) 9. Most data of {A_07 = small}{A_09 = small} are {class = C3} (Cf 0.997678) (P 0.88637) (C 0.89996) 10. Most data of {A_12 = small}{A_09 = small} are {class = C3} (Cf 0.988922) (P 0.87023) (C 0.72253) 11. Almost all data of {A_09 = small}{A_01 = large} are {class = C3} (Cf 0.994146) (P 0.93918) (C 0.50397) -----------------------------------------------------------------------------全体のみのルール: 1. Most data of {A_01 = large}{A_10 = middle} are {class = C1} (Cf 0.977177) (P 0.85727) (C 0.50092) 2. More than about 50% data of {A_10 = middle}{A_09 = middle} are {class = C1} (Cf 1) (P 0.70076) (C 0.59738) 3. Almost all data of {A_01 = small} are {class = C2} (Cf 0.907421) (P 0.90697) (C 0.57212) 4. Almost all data of {A_12 = small}{A_11 = small} are {class = C3} (Cf 1) (P 0.97771) (C 0.75841) 5. Almost all data of {A_07 = small}{A_11 = small} are {class = C3} (Cf 1) (P 0.97355) (C 0.75384) 6. Most data of {A_06 = small}{A_01 = middle} are {class = C3} (Cf 0.74578) (P 0.75739) (C 0.51338) 第 E 章 ファジィ集合生成法 B の場合の比較結果 117 (c) クライアント 3 の class に関する結果 Number_of_data: C1: 9 C2: 10 C3: 30 49 局所のみのルール: 1. All data of {A_07 = large}{A_01 = large} are {class = C1} (Cf 1) (P 1) (C 0.892) 2. Almost all data of {A_01 = large}{A_11 = large} are {class = C1} (Cf 1) (P 0.99183) (C 0.79802) 3. More than about 50% data of {A_04 = small} are {class = C1} (Cf 1) (P 0.71332) (C 0.66354) 4. Almost all data of {A_06 = large}{A_10 = middle} are {class = C1} (Cf 1) (P 0.95557) (C 0.50747) 5. Most data of {A_12 = large}{A_05 = middle} are {class = C1} (Cf 0.975024) (P 0.8553) (C 0.50383) 6. Most data of {A_11 = large}{A_05 = middle} are {class = C1} (Cf 0.935056) (P 0.82792) (C 0.57461) 7. More than about 50% data of {A_02 = small}{A_03 = middle} are {class = C1} (Cf 1) (P 0.73432) (C 0.53878) 8. Most data of {A_11 = large}{A_05 = small} are {class = C2} (Cf 0.905105) (P 0.81287) (C 0.55035) 9. Almost all data of {A_07 = small} are {class = C3} (Cf 1) (P 0.9656) (C 0.84538) 10. Almost all data of {A_06 = small} are {class = C3} (Cf 0.920957) (P 0.91024) (C 0.65029) 11. Almost all data of {A_01 = middle} are {class = C3} (Cf 0.903288) (P 0.90602) (C 0.64039) 12. Almost all data of {A_09 = small} are {class = C3} (Cf 0.987832) (P 0.9344) (C 0.51078) 13. Most data of {A_02 = middle} are {class = C3} (Cf 0.894223) (P 0.80801) (C 0.52337) 14. Most data of {A_13 = middle} are {class = C3} (Cf 0.782464) (P 0.76808) (C 0.61647) 15. More than about 50% data of {A_05 = middle} are {class = C3} (Cf 1) (P 0.71595) (C 0.59138) 16. More than about 50% data of {A_10 = middle} are {class = C3} (Cf 1) (P 0.73603) (C 0.51006) -----------------------------------------------------------------------------全体のみのルール: 1. Most data of {A_01 = large}{A_10 = middle} are {class = C1} (Cf 0.977177) (P 0.85727) (C 0.50092) 2. More than about 50% data of {A_10 = middle}{A_09 = middle} are {class = C1} (Cf 1) (P 0.70076) (C 0.59738) 3. Almost all data of {A_13 = small}{A_07 = middle} are {class = C2} (Cf 1) (P 0.9521) (C 0.51501) 4. Most data of {A_11 = small} are {class = C3} (Cf 0.906472) (P 0.8135) (C 0.80224) 5. Most data of {A_06 = small}{A_01 = middle} are {class = C3} (Cf 0.74578) (P 0.75739) (C 0.51338) 119 付 録F 異なる属性部分を持つ分散データ 5.3 節の表 5.4 の各クライアントが持っているデータを以下に示す. 表 F.1: クライアント 1 のデータ sepal length sepal width petal length 5.1 3.5 1.4 4.9 3.0 1.4 4.7 3.2 1.3 4.6 3.1 1.5 5.0 3.6 1.4 7.0 3.2 4.7 6.4 3.2 4.5 6.9 3.1 4.9 5.5 2.3 4.0 6.5 2.8 4.6 5.7 2.8 4.5 6.3 3.3 4.7 4.9 2.4 3.3 6.6 2.9 4.6 5.2 2.7 3.9 5.0 2.0 3.5 5.9 3.0 4.2 6.0 2.2 4.0 6.1 2.9 4.7 5.6 2.9 3.6 6.7 3.1 4.4 5.6 3.0 4.5 5.8 2.7 4.1 6.2 2.2 4.5 5.6 2.5 3.9 6.3 3.3 6.0 5.8 2.7 5.1 7.1 3.0 5.9 6.3 2.9 5.6 6.5 3.0 5.8 第 F 章 異なる属性部分を持つ分散データ 120 表 F.2: クライアント 2 のデータ sepal width petal width 3.9 0.4 3.4 0.3 3.4 0.2 2.9 0.2 3.1 0.1 3.0 1.4 2.8 1.4 3.0 1.7 2.9 1.5 2.6 1.0 2.4 1.1 2.4 1.0 2.7 1.2 2.7 1.6 3.0 1.5 3.2 2.0 2.7 1.9 3.0 2.1 2.5 2.0 2.8 2.4 3.2 2.3 3.0 1.8 3.8 2.2 2.6 2.3 2.2 1.5 3.2 2.3 2.8 2.0 2.8 2.0 2.7 1.8 3.3 2.1 3.2 1.8 2.8 1.8 3.0 1.8 2.8 2.1 3.0 1.6 2.8 1.9 3.8 2.0 2.8 2.2 2.8 1.5 2.6 1.4 3.0 2.3 category setosa setosa setosa setosa setosa versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica virginica 第 F 章 異なる属性部分を持つ分散データ 3.4 3.1 3.0 3.1 121 2.4 1.8 1.8 2.1 virginica virginica virginica virginica 表 F.3: クライアント 3 のデータ petal length petal width 1.7 0.2 1.5 0.4 1.0 0.2 1.7 0.5 1.9 0.2 1.6 0.2 1.6 0.4 1.5 0.2 1.4 0.2 1.6 0.2 1.6 0.2 1.5 0.4 1.5 0.1 1.4 0.2 1.5 0.2 1.2 0.2 1.3 0.2 1.4 0.1 1.3 0.2 1.5 0.2 1.3 0.3 1.3 0.3 1.3 0.2 1.6 0.6 1.9 0.4 1.4 0.3 1.6 0.2 1.4 0.2 1.5 0.2 1.4 0.2 4.4 1.2 4.6 1.4 4.0 1.2 3.3 1.0 4.2 1.3 4.2 1.2 第 F 章 異なる属性部分を持つ分散データ 122 4.2 4.3 3.0 4.1 5.6 5.1 5.1 5.9 5.7 5.2 5.0 5.2 5.4 5.1 1.3 1.3 1.1 1.3 2.4 2.3 1.9 2.3 2.5 2.3 1.9 2.0 2.3 1.8 表 F.4: クライアント 4 のデータ sepal width petal length 3.7 1.5 3.4 1.6 3.0 1.4 3.0 1.1 4.0 1.2 4.4 1.5 3.9 1.3 3.5 1.4 3.8 1.7 3.8 1.5 3.4 4.5 3.1 4.7 2.3 4.4 3.0 4.1 2.5 4.0 3.2 4.8 2.8 4.0 2.5 4.9 2.8 4.7 2.9 4.3 3.0 6.6 2.5 4.5 2.9 6.3 2.5 5.8 3.6 6.1 petal width 0.2 0.2 0.1 0.1 0.2 0.4 0.4 0.3 0.3 0.3 1.6 1.5 1.3 1.3 1.3 1.8 1.3 1.5 1.2 1.3 2.1 1.7 1.8 1.8 2.5 category setosa setosa setosa setosa setosa setosa setosa setosa setosa setosa versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor versicolor virginica virginica virginica virginica virginica 123 付 録G 異なる属性部分を持つ分散データの場合の 実験結果 5.5 節の class 以外の属性に関するデータ全体のルールを以下に示す. (1) 全体としての属性 A1 に関するルール sepal_length Number_of_data: 30 Number_of_attr: 5 run_attr_number: 1 setosa: 0 versicolor: 0 virginica: 0 parameter: tT 0.5, tC 0.5, tA 0.6, tNC 0.003 w1 0.4, w2 0.2, w3 0.4 1. More than about 50% data of {class = setosa} are {sepal_length = small} (Cf 1) (P 0.68168) (C 0.92743) 2. More than about 50% data of {petal_length = small} are {sepal_length = small} (Cf 1) (P 0.69161) (C 0.87628) 3. More than about 50% data of {petal_width = small} are {sepal_length = small} (Cf 1) (P 0.67064) (C 0.86222) -----------------------------------------------------------------------------4. Most data of {petal_length = middle} are {sepal_length = middle} (Cf 0.994141) (P 0.87835) (C 0.59717) 5. Most data of {petal_width = middle} are {sepal_length = middle} (Cf 0.968499) (P 0.8498) (C 0.5686) ------------------------------------------------------------------------------ 124 第 G 章 異なる属性部分を持つ分散データの場合の実験結果 (2) 全体としての属性 A2 に関するルール sepal_width Number_of_data: 30 Number_of_attr: 5 run_attr_number: 2 setosa: 0 versicolor: 0 virginica: 0 parameter: tT 0.5, tC 0.5, tA 0.6, tNC 0.003 w1 0.4, w2 0.2, w3 0.4 ----------------------------------------------------------------------------------------------------------------------------------------------------------- (3) 全体としての属性 A3 に関するルール petal_length Number_of_data: 30 Number_of_attr: 5 run_attr_number: 3 setosa: 0 versicolor: 0 virginica: 0 parameter: tT 0.5, tC 0.5, tA 0.6, tNC 0.003 w1 0.4, w2 0.2, w3 0.4 1. Almost all data of {class = setosa} are {petal_length = small} (Cf 0.968097) (P 0.92474) (C 0.99298) 2. Almost all data of {petal_width = small} are {petal_length = small} (Cf 0.936596) (P 0.91439) (C 0.92787) 3. Most data of {sepal_length = small} are {petal_length = small} (Cf 0.992967) (P 0.87628) (C 0.69161) -----------------------------------------------------------------------------4. Almost all data of {class = versicolor} are {petal_length = middle} (Cf 0.901831) (P 0.90569) (C 0.65154) 5. Most data of {petal_width = middle} are {petal_length = middle} (Cf 0.847095) (P 0.7894) (C 0.77688) 6. More than about 50% data of {sepal_length = middle} are {petal_length = middle} (Cf 0.937978) (P 0.59717) (C 0.87835) -----------------------------------------------------------------------------7. More than about 50% data of {class = virginica} are {petal_length = large} (Cf 0.793661) (P 0.55364) (C 0.85307) 8. More than about 50% data of {petal_width = large} are {petal_length = large} (Cf 0.976701) (P 0.61762) (C 0.62673) 第 G 章 異なる属性部分を持つ分散データの場合の実験結果 125 (4) 全体としての属性 A4 に関するルール petal_width Number_of_data: 30 Number_of_attr: 5 run_attr_number: 4 setosa: 0 versicolor: 0 virginica: 0 parameter: tT 0.5, tC 0.5, tA 0.6, tNC 0.003 w1 0.4, w2 0.2, w3 0.4 1. Almost all data of {class = setosa} are {petal_width = small} (Cf 0.986959) (P 0.93385) (C 0.9882) 2. Almost all data of {petal_length = small} are {petal_width = small} (Cf 0.975513) (P 0.92787) (C 0.91439) 3. Most data of {sepal_length = small} are {petal_width = small} (Cf 0.982158) (P 0.86222) (C 0.67064) -----------------------------------------------------------------------------4. Almost all data of {class = versicolor} are {petal_width = middle} (Cf 1) (P 0.95734) (C 0.69979) 5. Most data of {petal_length = middle} are {petal_width = middle} (Cf 0.810518) (P 0.77688) (C 0.7894) 6. More than about 50% data of {sepal_length = middle} are {petal_width = middle} (Cf 0.852756) (P 0.5686) (C 0.8498) -----------------------------------------------------------------------------7. More than about 50% data of {class = virginica} are {petal_width = large} (Cf 0.984955) (P 0.62398) (C 0.94746) 8. More than about 50% data of {petal_length = large} are {petal_width = large} (Cf 0.987967) (P 0.62673) (C 0.61762) 127 参考文献 [1] G.P. Shaporo and W.J. Frawley, Knowledge Discovery in Databases, AAAI/MIT Press, 1991. [2] J. Vaidya, C.W. Clifton and Y.M Zhu, Privacy Preserving Data Mining, Springer Science+Business Media, Inc., 2006. [3] K. Muralidhar, R. Parsa and R. Sarathy: A general additive data perturbation method for database security, Management Science, Vol.45, No.10, pp.1399–1415, 1999. [4] Y. Lindel and B. Pinkas: Privacy preserving data mining, Journal of Cryptology, Vol.15, No.3, pp.177–206, 2002. [5] 馬野 元秀, 村上 真一, 宇野 裕之, 瀬田 和久, 岡田 真:ファジィ量限定子を用いたファ ジィルールの抽出, 第 19 回ファジィシステムシンポジウム講演論文集, pp.323–326, 2003. [6] R.A. Fisher: The use of multiple measurements in taxonomic problems, Annals of Eugenics, Vol.7, No.2, pp.107–188, 1936. [7] ftp://ftp.ics.uci.edu/pub/machine-learning-databases/wine/wine.names [8] 加藤 直樹, 羽室 行信, 矢田 勝俊, データマイニングとその応用, 朝倉書店, 2008. [9] J.R. Quinlan: Induction of decision trees, Machine Learning, Vol.1, No.1, pp.81– 106, 1986. [10] J. R. Quinlan, C4.5: Programs for Machine Learning, Morgan Kaufmann Publishers, 1993. [11] R. Agrawal, T. Imielinski and A.N. Swami: Mining association rules between sets of items in large databases, in Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data (Washington DC, USA), pp.207–216, 1993. 参考文献 128 [12] R. Agrawal and R. Srikant: Fast algorithms for mining association rules in large databases, in Proceedings of the 20th International Conference on Very Large Data Bases (Santiago, Chile), pp.487–499, 1994. [13] J. Han, J. Pei and Y. Yin: Mining frequent paterns without candidate generation, in Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data (SIGMOD ’00) (New York, USA), pp.1–12, 2000. [14] 岩橋 永悟, 平手 勇宇, 山名 早人: PC クラスタ上における頻出飽和アイテム集合抽 出並列化手法の提案, 電子情報通信学会第 16 回データ工学ワークショップ 兼 第 4 回日本データベース学会年次大会 (DEWS2005), 3C-i5, 2005. [15] M. R. Anderberg, Cluster Analysis for Applications, Academic Press, Inc., 1973. [邦訳] 西田 英郎 監訳, 佐藤 嗣二 他訳, クラスター分析とその応用, 内田老鶴圃, 1988. [16] 宮本 定明: 階層的クラスター分析の方法,システム/制御/情報 (システム制御 情報学会誌), Vol.33, No.8, pp.424–430, Vol.33, No.10, pp.533–541, Vol.33, No.12, pp.635–643, 1989. [17] J. H. Ward: Hierarchical grouping to optimize an objective function, Journal of American Statistics Association, Vol.58, Issue 301, pp.236–244, 1963. [18] R. Duda and P.E. Hart, Pattern Classification and Scene Analysis, John Wiley & Sons, Inc., 1973. [19] K. Fukunaga, Introduction to Statistical Pattern Recognition, Academic Press, 1990. [20] Merriam-webster online dictionary. http://www.merriam-webster.com. [21] R. Agrawal and R. Srikant: Privacy-preserving data mining, in Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data (Dallas, Texas, USA) pp.439–450, 2000. [22] A. Evfimievski, R. Srikant, R. Agrawal and J.Gehrke: Privacy preserving mining of association rules, in Proceedings of the Eighth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (Edmonton, Alberta, Canada), pp.217–228, 2002. 参考文献 129 [23] S.R.M. Oliveira and O.R. Zaiane: Achieving privacy preservation when sharing data for clustering, in Proceedings of the Workshop on Secure Data Management in a Connected World (SDM ’04) in conjunction with VLDB 2004 (Toronto, Canada), pp.67–82, 2004. [24] S.R.M. Oliveira and O.R. Zaiane: Privacy-preserving clustering by object similaritybased representation and dimensionality reduction transformation, in Proceedings of the Workshop on Privacy and Security Aspects of Data Mining (PSDM’04) in conjunction with the Fourth IEEE International Conference on Data Mining (ICDM ’04) (Brighton, UK), pp.21–30, 2004. [25] 濱田 浩気, 五十嵐 大, 菊池 亮, 千田 浩司, 諸橋 玄武, 富士 仁, 高橋 克己: 実用的な 速度で統計分析が可能な秘密計算システム MEVAL, コンピュータセキュリティシ ンポジウム 2013 論文集, pp.777–784, 2013. [26] 千田 浩司: プライバシーを守った IT サービスの提供技術: 5. 安全な情報処理を目 指す秘密計算技術の研究動向と実用化に向けた取り組み, 情報処理, Vol.54, No.11, pp.1130–1134, 2013. [27] 佐久間 淳, 小林 重信: プライバシー保護データマイニング, 人工知能学会誌, Vol.24, No.2, pp.283–294, 2009. [28] Y. Lindell and B. Pinkas: Privacy preserving data mining, in Proceedings of 20th Annual International Cryptology Conference (Santa Barbara, California, USA), pp.36–54, 2000. [29] M. Kantarcioglu and C. Clifton: Privacy-preserving distributed mining of association rules on horizontally partitioned data, IEEE Transactions on Knowledge and Data Engineering Vol.16, No.9, pp.1026–1037, 2004. [30] D.W.-L. Cheung, J. Han, V. Ng, A.W.-C. Fu and Y. Fu: A fast distributed algorithm for mining association rules, in Proceedings of the 1996 International Conference on Parallel and Distributed Information Systems (PDIS ’96) (Miami Beach, Florida, USA), pp.31-42, 1996. [31] O. Goldreich, S. Micali and A. Wigderson: How to play any mental game or a completeness theorem for protocols with honest majority, in Proceedings of the 参考文献 130 19th ACM Symposium on the Theory of Computing (STOC) (New York, USA), pp.218–229, 1987. [32] J. Vaidya and C. Clifton: Privacy-preserving k-means clustering over vertically partitioned data, in The Ninth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (Washington DC, USA), pp.206–215, 2003. [33] L.A. Zadeh: Fuzzy sets, Information and Cintrol, Vol.8, pp.338–353, 1965. [34] L.A. Zadeh: The concept of a linguistic variable and its application to approximate reasoning, Information Sciences, Vol.8, No.3, pp.199-248, Vol.8, No.4, pp.301-357, Vol.9, No.1, pp.43-80, 1975. [35] 水本 雅晴: ファジィ推論法, システムと制御 (システム制御学会誌), Vol.28, No.7, pp.436-441, 1984. [36] 向殿 政男: ファジィ論理, 講座ファジィ 4, 日本ファジィ学会 編, 日刊工業新聞社, 1993. [37] 馬野 元秀, 中山 学, 田中 坦之: ID3 に基づくファジィ決定木の生成とその評価, 第 10 回ファジィシステムシンポジウム講演論文集, pp.333–336, 1995. [38] H. Ishibuchi and T. Yamamoto: Fuzzy rule selection by data mining criteria and genetic algorithms, in Proceedings of the Genetic and Evolutionary Computation Conference GECCO 2002 (San Francisco, California, USA), pp.399–406, 2002. [39] Y. Hu, R. chen and G. Tzeng: Discovering fuzzy association rules using fuzzy partition methods, Knowledge-Based Systems, Vol.16, No.3, pp.137–147, 2003. [40] T. Watanabe and M. Nakayama: Fuzzy rule extraction based on the mining generalized association rules, in Proceedings of the 2003 IEEE International Conference on Systems, Man, and Cybernetics (Washington DC, USA), pp.2690–2695, 2003. [41] J.C. Bezdek, Pattern Recognition with Fuzzy Objective Function Algorithms, Kluwer Academic Publichers Norwell, Inc., 1981. [42] E.C. Douglas and L.S. David, Internetworking with TCP/IP Vol.3: Client-Server Programming and Applications Linux/POSIX Sockets Version, Prentice Hall, Inc., 2001. 参考文献 131 [邦訳] 村井 純, 楠木 愽之 訳, TCP/IP によるネットワーク構築 Vol.III: クライアン トサーバプログラミングとアプリケーション Linux/POSIX ソケットバージョン, 共 立出版, 2003.