1. Association rule
Discovery
เป็นเทคนิคหนึ่งของ
Data
Mining ที่สำคัญ และสามารถนำไปประยุกต์ใช้ได้จริงกับงานต่าง ๆ
หลักการทำงานของวิธีนี้ คือ
การค้นหาความสัมพันธ์ของข้อมูลจากข้อมูลขนาดใหญ่ที่มีอยู่เพื่อนำไปใช้ในการวิเคราะห์
หรือทำนายปรากฏการณ์ต่าง ๆ หรือมากจากการวิเคราะห์การซื้อสินค้าของลูกค้าเรียกว่า “
Market Basket Analysis ” ซึ่งประเมินจากข้อมูลในตารางที่รวบรวมไว้
ผลการวิเคราะห์ที่ได้จะเป็นคำตอบของปัญหาซึ่งการวิเคราะห์แบบนี้เป็นการใช้“กฎความสัมพันธ์” (
Association Rule ) เพื่อหาความสัมพันธ์ของข้อมูล
ตัวอย่างการนำเทคนิคนี้ไปประยุกต์ใช้กับงานจริง
ได้แก่ ระบบแนะนำหนังสือให้กับลูกค้าแบบอัตโนมัติ ของ Amazon
ข้อมูลการสั่งซื้อทั้งหมดของ Amazon
ซึ่งมีขนาดใหญ่มากจะถูกนำมาประมวลผลเพื่อหาความสัมพันธ์ของข้อมูล คือ ลูกค้าที่ซื้อหนังสือเล่มหนึ่ง ๆ
มักจะซื้อหนังสือเล่มใดพร้อมกันด้วยเสมอ
ความสัมพันธ์ที่ได้จากกระบวนการนี้จะสามารถนำไปใช้คาดเดาได้ว่าควรแนะนำหนังสือเล่มใดเพิ่มเติมให้กับลูกค้าที่เพิ่งซื้อหนังสือจากร้าน
ตัวอย่างเช่น buys ( x ,
database) -> buys ( x , data mining ) [ 80% , 60% ] หมายความว่า
เมื่อซื้อหนังสือ database แล้วมีโอกาสที่จะซื้อหนังสือ data
mining ด้วย 60 % และมีการซื้อทั้งหนังสือ
database และหนังสือ data mining พร้อม ๆ กัน
80 %
อีกตัวอย่างคือ
ในการซื้อสินค้าของลูกค้า 1 ครั้ง โดยไม่ต้องจำกัดว่าจะซื้อสินค้าในห้างร้าน
หรือสั่งผ่านทางไปรษณีย์ หรือการซื้อสินค้าจากร้านค้าเสมือนจริง (
Virtual store ) บน web
โดยปกติเราจะต้องการทราบว่าสินค้าใดบ้างที่ลูกค้ามักซื้อด้วยกัน
เพื่อนำไปพิจารณาปรับปรุงการจัดวางสินค้าในร้าน
หรือใช้เพื่อหาวิธีวางรูปคู่กันในใบโฆษณาสินค้า ก่อนอื่นขอกำหนดคำว่า กลุ่มรายการ (
itemset ) หมายถึง กลุ่มสินค้าที่ปรากฏร่วมกัน เช่น { รองเท้า , ถุงเท้า}, {ปากกา,
หมึก} หรือ { นม ,
น้ำผลไม้} โดยกลุ่มรายการดังกล่าวนี้
อาจจะจับคู่กลุ่มลูกค้ากับสินค้าก็ได้เช่น วิเคราะห์หา “ลูกค้าที่ซื้อสินค้าบางชนิดซ้ำ
ๆ กัน อย่างน้อย 5 ครั้งแล้ว ” กรณีนี้ฐานข้อมูลเรามีการเก็บรายการซื้อขายเป็นจำนวนมาก
และคำถามข้างต้น (query ) นี้จำเป็นต้องค้นหาทุก ๆ
คู่ของลูกค้ากับสินค้า เช่น { คุณ ก , สินค้า A} , { คุณ ก , สินค้าB} , {คุณ ก , สินค้า C } , { คุณ ข ,
สินค้า B} เป็นต้น นับเป็นงานที่หนักพอสมควรสำหรับ DBMS
และถ้าจะเขียน query ข้างต้นเป็น SQL จะได้ว่า
SELECT
P.custid , P.item , SUM( P.qty )
FROM
Purchases P
GROUP BY
P.custid , P.item
HAVING
SUM(P.qty ) > 5
หลังจากที่ DBMS
ประมวลผล SQL นี้ เนื่องจากมีข้อมูลที่ต้องตรวจสอบมากมายหลายคู่และแต่ละคู่ต้องค้นหามาจากฐานข้อมูลเลย
แต่ผลลัพธ์ของ query แบบนี้ มักจะมีจำนวนน้อยมาก เลยเรียก query
ชนิดนี้ว่าเป็น “iceberg query” ซึ่งเปรียบกับสำนวนไทย
คือ “ งมเข็มในมหาสมุทร”
2.
Classification & Prediction
- Classification
เป็นกระบวนการสร้าง model
จัดการข้อมูลให้อยู่ในกลุ่มที่กำหนดมาให้ ตัวอย่างเช่น
จัดกลุ่มนักเรียนว่า ดีมาก ดี ปานกลาง ไม่ดี
โดยพิจารณาจากประวัติและผลการรียน หรือแบ่งประเภทของลูกค้าว่าเชื่อถือได้
หรือไม่โดยพิจารณาจากข้อมูลที่มีอยู่ กระบวนการ classification นี้แบ่งออกเป็น 3 ขั้นตอน ดังรูปที่ 3
- Model Construction (
Learning )
เป็นขั้นการสร้าง model
โดยการเรียนรู้จากข้อมูลที่ได้กำหนดคลาสไว้เรียบร้อยแล้ว (
training data ) ซึ่ง model
ที่ได้อาจแสดงในรูปของ
1. แบบต้นไม้ (
Decision Tree)
2. แบบนิวรอลเน็ต ( Neural Net)
- โครงสร้างแบบต้นไม้ของ
Decision
Tree
เป็นที่นิยมกันมากเนื่องจากเป็นลักษณะที่คนจำนวนมากคุ้นเคย
ทำให้เข้าใจได้ง่าย มีลักษณะเหมือนแผนภูมิองค์กร
โดยที่แต่ละโหนดแสดง attribute แต่ละกิ่งแสดงผลในการทดสอบ
และลีฟโหนดแสดงคลาสที่กำหนดไว้
สมมติว่าบริษัทขนาดใหญ่แห่งหนึ่ง
ทำธุรกิจอสังหาริมทรัพย์มีสำนักงานสาขาอยู่ประมาณ 50 แห่ง แต่ละสาขามีพนักงานประจำ
เป็นผู้จัดการและพนักงานขาย พนักงานเหล่านี้แต่ละคนจะ ดูแลอาคารต่าง ๆ
หลายแห่งรวมทั้งลูกค้าจำนวนมาก บริษัทจำเป็นต้องใช้ระบบฐานข้อมูลที่กำหนดความสัมพันธ์ระหว่างองค์ประกอบเหล่านี้
เมื่อรวบรวมข้อมูลแบ่งเป็นตารางพื้นฐานต่าง ๆ เช่น ข้อมูลสำนักงานสาขา (
Branch ) ข้อมูลพนักงาน ( Staff )
ข้อมูลทรัพย์สิน ( Propety) และข้อมูลลูกค้า ( Client )
พร้อมทั้งกำหนดความสัมพันธ์ ( Relationship)
ของข้อมูลเหล่านี้ เช่น ประวัติการเช่าบ้านของลูกค้า ( Customer_rental ) รายการให้เช่า ( Rentals ) รายการขายสินทรัพย์ (
Sales ) เป็นต้น ต่อมาเมื่อมีประชุมกรรมการผู้บริหารของบริษัท
ส่วนหนึ่งของรายงานจากฐานข้อมูลสรุปว่า
“ 40 % ของลูกค้าที่เช่าบ้านนานกว่าสองปี
และมีอายุเกิน 25 ปี จะซื้อบ้านเป็นของตนเอง โดยกรณีเช่นนี้เกิดขึ้น 35 %
ของลูกค้าผู้เช่าบ้านของบริษัท” ดังรูปที่ 4 แสดงให้เห็นถึง Decision
Tree สำหรับการวิเคราะห์ว่าลูกค้าบ้านเช่าจะมีความสนใจที่จะซื้อบ้านเป็นของตนเองหรือไม่
โดยใช้ปัจจัยในการวิเคราะห์คือ ระยะเวลาที่ลูกค้าได้เช่าบ้านมา และอายุของลูกค้า
ตัวอย่างของ Decision Tree เพื่อวิเคราะห์โอกาสที่ลูกค้าบ้านเช่าจะซื้อบ้าน
จากตัวอย่างพฤติกรรมการเช่าและซื้อบ้านข้างต้น ลองมาตัวอย่างที่เป็นรูปธรรมมากขึ้น ในตาราง Business_Info แสดงถึงรายการทั้งหมดเกี่ยวกับลูกค้าบ้านเช่าของบริษัทโดยมีรายละเอียดเกี่ยวกับอายุ
และระยะเวลาเช่า รวมทั้งการซื้อบ้านของลูกค้าแต่ละราย ดังนี้
ตาราง Business_Info
Age |
Rent_Period |
Buy |
23
36
20
27
20
50
36
36
22
|
3
1.5
1.5
2
1
2.5
1
2
2.5
|
No
No
No
Yes
No
Yes
No
Yes
no
|
SQL
สำหรับ Decision Tree ของตัวอย่างนี้แบ่งเป็น 2 ชุด สำหรับปัจจัยแต่ละอย่าง
1. SQL สำหรับ root node ดังนี้
SELECT
B.Rent_Period , B.Buy , COUNT(*)
FROM Business_Info B
WHERE B.Rent_Period > 2
GROUP BY B.Rent_Period , B.Buy
ผลลัพธ์ของ SQL นี้คือ
Rent_Period
|
Buy
|
Yes
|
No
|
1
1.5
2
2.5
3
|
0
0
2
1
0
|
2
2
0
1
1
|
2. SQL สำหรับ node ที่เป็น child ทางขวาของ root คือ
SELECT B.Age , B.Buy , COUNT(*)
FROM Business_Info B
WHERE B.Age > 25
GROUP
BY B.Age , B.Buy
ผลลัพธ์ของ SQL นี้คือ
Rent_Period
|
Buy
|
Yes
|
No
|
20
22
23
27
36
50
|
0
0
2
1
1
1
|
2
1
1
0
2
0
|
ผลลัพธ์ที่ได้จากแต่ละโหนดของ Decision Tree เรียกว่า AVC set (
Attribute Value , Class label ) จากตัวอย่างข้างตันจะเห็นว่ามี 2
AVC sets เพื่อใช้ในการจัดกลุ่มลูกค้า
- นิวรอลเน็ต หรือ นิวรอลเน็ตเวิร์ก (
Neural Net)
เป็นเทคโนโลยีที่มีที่มาจากงานวิจัยด้านปัญญาประดิษฐ์ Artificial Intelligence:AI เพื่อใช้ในการคำนวณค่าฟังก์ชันจากกลุ่มข้อมูล
วิธีการของ นิวรอลเน็ต ( แท้จริงต้องเรียกให้เต็มว่า Artificial Neural Networks หรือ ANN
) เป็นวิธีการที่ให้เครื่องเรียนรู้จากตัวอย่างต้นแบบ แล้วฝึก
( train ) ให้ระบบได้รู้จักที่จะคิดแก้ปัญหาที่กว้างขึ้นได้
ในโครงสร้างของนิวรอลเน็ตจะประกอบด้วยโหนด ( node ) สำหรับ Input
– Output และการประมวลผล กระจายอยู่ในโครงสร้างเป็นชั้น ๆ ได้แก่ input
layer , output layer และ hidden layers การประมวลผลของนิวรอลเน็ตจะอาศัยการส่งการทำงานผ่านโหนดต่าง
ๆ ใน layer เหล่านี้ สำหรับตัวอย่างรูปที่ 5
เป็นการวิเคราะห์แบบเดียวกับรูปที่ 4 ในโครงสร้างแบบนิวรอลเน็ต
- Model
Evaluation ( Accuracy )
เป็นขั้นการประมาณความถูกต้องโดยอาศัยข้อมูลที่ใช้ทดสอบ( testing data )ซึ่งคลาสที่แท้จริงของข้อมูลที่ใช้ทดสอบนี้จะถูกนำมาเปรียบเทียบกับคลาสที่หามาได้จาก
model เพื่อทดสอบความถูกต้อง
- Model Usage ( Classification )
เป็น
Model สำหรับใช้ข้อมูลที่ไม่เคยเห็นมาก่อน (
unseen data ) โดยจะทำการกำหนดคลาสให้กับ object ใหม่ที่ได้มา หรือ ทำนายค่าออกมาตามที่ต้องการ
-Prediction
เป็นการทำนายหาค่าที่ต้องการจากข้อมูลที่มีอยู่ ตัวอย่างเช่น หายอดขายของเดือนถัดไปจากข้อมูลที่มีอยู่ หรือทำนายโรคจากอาการของคนไข้ในอดีต เป็นต้น
3. Database clustering หรือ Segmentation
เป็นเทคนิคการลดขนาดของข้อมูลด้วยการรวมกลุ่มตัวแปรที่มีลักษณะเดียวกันไว้ด้วยกัน ตัวอย่างเช่น บริษัทจำหน่ายรถยนต์ได้แยกกลุ่มลูกค้าออกเป็น 3 กลุ่ม คือ
1.กลุ่มผู้มีรายได้สูง (>$80,000)
2.กลุ่มผู้มีรายได้ปานกลาง ($25,000 to $ 80,000)
3.กลุ่มผู้มีรายได้ต่ำ (less than $25,000)
และภายในแต่ละกลุ่มยังแยกออกเป็น
1.Have Children
2.Married
3.Last car is a used car
4.Own cars
จากข้อมูลข้างต้นทำให้ทางบริษัทรู้ว่าเมื่อมีลูกค้าเข้ามาที่บริษัทควรจะเสนอขายรถประเภทใด
เช่น ถ้าเป็นกลุ่มผู้มีรายได้สูงควรจะเสนอรถใหม่ เป็นรถครอบครัวขนาดใหญ่พอสมควร
แต่ถ้าเป็นผู้มีรายได้ค่อนข้างต่ำควรเสนอรถมือสอง ขนาดค่อนข้างเล็ก
4. Deviation Detection
เป็นกรรมวิธีในการหาค่าที่แตกต่างไปจากค่ามาตรฐาน
หรือค่าที่คาดคิดไว้ว่าต่างไปมากน้อยเพียงใด โดยทั่วไปมักใช้วิธีการทางสถิติ
หรือการแสดงให้เห็นภาพ (Visualization) สำหรับเทคนิคนี้ใช้ในการตรวจสอบ
ลายเซ็นปลอม หรือบัตรเครดิตปลอม
รวมทั้งการตรวจหาจุดบกพร่องของชิ้นงานในโรงงานอุตสาหกรรม
5. Link
Analysis
จุดมุ่งหมายของ Link
Analysis คือ การสร้าง link ที่รียกว่า “
associations” ระหว่าง recode เดียว หรือ
กลุ่มของ recode ในฐานข้อมูล link analysis สามารถแบ่งออกเป็น 3 ชนิด คือ
- associations discovery
- sequential
pattern discovery
- similar
time sequence discovery
ไม่มีความคิดเห็น:
แสดงความคิดเห็น