دسته بندي داده هاData Classification
پروژه درس مباحث پیشرفته در بانک های اطالعاتی
استاد: جناب آقای دکتر رهگذردانشجو: امين ابوالقاسم رسولی
1
رئوس مطالب
مقدمه
روشهاي دسته بندي
روش قطعه قطعه خطي
نتايج آزمايشات
2
مقدمه
فرايند نسبت دادن اشياء به يکي از دسته هاي از پيش
تعريف شده
:مثال
کشف هرزنامه هاي الکترونيکي بر اساس سرامد و محتوا
طبقه بندي سلول ها به بدخيم و خوش خيم بر اساس نتايجMRI
طبقه بندي کهکشان ها بر اساس شکل آنها
3
مقدمه
.ورودي در هر الگوريتم دسته بندي، مجموعه اي از رکوردها است
( : )نمونه( نمايش يک رکوردx,y)
X مجموعه ويژگيهاي نمونه :
Y برچسب کالس نمونه :
:دسته بندي عبارت است از يادگيري يک تابع هدف مانند تعريفf
را به يک برچسب از کالسهاي از xکه هر مجموعه از ويژگيها مانند
4 نگاشت مي کند.yپيش تعريف شده مانند
رويکرد کلي يافتن مدل دسته بندي تکنيک دسته بندي: رويکردي سيتماتيک براي دست يابي به مدلهاي دسته
بندي
بکارگيري يک الگوريتم يادگيري براي دستيابي به مدل
داشتن مجموعه داده هاي آموزشي
در بر گيرنده نمونه هاي با بر چسب مشخص
توليد مدل از روي داده هاي آموزشي
بکارگيري مدل توليد شده بر روي داده هاي تست
حاوي نمونه هاي بدون برچسب کالس
انطباق مدل بر داده هاي آموزشي
پيش بيني صحيح داده هاي ديده نشده
5
Tid Attrib1
Attrib2
Attrib3
Class
1 Sample
value
Sample
value
Sample
value
class1
2 Sample
value
Sample
value
Sample
value
class2
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Learning Algorithm
Learn Model
Apply Model
ModelTid Attri
b1Attrib2
Attrib3
Class
1 Sample
value
Sample
value
Sample
value
?
2 Sample
value
Sample
value
Sample
value
?
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Training Set
Test Set
Deduction
Induction
6
تکنيک هاي دسته بندي
Decision tree classifiers
Rule-based classifiers
Nearest-neighbor classifiers
Neural networks
Support vector machines
Naïve Bayes
7
روش قطعه قطعه خطي
دسته بندي داده هاي با ويژگيهايي از نوع اعداد حقيقي
هر نمونه داده به عنوان يک نقطه داده اي در فضاي چند بعدي
جداسازي داده هاي دو کالس با استفاده از چندين قطعه خط )ابر
صفحه(
تعميم براي حالتهاي چند کالسي
8
روش قطعه قطعه خطي
2 و 1کالس
يافتن نقاط مرزي هر کالس
1براي يافتن نقاط مرزي کالس
1 در کالس 2يافتن نزديکترين نقطه به هر نقطه از کالس 1.
فاصله اقليدسي
1عالمت گذاري نقطه به عنوان يکي از نقاط مرزي کالس 2.
2 براي کالس 2 و 1تکرار گامهاي
2'2'22
2'11 )(...)()( nn xxxxxxd
9
روش قطعه قطعه خطي
يافتن نقطه متناظر هر داده مرزي
نقطه متناظر: نزديکترين نقطه به هر نقطه مرزي در کالس مقابل
.نقطه مرزي هر کالس با نقطه متناظرش در کالس ديگر يک جفت تشکيل مي دهند
)نقاط بردار پشتيبان(
عمود منصف خطي که از اين جفت نقطه مي گذرد کانديدي براي جداسازي دو کالس
مي باشد.
عمود منصفي انتخاب مي گردد که بيشترين تمايز را بين داده هاي دو کالس ايجاد
نمايد.10
روش قطعه قطعه خطي
براي هر عمود منصف، تعداد نقاط هر کالس که به درستي جداساري
نشده اند محاسبه مي گردد.
: پس از يافتن بهترين عمود منصف
.حذف داده هايي که به درستي تفکيک شده اند
يافتن بهترين عمود منصف براي داده هاي باقي مانده
کالسيکاستفاده از نقطه متناظر در صورت حذف تمام داده هاي
تکرار رويه11
مثال
12
مثال
13
مثال
1
2
3
14
تعيين شايستگي نقاط
انتساب ميزان شايستگي به نقاط مرزي براي انتخاب به عنوان بردار
پشتيبان
:معيار شايستگي
ها ها و نزديکي به غيرهمکالسي دوري از همکالسي
تا نقاط همکالسمتوسط فاصله نقطه
تا نقاط غيرهمکالسمتوسط فاصله نقطه
( محاسبه شايستگيα) 15
تعيين شايستگي نقاط
: گيري نزديک بودن نقطه معياراندازهi ام از کالس مثبت به ساير
نقاط اين کالس
: گيري نزديک بودن نقطه معيار اندازهi ام از کالس مثبت به نقاط
کالس منفي
n
jjii xx
nP
1
21
m
jjii xx
mP
1
21
iP
iP
16
تعيين شايستگي نقاط
:گيري نزديک بودن نقطه معياري براي اندازهi ام از کالس منفي با
نقاط کالس مثبت
: گيري نزديک بودن نقطه معياري براي اندازهi ام از کالس منفي با
ساير نقاط کالس منفي
iN
iN
n
jjii xx
nN
1
21
m
jjii xx
mN
1
21
17
تعيين شايستگي نقاط با داشتن مقادير ، ، و شايستگي هر نقطه مرزي به
صورت زير محاسبه مي گردد :
شايستگي نقطهiام از کالس مثبت
شايستگي نقطهiام از کالس منفي
iP
iP
iN
iN
i
ii P
Pa ) iii PPb )
i
ii N
Na ) iii NNb )
18
گامهاي الگوريتم
يافتن نقاط مرزي1.
محاسبه شايستگي نقاط2.
بدست آوردن نقاط بردار پشتيبان 3.
ساخت صفحه های جدا کننده4.
حذف داده هايي که به درستي تفکيک شده اند5.
2تکرار از مرحله 6.
X
19
تعميم روش
در حالتي که بيش از دو کالس داده وجود دارد، دسته بندي را به صورت دو
به دو براي کالسها تکرار مي کنيم.
3 و 2، 1کالس
2 و 1جداسازي
3 و 1جداسازي
3 و 2جداسازي
20
Cross Validationحضور تمام داده ها به دفعات يکسان در مرحله آموزش
يکبار حضور هر داده در مرحله تست
K-fold cross validation
مجموعه داده ها بهkقسمت مساوي تقسيم مي گردد
هر بار يک قسمت به عنوان مجموعه تست و ساير قسمتها به عنوان داده هاي آموزشي
بکار مي رود.
فرايند دسته بنديk.بار اجرا مي شود تا تمام داده ها به عنوان داده تست بکار روند
خطاي نهايي برابر با ميانگين خطاها در هر بار اجرا خواهد بود
k
errerrerrm kerr
...21
21
مجموعه داده هاي آزمايش
Name No of Classes No of Features Size and Distribution
IRIS 3 4 150 (50 + 50 + 50)
WBC 2 9 683 (444 + 239)
BUPA 2 6 345 (145 + 200)
22
WBC
Neighborhood Radius
Mean
Erro
r (%
)
0 0.40.81.21.6 2 2.42.83.23.6 4 4.44.85.25.6 6 6.46.87.27.6 8 8.48.89.29.6100
5
10
15
20
25
30
35
40
Mean Train ErrorMean Test ErrorMean Total Error
23
IRIS
Neighborhood Radius
Mean
Erro
r (%
)
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7 7.5 8 8.5 9 9.5 100
2
4
6
8
10
12
Mean Train ErrorMean Test ErrorMean Total Error
24
BUPA
Neighborhood Radius
Mean
Erro
r (%
)
0 1 2 3 4 5 6 7 8 9 1011121314151617181920212223242526272829300
10
20
30
40
50
60
Mean Train ErrorMean Test ErrorMean Total Error
25
خالصه نتايج
ساير روشها کمترين خطاي کل
کمترين خطاي تست
کمترين خطاي آموزش مجموعه داده
1 % – 3 % 1.93 % 6 % 0.29 % IRIS
3 % 2.86 % 3.43 % 2.72 % WBC
30 % 39.13 % 47.05 % 38.23 % BUPA
26
با تشکر
27