วันเสาร์ที่ 5 กุมภาพันธ์ พ.ศ. 2554

Data Mining

Data Mining ถ้าแปลกันตรงๆ ก็คือ เหมืองข้อมูล คล้ายกับเหมืองแร่ ที่ขุดดินมาเยอะแต่ใด้แร่นิดเดียว เดต้าไมนิ่งเป็นศาสตร์แขนงหนึ่งทาง AI (Artificial Intelligence) ดังนั้นข้อมูลที่จะพูดถึงต่อไป ท่านที่เคยศึกษา ด้าน AI (Artificial Intelligence) มาบ้างอาจคุ้นเคยเพราะหลายเทคนิคใน AI (Artificial Intelligence) ได้ นำมาใช้กับเดต้าไมนิ่ง เดต้าไมนิ่งเป็นการค้นหาความสัมพันธ์และรูปแบบทั้งหมด ซึ่งมีอยู่จริงในฐานข้อมูล ซึ่งสัมพันธ์และรูปแบบเหล่านั้นได้ถูกซ่อนไว้ภายในข้อมูลจํานวนมากที่มีอยู่ เดต้าไมนิ่งจะทําการสํารวจและวิเคราะห์ข้อมูลให้อยู่ในรูปแบบที่เต็มไปด้วย ความหมายและอยู่ในรูปของกฎ โดยความสัมพันธ์หน่วยนี้แสดงให้เห็นถึงความรู้ต่าง ๆ (Knowledge) ที่ มีประโยชน์ในฐานข้อมูลในปัจจุบันองค์กรธุรกิจส่วนใหญ่เผชิญกับปัญหาของ ข้อมูลดิบจํานวนมากแต่ข้อมูลที่ประยุกต์ใช้ได้นั้นมีน้อย เดต้าไมนิ่งจึงเป็นสาขาที่คาดว่าจะเป็นที่รู้จักและนํามาใช้ประยุกต์ใช้ อย่างแพร่หลายเนื่องจากเดต้าไมนิ่งสามารถดึงคามรู้ออกมาจากข้อมูลจํานวนมาก ที่ถูกเก็บสะสมและซ่อนไว้¼br> ในโลกปัจจุบัน ธุรกิจต่างๆจะพยายามหาเทคนิคที่สามารถนําความสําเร็จมาสู่บริษัท เช่น ในโลกธุรกิจขนาดย่อมจะสร้างความสัมพันธ์กับลูกค้า โดยสังเกตจากความต้องการ ความชอบและความสนใจของลูกค้า และอาจมีการเรียนรู้ได้จากผลสะท้อนในอดีต ว่าจะทําอย่างไรให้การบริการลูกค่ามีประสิทธิภาพดีขึ้นในอนาคต เช่น บริษัทที่เป็นผู้ออกบัตรเครดิตและธนาคารต่างๆ จะมีขบวนการที่ใช้เดต้าไมนิ่งให้เป็นประโยชน์ ในการตัดสินใจว่าลูกค่ากลุ่มใดเป็นกลุ่มที่ดี ทําความเข้าใจลูกค่า ช่วยในการแยกประเภทของลูกค้าและจะทํานายกลุ่มของประชากรที่คาดว่าจะมาเป็น ลูกค้าในอนาคต เป็นต้น อย่างไรก็ตามการเรียนรู้นั้นต้องมากกว่าการเก็บสะสมข้อมูลอย่างตรงไปตรงมา ซึ่งจะทําให้การทํางานเป็นไปอย่างมีประสิทธิภาพ
ทำไมจึงต้องมี Data Mining
1.ข้อมูลที่ถูกเก็บไว้ในฐานข้อมูลหากเก็บไว้เฉย ๆ ก็จะไม่เกิดประโยชน์ดังนั้นจึงต้องมีการสกัดสารสนเทศไปใช้ การสกัดสารสนเทศ หมายถึง การคัดเลือกข้อมูลออกมาใช้งานในส่วนที่เราต้องการ
2.ในอดีตเราใช้คนเป็นผู้สืบค้นข้อมูลต่าง ๆ ในฐานข้อมูลซึ่งผู้สืบค้นจะทำการสร้างเงื่อนไขขึ้นมาตามภูมิปัญญาของผู้สืบค้น
3.ในปัจจุบันการวิเคราะห์ข้อมูลจากฐาน ข้อมูลเดียวอาจไม่ให้ความรู้เพียงพอและลึกซึ้งสำหรับการดำเนินงานภายใต้฿าวะ ที่มีการแข่งขันสูงและมีการเปลี่ยนแปลงที่รวดเร็วจึงจำเป็นที่จะต้องรวบรวม ฐานข้อมูลหลาย ๆ ฐานข้อมูลเข้าด้วยกัน เรียกว่า คลังข้อมูล” ( Data Warehouse)
ดังนั้นเราจึงจำเป็นต้องใช้ Data Mining ในการดึงข้อมูลจากฐานข้อมูลที่มีขนาดใหญ่ เพื่อที่จะนำข้อมูลนั่นมาใช้งานให้เกิดประโยชน์สูงที่สุด
ภาพแสดงขั้นตอนกระบวนการทำงานของ Data Mining
Image Hosted by ImageShack.us
งานของเดต้าไมนิ่ง (Task of data mining)
ในทางปฏิบัติจริงเดต้าไมนิ่งจะประสบความสําเร็จกับงานบางกลุ่มเท่า นั้น และต้องอยู่฿ายใต้ภาวะที่จํากัดปัญหาเหมาะสมกับการใช้เทคนิคเดต้าไมนิ่งจะ เป็นปัญหาที่ต้องใช้เหตุผลในการแก้ เป็นปัญหาที่เกี่ยวข้องกับเศรษฐศาสตร์และการเงิน ซึ่งจะสามารถจัดรูปแบบของธุรกิจให้อยู่ในรูปแบบของงานทั้ง 6 งานได้ ดังนี้
1. การจัดหมวดหมู่ (Classification)
การจัดหมวดหมู่ถือว่าเป็นงานธรรมดาทั่วไปของเดต้าไมนิ่ง เพราะการทําความเข้าใจและการติดต่อสื่อสารต่างๆ ก็เกี่ยวข้องกับการแบ่งเป็นหมวดหมู่การจัดแยกประเภทและการแบ่งแยกชนิดโดยการ จัดหมวดหมู่ประกอบด้วยการสํารวจจุดเด่นของวัตถุที่ปรากฏออกมา และทําการกําหนด จุดเด่นนั้นๆ เป็นตัวที่ใช้แบ่งหมวดหมู่ งานในการแบ่งหมวดหมู่คือการบ่งบอกลักษณะ โดยการอธิบายจุดเด่นที่เป็นที่รู้จักดีในหมวดหมู่นั้น และเทรนนิ่งเซต (TrAI (Artificial Intelligence) ning Set) ของ ตัวอย่างในแต่ละหมวดหมู่ ซึ่งมีภาระหน้าที่ในการสร้างโมเดลของบางชนิดที่ไม่สามารถจะจัดหมวดหมู่ของ ข้อมูลได้ ให้สามารถจัดเป็น หมวดหมู่ได้ ตัวอย่างของการจัดหมวดหมู่ เช่น การจัดหมวดหมู่ของผู้ยื่นขอเครดิต (Credits) เป็นระดับต่ำระดับกลาง และระดับสูง ของความเสี่ยงที่จะได้รับ เป็นต้น
2. การประเมินค่า (Estimation)
การประเมินค่าทางธุรกิจอย่างต่อเนื่องจะก่อให้เกิดผลลัพธ์ที่มีประโยชน์กับธุรกิจ การป้อนข้อมูล
ที่เรามีอยู่เข้าไป เพื่อใช้ในการประเมินสิ่งต่างๆ ที่จะก่อให้เกิดประโยชน์ หรือสําหรับตัวแปรที่เราไม่รู้ค่า แน่นอนเช่น รายได้จากการค่า จุดสูงสุดทางธุรกิจ หรือดุลยภาพของบัตรเครดิต ในทางปฏิบัติการประเมิน ค่าจะถูกใช้ในการทํางานการจัดหมวดหมู่ ตัวอย่างของการประเมินค่าเช่น การประเมินรายได้รวมของ ครอบครัว หรือการประเมินจํานวนบุตรในครอบครัว
3. การทํานายล่วงหน้า (Prediction)
การทํานายล่วงหน้าก็เป็นงานที่มีลักษณะคล้ายกับการจัดหมวดหมู่หรือการ ประเมินค่า ยกเว้น เพียงแต่จะใช้สถิติการบันทึกของการจัดหมวดหมู่ในการทํานายอนาคตของพฤติกรรม หรือการประเมิน ค่าที่จะเกิดขึ้นในอนาคต ตัวอย่างของงานการทํานายล่วงหน้า เช่น การทํานายการเปลี่ยนแปลงพฤติกรรม ของตลาด หรือการทํานายจํานวนลูกค่าที่จะออกจากธุรกิจของเราใน 6 เดือนข้างหน้า เป็นต้น
4. การจัดกลุ่มโดยอาศัยความใกล้ชิดกัน หรือการวิเคราะห์ของตลาด (Affinity Group)
งานในการจัดกลุ่มหรือการวิเคราะห์ตลาด คือการตัดสินใจรวมสิ่งที่สามารถไปด้วยกันเข้าไว้ในกลุ่มเดียวกันตัวอย่างของ การจัดกลุ่มโดยอาศัยความใกล้ชิดกันหรือการวิเคราะห์ตลาด เช่น การตัดสินใจว่าสิ่งใดบ้างที่จะไปอยู่ด้วยกันอย่างสม่ำเสมอในรถเข็นในซุป เปอร์มาร์เกต
5. การรวมตัว (Clustering)
การรวมตัวคืองานที่ทําการรวมส่วนต่างๆ ในแต่ละส่วนที่ต่างชนิดกันให้อยู่ในรวมกันเป็นกลุ่มย่อย หรือคลัสเตอร์ (Clusters) โดย ในแต่ละคลัสเตอร์อาจจะประกอบด้วยส่วนต่างๆที่ต่างชนิดกัน ซึ่งความแตกต่างของการรวมตัวจากการจัดหมวดหมู่คือ การรวมตัวจะไม่พึ่งพาอาศัยการกําหนดหมวดหมู่ล่วงหน้า และไม่ใช้ตัวอย่าง ข้อมูลจะรวมตัวกันบนพื้นฐานของความคล้ายในตัวเอง
6. การบรรยาย (Description)
ในบางครั้งวัตถุประสงค์ของเดต้าไมนิ่ง คือต้องการอธิบายความสับสนของฐานข้อมูลในทางที่จะเพิ่มความเข้าใจในส่วนของ ประชากร ผลิตภัณฑ์ หรือขบวนการให้มากขึ้น
เทคนิคเดต้าไมนิ่งส่วนใหญ่ต้องการเทรนนิ่งข้อมูลจํานวนมากที่ประกอบ ด้วยหลายๆ ตัวอย่างเพื่อจะสร้างกฎที่ใช้ในการจัดหมวดหมู่ กฎของความสัมพันธ์ คลัสเตอร์ การทํานายล่วงหน้า ดังนั้นชุดของข้อมูลขนาดเล็กจะนําไปสู่ความไม่น่าไว้วางใจของผลสรุปทีได้ ไม่มีเทคนิคใดเลยที่จะสามารถแก้ปัญหาของเดต้าไมนิ่งได้ทุกปัญหา ดังนั้นความหลากหลายของเทคนิคจึงเป็นสิ่งที่จําเป็นในการไปสู่วิธีการแก้ ปัญหาของเดต้าไมนิ่งได้ดีที่สุด
เทคนิคของเดต้าไมนิ่ง
การแก้ปัญหาของงานชนิดต่างๆ โดยใช้วิธีเดต้าไมนิ่ง ในแต่ละงานก็จะมีเทคนิคของเดต้าไมนิ่งที่จะนํามาใช้ได้อย่างเหมาะสม โดยเทคนิคของเดต้าไมนิ่งนั้นมีมากมาย ส่วนใหญ่มาจากศาสตร์ทาง AI (Artificial Intelligence) หรือศาสตร์อื่นๆ ซึ่งจะขอยกตัวอย่างของเทคนิคที่ถูกใช้กันค่อนข้างแพร่หลาย

1. ดีซีชันทรี ( Decision Tree )
เป็นแบบจําลองที่มีลักษณะคล้ายกับต้นไม้ จะมีการสร้างกฎต่างๆ ขึ้นเพื่อใช้ในการตัดสินใจ ดีซีชันทรีเป็นวิธีที่ได้รับความนิยม เนื่องจากความไม่ซับซ่อนของอัลกอริทึม ทําให้เครื่องมือที่ใช้ในการทําที่วางขายกันอยู่ในท้องตลาด ต่างก็ใช้วิธีนี้ข้อดีของวิธีนี้คือ สามารถตีความและเข้าใจลักษณะของรูปแบบข้อมูล ( Pattern ) ได้ ง่าย เพราะ มีการแยกออกเป็นกฎ หรือข้อกําหนดต่างๆ แต่ก็ยังคงมีปัญหาในเรื่องของการให้น้ำหนักความน่าเชื่อถือหรือการให้ค่า น้ำหนักในแต่ละโหนด (node) ซึ่งถ้าให้น้ำหนักผิดไป อาจจะทําให้การตีความผิดไปได้

2. คลัสเตอร์ลิ่ง ( Clustering )
วิธีคลัสเตอร์ลิ่งนี้เป็นวิธีที่อาจจะเรียกว่าเป็นการทําเดต้าไมนิ่ง แบบอ้อมๆ ก็ว่าได้ เนื่องจากการหาผลลัพธ์ในแต่ละครั้งนั้น แม้กระทั่งผู้หายังไม่อาจจะทราบว่าสิ่งที่ต้องการจะหานั้นคืออะไร จําเป็นต้องรอจนกว่าการค้นหาจะทําเสร็จสมบูรณ์จึงจะทราบข้อมูลที่ซ่อนอยู่ เปรียบเสมือนกับการมีข้อมูลจํานวนมากมายอยู่ในตะกร้า แล้วจากนั้นก็มีเวทย์มนต์มาจัดเรียงข้อมูลหน่วยนั้นให้อยู่เป็นกลุ่มก?อนซึ่งทําให้สังเกตลักษณะเด่นที่ซ่อนเร้นอยู่฿ายในข้อมูลจํานวนมากหน่วยนั้น

3. นิวรอนเน็ตเวิร์ก ( Neuron Network )
นิวรอนเน็ตเวิร์ก คือระบบทีมีการประมวลผลข้อมูลซึ่งรวมคุณสมบัติของไบโอลอจิกคอลนิวรอนเน็ต เวิร์ก ถูกพัฒนาขึ้นโดยโมเดลทางคณิตศาสตร์ของกระบวนการเรียนรู้ของมนุษย์ (เลียนแบบการทำงานของสมอง) และจะเรียนรู้จากชุดข้อมูลของชุดความรู้เทรนนิ่งเซท นิวรอนเน็ตเวิร์ก ประกอบด้วยหน่วยความจําจํานวนมากเรียกว่า นิวรอน (Neurons) เซล (Cells) หรือโหนด (Nodes) แต่ละนิวรอนต่อกันโดยคอนเน็กชั้นลิงค์ (Connection Link) ที่ มีค่าน้ำหนักของมันอยู่ ในแต่ละการเชื่อมต่อ โดยค่าน้ำหนักจะแสดงรายละเอียดที่เน็ตเวิร์กใช้ในการแก้ปัญหา โดยนิวรอนเนต เวิร์กถูกใช้ในการแก้ปัญหาอย่างกว่างขวาง เช่น การเก็บและการเรียกข้อมูล การแยกประเ฿ทของข้อมูล การเปลี่ยนจากรูปแบบของอินพุท (Input) ให้อยู่ในรูปแบบของเอาท์พุท (Output) ความ สามารถในการ ตรวจสอบรูปแบบของข้อมูลที่คล้ายคลึงกับความคิดของมนุษย์ เป็นต้น ถึงแม้ว่านิวรอนเน็ตเวิร์ก สามารถ นําไปประยุกต์ใช้กับงานหลายๆ ชนิดได้อย่างมีประสิทธิ฿าพ แต่นิวรอนเน็ตเวิร์ก ก็ยังมีข้อเสียอยู่บ้าง ดังนี้
1. นิวรอนเน็ตเวิร์กเป็นวิธีที่ยากต่อการทําความเข้าใจในโมเดลที่ถูกผลิตออกมา
2. นิวรอนเน็ตเวิร์กมีคุณสมบัติที่ไว ต่อรูปแบบของอินพุท ถ้าเราแทนข้อมูลด้วยรูปแบบที่ แตกต่างกันก็จะสามารถผลิตผลลัพธ์ที่แตกต่างกันออกมา ดังนั้นการกําหนดค่าเริ่มต้นให้กับ ข้อมูลจึงเป็นส่วนที่มีความสําคัญส่วนหนึ่ง

4. จีเนติก อัลกอริทึ่ม ( Genetic Algorithms : GA )
จีเนติก อัลกอริทึ่ม เป็นทฤษฎีที่จําลองกระบวนการวิวัฒนาการทางธรรมชาติ คือการคัดเลือกทาง ธรรมชาติ และอาศัยพื้นฐานความคิดทางพันธุกรรมในการถ่ายทอดลักษณะต่างๆ ไปยังรุ่นถัดไป ที่ สามารถนํามาพัฒนาใช้ในการหาคําตอบที่เหมาะสมที่สุดของแต่ละปัญหา จีเนติก อัลกอริทึ่มเป็นวิธีการหาคําตอบโดยการพิจารณา และดําเนินการจากกลุ่มของคําตอบของ ปัญหาที่ถูกสร้างขึ้นมาโดยการเข้ารหัส คือการแปลงค่าตัวแปรหรือพารามิเตอร์ (Parameters) ของปัญหา ให้อยู่ในรูปโครงสร้างของโครโมโซม (Cromosomes) ที่ กําหนด เพื่อคัดเลือกโครโมโซมคําตอบที่ เหมาะสมสําหรับสร้างวิวัฒนาการของคําตอบให้ดีขึ้นตามกระบวนการทางพันธุ ศาสตร์ โดยการแลกเปลี่ยนค่าพารามิเตอร์ต่างๆ ระหว่างโครโมโซมที่ถูกคัดเลือกอันจะทําให้คําตอบของปัญหาถูก ปรับปรุงให้ดีขึ้น จีเนติก อัลกอริทึ่มใช้ขั้นตอนหลักๆ 3 กระบวนการในการหาคําตอบที่ใกล้เคียงหรือดีที่สุด ของปัญหาดังนี้
1. การคัดเลือก (Selection) : คัดเลือกอันที่ดีที่สุดซึ่งจริงๆแล้วถ้าผ่านขั้นตอนต่อไปอาจจะเป็นค่าที่ใช้ไม่ได้ก็ได้
2. การสับเปลี่ยนค่าโครโมโซม (Crossover) : ค่าจากขั้นตอนที่ 1. มาสับเปลี่ยน bit เพื่อประเมินแล้วเลือก
3. การกลายพันธุ์ (Mutation) : ค่าจากขั้นตอนที่ 3. นำมากลับ Bit จาก 0 เป็น 1 เพื่อประเมินแล้วกลับไปขั้นตอนที่ 1. อีกครั้ง *
* ถ้าต้องการศึกษารายละเอียดเพิ่มเติมหาอ่านได้จากหนังสือ Artificial Intelligence ซึ่งทุกเล่มจะพูดถึงจีเนติก อัลกอริทึ่ม (Genetic Algorithms)
ถึงแม้ว่าในปัจจุบันจีเนติก อัลกอริทึ่ม ยังเป็นวิธีการที่ไม่ได้แพร่หลายนัก แต่สาขาวิชาทางด้าน จีเนติก อัลกอริทึ่มก็นับว่าเป็นอีกสาขาวิชาหนึ่งที่สนใจและน่าจะเป็นวิธีที่ได้รับ ความนิยมในอีกไม่กี่ปี ข้างหน้า เนื่องมาจากสามารถนํามาประยุกต์ใช้ได้กับหลายๆ ปัญหารวมทั้งปัญหาทางเดต้าไมนิ่งอีกด้วย

0 ความคิดเห็น:

แสดงความคิดเห็น