โครงข่ายประสาทเทียม (Artificial Neural Networks - ANN)


โครงข่ายประสาทเทียม (Artificial Neural Networks) คือ การสร้างคอมพิวเตอร์ที่จำลองเอาวิธีการทำงานของสมองมนุษย์ หรือทำให้คอมพิวเตอร์รู้จักคิดและจดจำในแนวเดียวกับโครงข่ายประสาทของมนุษย์ เพื่อช่วยให้คอมพิวเตอร์ฟังภาษามนุษย์ได้เข้าใจ อ่านออก และรู้จำได้ ซึ่งอาจเรียกได้ว่าเป็น “สมองกล”

โครงข่ายประสาทเทียม (Artificial Neural Networks) หรือที่มักจะเรียกสั้น ๆ ว่า โครงข่ายประสาท (Neural Networks หรือ Neural Net) เป็นหนึ่งในเทคนิคของการทำเหมืองข้อมูล (Data Mining) คือโมเดลทางคณิตศาสตร์ สำหรับประมวลผลสารสนเทศด้วยการคำนวณแบบคอนเนคชันนิสต์ (Connectionist) เพื่อจำลองการทำงานของเครือข่ายประสาทในสมองมนุษย์ ด้วยวัตถุประสงค์ที่จะสร้างเครื่องมือซึ่งมีความสามารถในการเรียนรู้การจดจำรูปแบบ(Pattern Recognition) และการสร้างความรู้ใหม่ (Knowledge Extraction) เช่นเดียวกับความสามารถที่มีในสมองมนุษย์ แนวคิดเริ่มต้นของเทคนิคนี้ได้มาจากการศึกษาโครงข่ายไฟฟ้าชีวภาพ (Bioelectric Network) ในสมอง ซึ่งประกอบด้วย เซลล์ประสาท หรือ "นิวรอน" (Neurons) และ "จุดประสานประสาท" (Synapses) แต่ละเซลล์ประสาทประกอบด้วยปลายในการรับกระแสประสาท เรียกว่า "เดนไดรท์" (Dendrite) ซึ่งเป็น input และปลายในการส่งกระแสประสาทเรียกว่า "แอคซอน" (Axon) ซึ่งเป็นเหมือน output ของเซลล์ เซลล์เหล่านี้ทำงานด้วยปฏิกิริยาไฟฟ้าเคมี เมื่อมีการกระตุ้นด้วยสิ่งเร้าภายนอกหรือกระตุ้นด้วยเซลล์ด้วยกัน กระแสประสาทจะวิ่งผ่านเดนไดรท์เข้าสู่นิวเคลียสซึ่งจะเป็นตัวตัดสินว่าต้องกระตุ้นเซลล์อื่น ๆ ต่อหรือไม่ ถ้ากระแสประสาทแรงพอ นิวเคลียสก็จะกระตุ้นเซลล์อื่น ๆ ต่อไปผ่านทางแอคซอนของมัน

นักวิจัยส่วนใหญ่ในปัจจุบันเห็นตรงกันว่าโครงข่ายประสาทเทียมมีโครงสร้างแตกต่างจากโครงข่ายในสมอง แต่ก็ยังเหมือนสมอง ในแง่ที่ว่าโครงข่ายประสาทเทียม คือการรวมกลุ่มแบบขนานของหน่วยประมวลผลย่อย ๆ และการเชื่อมต่อนี้เป็นส่วนสำคัญที่ทำให้เกิดสติปัญญาของโครงข่าย เมื่อพิจารณาขนาดแล้วสมองมีขนาดใหญ่กว่าโครงข่ายประสาทเทียมอย่างมาก รวมทั้งเซลล์ประสาทยังมีความซับซ้อนกว่าหน่วยย่อยของโครงข่าย อย่างไรก็ดีหน้าที่สำคัญของสมอง เช่น การเรียนรู้ยังคงสามารถถูกจำลองขึ้นอย่างง่ายด้วยโครงข่ายประสาทนี้

หลักการ
สำหรับในคอมพิวเตอร์ Neurons ประกอบด้วย input และ output เหมือนกัน โดยจำลองให้ input แต่ละอันมี weight เป็นตัวกำหนดน้ำหนักของ input โดย neuron แต่ละหน่วยจะมีค่า threshold เป็นตัวกำหนดว่าน้ำหนักรวมของ input ต้องมากขนาดไหนจึงจะสามารถส่ง output ไปยัง neurons ตัวอื่นได้ เมื่อนำ neuron แต่ละหน่วยมาต่อกันให้ทำงานร่วมกันการทำงานนี้ในทางตรรกแล้วก็จะเหมือนกับปฏิกิริยาเคมีที่เกิดในสมอง เพียงแต่ในคอมพิวเตอร์ทุกอย่างเป็นตัวเลขเท่านั้นเอง

การทำงาน
การทำงานของ Neural Networks คือเมื่อมี input เข้ามายัง network ก็เอา input มาคูณกับ weight ของแต่ละขา ผลที่ได้จาก input ทุก ๆ ขาของ neuron จะเอามารวมกันแล้วก็เอามาเทียบกับ threshold ที่กำหนดไว้ ถ้าผลรวมมีค่ามากกว่า threshold แล้ว neuron ก็จะส่ง output ออกไป output นี้ก็จะถูกส่งไปยัง input ของ neuron อื่น ๆ ที่เชื่อมกันใน network ถ้าค่าน้อยกว่า threshold ก็จะไม่เกิด output สิ่งสำคัญคือเราต้องทราบค่า weight และ threshold สำหรับสิ่งที่เราต้องการเพื่อให้คอมพิวเตอร์รู้จำ ซึ่งเป็นค่าที่ไม่แน่นอน แต่สามารถกำหนดให้คอมพิวเตอร์ปรับค่าเหล่านั้นได้โดยการสอนให้มันรู้จัก pattern ของสิ่งที่เราต้องการให้มันรู้จำ เรียกว่า "back propagation" ซึ่งเป็นกระบวนการย้อนกลับของการรู้จำ ในการฝึก feed-forward Neural Networks จะมีการใช้อัลกอริทึมแบบ back-propagation เพื่อใช้ในการปรับปรุงน้ำหนักคะแนนของเครือข่าย (Network Weight) หลังจากใส่รูปแบบข้อมูลสำหรับฝึกให้แก่เครือข่ายในแต่ละครั้งแล้ว ค่าที่ได้รับ (output) จากเครือข่ายจะถูกนำไปเปรียบเทียบกับผลที่คาดหวัง แล้วทำการคำนวณหาค่าความผิดพลาด ซึ่งค่าความผิดพลาดนี้จะถูกส่งกลับเข้าสู่เครือข่ายเพื่อใช้แก้ไขค่าน้ำหนักคะแนนต่อไป

การเรียนรู้สำหรับ Neural Networks
1. Supervised Learning การเรียนแบบมีการสอน
เป็นการเรียนแบบที่มีการตรวจคำตอบเพื่อให้โครงข่ายประสาทเทียมปรับตัว ชุดข้อมูลที่ใช้สอนโครงข่ายประสาทเทียมจะมีคำตอบไว้คอยตรวจดูว่าโครงข่ายประสาทเทียมให้คำตอบที่ถูกหรือไม่ ถ้าตอบไม่ถูก โครงข่ายประสาทเทียมก็จะปรับตัวเองเพื่อให้ได้คำตอบที่ดีขึ้น (เปรียบเทียบกับคน เหมือนกับการสอนนักเรียนโดยมีครูผู้สอนคอยแนะนำ)
2. Unsupervised Learning การเรียนแบบไม่มีการสอน
เป็นการเรียนแบบไม่มีผู้แนะนำ ไม่มีการตรวจคำตอบว่าถูกหรือผิด โครงข่ายประสาทเทียมจะจัดเรียงโครงสร้างด้วยตัวเองตามลักษณะของข้อมูล ผลลัพธ์ที่ได้ โครงข่ายประสาทเทียมจะสามารถจัดหมวดหมู่ของข้อมูลได้ (เปรียบเทียบกับคน เช่น การที่เราสามารถแยกแยะพันธุ์พืช พันธุ์สัตว์ตามลักษณะรูปร่างของมันได้เองโดยไม่มีใครสอน)

การประยุกต์ใช้งาน Neural Networks
เนื่องจากความสามารถในการจำลองพฤติกรรมทางกายภาพของระบบที่มีความซับซ้อนจากข้อมูลที่ป้อนให้เรียนรู้ การประยุกต์ใช้ข่ายงานระบบประสาทจึงเป็นทางเลือกใหม่ในการควบคุม ซึ่งมีผู้นำมาประยุกต์ใช้งานหลายประเภท ได้แก่
1. งานการจดจำรูปแบบที่มีความไม่แน่นอน เช่น ลายมือ ลายเซนต์ ตัวอักษร รูปหน้า
2. งานการประมาณค่าฟังก์ชันหรือการประมาณความสัมพันธ์ (มี inputs และ outputs แต่ไม่ทราบว่า inputs กับ outputs มีความสัมพันธ์กันอย่างไร)
3. งานที่สิ่งแวดล้อมเปลี่ยนแปลงอยู่เสมอ (โครงข่ายประสาทเทียมสามารถปรับตัวเองได้)
4. งานจัดหมวดหมู่และแยกแยะสิ่งของ
5. งานทำนาย เช่นพยากรณ์อากาศ พยากรณ์หุ้น
6. การประยุกต์ใช้โครงข่ายประสาทเทียมควบคุมกระบวนการทางเคมีโดยวิธีพยากรณ์แบบจำลอง (Model Predictive Control)
7. การประยุกต์ใช้โครงข่ายประสาทเทียมแบบแพร่กระจายกลับในการทำนายพลังงานความร้อนที่สะสมอยู่ในตัวอาคาร
8. การใช้โครงข่ายประสาทเทียมในการหาไซโครเมตริกชาร์ท การประยุกต์ใช้ข่ายงานระบบประสาทควบคุมระบบ HVAC

 

หมายเลขบันทึก: 163433เขียนเมื่อ 5 กุมภาพันธ์ 2008 09:50 น. ()แก้ไขเมื่อ 4 กรกฎาคม 2012 08:26 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (180)

ชอบบทความของอาจารย์มากค่ะ เพราะหาที่เป็นภาษาไทยไม่ค่อยมี ส่วนใหญ่จะเป็นภาษาอังกฤษ ตอนนี้ใช้ SAS อยู่ค่ะ tools ของ SAS มีฟังก์ชันให้เลือกใช้มากมาย แต่ที่ใช้อยู่มีไม่กี่ตัว เช่น Cluster note สำหรับการทำ Segment แล้วก็ Assciation สำหรับการหาความสัมพันธ์ของ Product ยังไงก็ขอให้อาจารย์เขียนบทความที่มีประโยชน์อย่างนี้ต่อไปเรื่อยๆนะคะ

ขอบคุณนะคะ สำหรับบทความดีดี เป็นกำลังใจให้นะคะ ^-^

ขอบคุณครับอาจารย์ สำหรับความรู้ มีประโยชน์มากๆ ..

สอบถามเกี่ยวข้องกับ โครงข่ายประสาทเทียมค่ะ

ต้องการจะทำการพยากรณ์ โดยใช้เทคนิคโครงข่าย แต่เราจะนำข้อมูลดิบเข้ามาในระบบอย่างไรค่ะ

จะเขียนโปรแกรมเองจะไม่อาศัย matlab ค่ะ

รบกวนบอกหน่อยนะค่ะ

ต้องดูจุดประสงค์ด้วยครับ ว่าต้องการใช้ ANN ในการหาค่าความสัมพันธ์ของตัวแปรต้นแต่ละตัวเทียบกับตัวแปรตาม หรือว่าจะให้สร้างกฎเพื่อการทำนายผลลัพธ์ครับ

ต้องการแบบไหนครับ

อยากถามอาจารย์ว่า หนูต้องการใช้ Neural Network ในการทำ speech recognition แต่ว่าหนูยังงงว่ามันสามารถนำมาใช้ได้กับส่วนไหน เช่น Acoustic model, language model อ่าคะ ยังมองภาพไม่ออก

รบกวนอาจารย์ช่วยตอบข้อสงสัยด้วยคะ

สวัสดีครับ คุณณี

ผมเองไม่ได้เน้นศึกษาต่อด้าน Speech Recognition หรือ Image Processing ซึ่งจะเน้นในกลุ่มของวิศวกรรมคอมพิวเตอร์มากกว่า แต่พอดีว่าอดีตเจ้านายผม Prof.Dr.Peter F. Beales ที่ปรึกษา WHO เคยให้ผมศึกษาความเป็นไปได้ในการใช้ AI เพื่อถอดรหัสภาษาไทยในปี พ.ศ. 2547 ในช่วงหนึ่ง ผมพอจะแสดงความเห็นได้ดังนี้ครับ

ในภาพรวมกระบวนการคือ 1) เราจะใช้ Multilayer Back Propagation Artificial Neural Networks Model เพื่อเรียนรู้ สังเคราะห์ แยกแยะคำศัพท์จากการเรียนรู้การออกเสียงคำศัพท์ต่างๆ 2) คำศัพท์แต่ละคำ ควรบันทึกไว้หลายๆแบบ ดังอธิบายในรูปแบบของคลื่นเสียงที่แตกต่างกันในหลายลักษณะ อาทิเช่น แตกต่างด้านความยาวคลื่น , Amplitude , ฺBackground Noise , Sample Rate เพื่อสังเกตและจดจำ Spectrogram (การเปลี่ยนแปลงความถี่เทียบกับเวลา) เหมือนคนทั่วไปในโลกที่เวลาออกเสียงคำๆเดียวกัน แต่อาจมีหลายสำเนียง หลายโทนเสียง เป็นต้น

ส่วนโมเดลที่นิยมใช้ในการแบ่งกลุ่มและจับคู่เสียงแบบเดิมก็มี 1) Dynamic Time Warping -DTW 2)Hidden Markov Models-HMM 3)Gaussian Mixture Models-GMM ซึ่งเริ่มมีการวิจัยกันมาตั้งแต่ปลายยุค 80 และในปัจจุบันก็ได้พยายามเอาโครงข่ายประสาทเทียมซึ่งมีจุดเด่นในการเรียนรู้ สังเคราะห์ ทำนายผลลัพธ์ของปัจจัยแบบมีความสัมพันธ์ซับซ้อน ไม่เป็นเส้นตรงได้ดีมาประยุกต์ใช้ในการทำ Speech Recognition ดังจะเห็นได้ว่ามีงานวิจัยหลายชิ้น (โดยเฉพาะใน Edinburg U. ของสก็อตแลนด์) ได้ทำ Hybrid ผสม ANN นี้กับเทคนิคอื่นๆ อีกครับ

หวังว่าคงจะช่วยได้บ้างนะครับ

สวัสดีครับ

ตอนนี้ผมเรียน Dr อยู่ที่ okinawa ทำวิจัยด้านการ forecasting รบกวน อจ ช่วยหา คู่มือ ภาษาไทย manual การใช้ matlab ด้าน neural network ให้หน่อยได้ไหมครับ

สวัสดีครับ

ผมเคยใช้ Matlab เมื่อ 8 ปีที่แล้ว เพื่อสร้างแบบจำลองการทำนายระดับน้ำในฝาย แต่ก็ไม่ได้ใช้อีกเลยครับ

เท่าที่ผมเห็นตำราภาษาไทยด้าน Artificial Neural Network ก็หาได้ยากมากครับ นอกจากเล่มที่ผมเขียนไว้ให้กับกรมการพัฒนาชุมชน กระทรวงมหาดไทย (แจกฟรี)

แต่ถ้าเป็นตำรา Matlab สำหรับการทำ Data Mining ที่เป็นถาษาอังกฤษ ก็มีอยู่ครับ จะลองหาเองก่อนไหมครับ

ขอบคุณครับ

รบกวนช่วยสืบค้น คู่มือ ข้างต้นด้วยนะครับ

เท่าที่นึกออกตอนนี้ก็มี

1.Artificial Intelligence - Fuzzy Logic Matlab

2.Artificial-Neural-Networks-The-Tutorial-With-MATLAB

3.Development Of Neural Network Theory For Artificial Life-Thesis, Matlab And Java Code

ลองหาดูนะครับ ^_^

สาวิณี พวงประเสริฐ

สวัสดีค่ะอาจารย์ หนูเป็นนิสิตอยู่ชั้นปีที่สี่ ตอนนี้ทำโปรเจคเกี่ยวกับการพยากรณ์อนุกรมเวลาราคาน้ำมันค่ะ ตอนนี้หนูคงว่าจะนำข้อมูลมาใช้งานอย่างไร ยังมองภาพไม่ออกค่ะ รบกวนอาจารย์ช่วยให้คำแนะนำด้วยค่ะ

ขอบคุณมากค่ะ

หลักของอนุกรมเวลา ก็คือ จะสร้างสมการเพื่อพยากรณ์ผลลัพธ์ของค่านั้น ตามเวลาที่เรากำหนด ไม่ว่าจะใช้เทคนิคย่อยแบบใด เช่น การปรับเรียบ ฯลฯ

ปัญหาที่ถกกันมากก็คือ หากปัจจัยนั้นมีการเปลี่ยนแปลงมาก หรือจับความสัมพันธ์ตามเวลาได้ยาก สมการที่ได้ อาจไม่น่าเชื่อถือ

ทางออกอีกหนึ่งทาง ที่เหมาะสำหรับการพยากรณ์ผลลัพธ์ที่มีความแปรปรวนมากๆ ก็คือ Artificial Neural Networks (โครงข่ายประสาทเทียม) นี่ล่ะครับ ;)

อาจารย์ครับ ช่วยแนะนำ คู่มือ Artificial Neural Networks ภาษาไทย หน่อยครับ

และรบกวนขอความรู้เกี่ยวกับ Fuzzy art,artmap ครับ

ให้ติดต่อศูนย์IT กรมพัฒนาชุมชน กระทรวงมหาดไทย เกี่ยวกับ "คู่มือการวิเคราะห์ข้อมูลด้วยเทคนิคโครงข่ายประสาทเทียม" ที่ผมเขียนไว้แจกจ่ายฟรี ปี 2550 (ใช้ Microsoft Excel)

น่าจะเป็นคู่มือ ANN ภาษาไทยเล่มเดียวที่มีอยู่ในบ้านเราขณะนี้ล่ะครับ ส่วน Fuzzy Logic นั้น ผมถือว่าเป็น DSS ที่เขียนเงื่อนไขไว้ตัดสินใจ ยังไม่ถึงระดับ AI ที่เรียนรู้ได้ด้วยตัวเองเหมือน ANN ครับ ลองหา Textbook มีหลายเล่มเขียนไว้ครับ เพราะเกิดขึ้นมานานแล้ว

สวัสดีค่ะอาจารย์ หนูทำโปรเจคเกี่ยวกับการพยากรณ์อนุกรมเวลาราคาน้ำมัน ตัวแปรที่ใช้เป็นข้อมูลราคาน้ำมันดิบเพียงอย่างเดียว ไม่ได้สนใจปัจจัยอื่น แต่ยังงงเรื่องฟังก์ชัน time series ไม่รู้ว่าจะเรียกใช้งานอย่างไร และต้องสร้างเพิ่มอย่างไรถึงจะนำมาใช้ในการพยากรณ์ รบกวนอาจารย์ช่วยให้คำแนะนำด้วยค่ะ ใช้ ANN แบบ Backprop ค่ะ

สวัสดีครับอาจารย์ ผมขอความรู้เกี่ยวกับ นิวรอล -ฟัสซี่ หน่อยครับ

และช่วยแนะนำหนังสือด้วยครับ

ขอบคุณครับ

นศ EE

สวัสดีค่ะ รบกวนถามหน่อยค่ะ

ตอนนี้ทามthesis การจำลองโดยใช้นิวรอลเน็ตค่ะ

จากที่อ่านของคนที่ทำมายังมีปัญหาว่าแบบจำลองที่ได้ ยังไม่แม่น

กราฟเปรียบเทียบดาต้ากับแบบจำลองที่สร้างขึ้นมา ยังไม่ค่อยใกล้กันเท่ารัย

อย่างนี้จะมีวิธีไหนจะทำให้ได้แบบจำลองที่ดีกว่านี้ไหมคะ แต่ยังอยากใช้นิวรอลเน็ต เพราะคิดว่าดีแล้ว

ดังนั้นต้องแก้ปัญหาโดยการปรับweight ใหม่ไหมคะ แล้วจะปรับweightยังไง

ยังไม่เข้าใจการปรับweightค่ะ ว่าจะหาสมการอะไรนี่ยังไง

หนังสือ Neuro-Fuzzy ดีๆ ที่สามารถสั่งซื้อได้ที่ www.amazon.com มีดังนี้ครับ

- Neuro-Fuzzy and Soft Computing: A Computational Approach to Learning and Machine Intelligence (Matlab Curriculum Series)

- Neural Fuzzy Systems: A Neuro-Fuzzy Synergism to Intelligent Systems

- Neuro-Fuzzy Pattern Recognition: Methods in Soft Computing

- Fuzzy Logic and Neuro Fuzzy Applications Explained

ตอบคุณ Gift

ไม่ทราบว่าคุณใช้ Network แบบไหน Algorithm ใดอยู่ หากวิธีเดิมใช้แล้วยังไม่แม่นพอ มันก็ปรับได้หลายอย่าง อาทิเช่น ปรับจำนวน layer, ปรับ hidden layer, เปลี่ยนประเภท Network, เปลี่ยนสมการคำนวณใหม่ => algorithm

ทางเลือกที่นิยมก็มีดังนี้ครับ

- Back Propagation => Multi Layer Feed Forward Network

- Recurrent Network (Delta Rule) => The Jordan Network, The Elman Network, Back Propagation in Recurrent Network (Mixed)

สายของคุณคงเป็นสายสถิติ วิทยาศาสตร์ วิศวกรรมศาสตร์ ที่เน้ืนพัฒนารูปแบบ หรือทฤษฏี ซึ่งผมเองก็ไม่ได้จับตรงนี้มาก เพราะงานวิจัยผมเน้นการประยุกต์ใช้ในการบริหาร และตัดสินใจองค์กรด้านต่างๆ ผมนิยม Back Propagation ครับ

แต่สิ่งที่ฝากให้คิดคือ คุณภาพของ Neural Networks (ความแม่นยำ) หากมีเวลาว่างพอ อยากให้ศึกษาตรงนี้ คือ

- ผลกระทบของความแม่นยำ กับ จำนวนข้อมูลที่เรียนรู้

- ผลกระทบของความแม่นยำ กับ จำนวน hidden units

โชคดีนะครับ ;)

เรียน อาจารย์ วิทยา พรพัชรพงศ์

เรื่อง ขอความรู้เรือง ANFIS

1.กรุณาช่วยอธิบายหลักการทำงานของ ANFIS

-การนำอินพุตเข้า

-การเรียนรู้

-ได้เอ้าพุตออกมาได้ยังไง

-การประยุกไช้งาน

2.กรุณาช่วยแนะนำคู่มือ ANFIS

ด้วยความเคารพอย่างสูง

POWER

เรียน อาจารย์ครับ

คือ ผมมีข้อสงสัยเกี่ยวกับ Spec ที่ใช้เรียน Run SAS EM อะครับ คือผมทำ โปรเจค Data Mining อยู่ แต่ตอนนี้คือ โปรแกรมผมช้ามากๆครับ มันเป็นเพราะ Spec เครื่องของผมหรือเปล่าครับ

CPU Core2Duo T5300 1.73 GHZ

RAM 2.5 GB

ส่วน Data ที่ใช้ Run มีประมาณ 13 Attributes และ 17000 Row ครับ

รบกวนด้วยนะครับ ว่าผมควร Up Spec เครื่องหรือเปล่า

ขอบคุณครับ

อาจารย์ครับ

ขอความรู้ เรื่อง Recurrent nework หน่อยครับ

แนะนำวิธีการใช้งานด้วยครับ

ขอบคุณครับ

ขอบคุณอาจารย์ค่ะ สำหรับบทความดีดี

ช่วยให้เข้าใจลักษณะการทำงานของโครงข่ายประสาทเทียมได้ง่ายค่ะ

หนูอยากสอบถามในเรื่องการประยุกต์ใช้ ANN ในการสร้างแบบจำลองการทำนายค่า คือ

หลังจากหาโครงสร้างที่ดีที่สุดได้แล้ว (โดยการเรียนรู้แบบมีผู้สอนใช้โปรแกรม NeuralWorks Pro. II plus )

อยากทราบว่าการนำไปใช้ในการทำนายค่า โดยการป้อนข้อมูลใหม่เข้าไป เพื่อให้ทำนายค่าในอนาคตจากโครงสร้างดังกล่าวออกมา จะทำได้อย่างไร

เนื่องจากตัวนน.ซึ่งจำเป็นจะต้องนำไปใช้ จะอยู่ใน black box

ซึ่งโปรแกรมไม่แสดงค่า

ขอบคุณค่ะ ^_^

ขอบคุณอาจารย์มากๆเลยนะคะที่มาให้ความรู้ที่ต้องการหาพอดีเลยค่ะ

บทความของอาจารย์ทำให้เข้าใจมากขึ้นกว่าบทความอื่นๆที่เคยอ่านเลยค่ะ

ถ้าเป็นการไม่เสียมรรยาทรบกวนให้อาจารย์อธิบายเรื่อง DTW กับ GMM

ให้อ่านหน่อยได้ไหมคะ โดยเฉพาะ GMM เป็นอะไรที่ยากจะเข้าใจมากๆ

ขอบคุณอาจารย์มาล่วงหน้านี้ด้วยนะคะ เป็นพระคุณอย่างสูงค่ะ

อาจารย์ครับผมทำพยากรณ์อยู่ใช้นิวรอล แต่อยากได้ที่เป็น code feed foreward back propagation แบบปรับชั้นซ่อน และเซลล์นิวรอลได้ไม่ทราบว่าผมจะพอหาหรืออาจารย์จะแนะนำที่ใหนได้บ้างครับ

ขอบคุณครับ

สวัสดีคะ อาจารย์ วิทยา หนูได้อ่านบทความ ของอาจารย์ แล้วได้ความรู้ เรื่อง ann มาก ๆ คะ ตอนนี้หนู กำลังทำวิทยานิพนธ์ ในส่วนของข้อมูลด้านสาธารณสุข คะ มีคำถาม อาจารย์ ด้วยนะคะ

1. activation function มีกี่ function คะ แล้วแต่ละ function เหมาะกับ สถาปัตยกรรมแบบใด

2. Multi Layer Feed Forward Network output ที่ใช้ ใช้ activation function อะไรคะอาจารย์

3. ถ้าใน Multi Layer Feed Forward Network output เป็น class A .class B, class C ใช้ activation function ชนิดใด คะ

 4. ถ้าใน Multi Layer Feed Forward Network output เป็น ค่าเดียว เช่น 1 ใช้ activation function ชนิดใด คะ

เรียน อาจารย์ ช่วยชี้แนะด้วยคะ

ด้วยความเคารพอย่างสูง

ปาริชาติ 

เรียน อาจารย์ วิทยา

ปาริชาติ ได้ถามคำถามอาจารย์ ดังข้างต้น

เรียนอาจารย์ ช่วยตอบให้เร็วด้วยนะคะ เพราะหนูจะสอบความก้าวหน้าวิทยานิพนธ์

ในวัน เสาร์ที่ 3- 4 ตุลาคม 2552 นี้คะ อาจารย์ รบกวนด้วยคะ

ด้วยความเคารพอย่างสูง

ปาริชาติ

สวัสดีคับอาจารย์ วิทยา คือ ผมมีเรื่องจะถามเกี่ยวกับ neural network คับ

ผมทำโปรเจ็คเกี่ยวกับการ classified ภาพกล้วยไม้อ่ะคับ ผมอยากทราบว่าผมต้องใช้

ืำีANN แบบไหนที่มาช่วยในการclassifed(ใช้ร่วมกับimage processing)

ขอบคุณที่ให้คำแนะนำ

สวัสดีค่ะอาจารย์

ขอบคุณอาจารย์สำหรับความรู้ที่เขียนให้อ่านด้วยภาษาที่เข้าใจง่าย

ตอนนี้ทำ Thesis เกี่ยวกับเรื่องการใช้ neural network แบบ Feed-forward artificial neural network หาโมเดลในการพยากรณ์ค่ะ

1. อยากทราบว่าการเลือกวิธีการสอนโครงข่ายโดยใช้ Leveneberg Maquardt Algorithm เป็นรูปแบบการสอนแบบหนึ่งของ

back-propagation หรือเปล่าค่ะ

2. การแบ่งชุดข้อมูลเป็นสามชุด โดยมีชุด training set ,validation set และ tes set เราจำเป็นต้องแบ่งให้เป็น 3 ชุดเสมอหรือไม่

และความสำคัญของชุด validation set คืออะไรค่ะ

ขอบคุณล่วงหน้าสำหรับคำตอบค่ะ

ด้วยความเคารพอย่างสูง

สิริกัลยา

สวัสดีครับ คุณสิริกัลยา

ผมขอตอบคำถามดังนี้เลยนะครับ

1. เป็น Back Propagation ครับ โดย Levenberg-Marquard Algorithm จะช่วยให้การฝึกเน็ตเวิร์คในแต่ละรอบได้เร็วขึ้นกว่าแบบปกติ เป็นวิธีการของ Newton ซึ่งใช้ Inversed Matrix ของ Hessian ในการทําหนาที่เปนผลของสัดสวนการเรียนรูคูณดวยทิศทางการลดลงของคาผิดพลาดแบบเกรเดียนส ซึ่ง Hessian เมตริกซจะเปนดัชนีคาความผิดพลาด (error index) สําหรับอนุพันธุอันดับที่สองของคาน้ําหนักและฟงกชันควอดราติก(quadratic function) เพื่อใหไดคาที่จุดถัดไปต่ําที่สุดตามตองการ ดังนั้นอัตราการลูเขาดวยวิธีการแบบ Newton จะเร็วกวาวิธีการแบบแบกพรอพเพเกชันธรรมดา

2. การใช้งาน ANNs นั้น จะต้องมีข้อมูล 3 ชุด คือ Training Set, Validation Set และ Test Set โดยเบื้องต้น เราจะให้ ANNs หาน้ำหนักความสัมพันธ์ของตัวแปรแต่ละตัว ด้วยการป้อน Training Set เข้าไป แล้วก็ตรวจสอบความถูกต้อง (ความเชื่อมั่น) ด้วย Validation Set ว่าจะพยากรณ์ถูกต้องกี่ % เพื่อต้องการหารูปแบบหรือโมเดลที่ดีที่สุดในการทดลอง เมื่อพอใจในรูปแบบแล้ว จึงนำข้อมูลที่ต้องการจะพยากรณ์ผลลัพธ์ไปป้อนใส่ เราเรียกข้อมูลชุดนี้ว่า Test Set ครับ

ส่วนในเรื่องอัตราส่วนนั้น ระหว่าง Training Set กับ Validation Set ซึ่งก็มาจากข้อมูลที่ให้เรียนรู้ทั้งคู่ แต่จะแบ่งอัตราส่วนไว้เรียน ไว้ตรวจสอบความถูกต้องเท่าไหร่ ก็แ้ล้วแต่ผู้ใช้ครับ ที่ผมเคยเจอมาก็มี 50-50 , 80-20 , 85-15 , 90-10 ขอให้ได้รูปแบบที่มีความแม่นยำสูงและไม่เรียนรู้นานเกินไปก็โอเคแล้วครับ (หลักปฏิบัติ)

ขอบพระคุณอาจารย์มากค่ะ

สำหรับคำตอบที่ชัดเจนและรวดเร็ว

ขอบพระคุณอย่างสูงค่ะ

สิริกัลยา

สวัสดีครับอาจารย์

พอดีผมเพิ่งเริ่มศึกษาเรื่องนี้ครับ เพื่อนำไปใช้เป็นส่วนประกอบในงานวิจัย

ซึ่งตอนนี้เพิ่งอยู่ในขั้นที่เพิ่งอ่านเพื่อทำความเข้าใจเองครับ

แล้วพอดีว่าผมอ่าน journal ที่เกี่ยวข้องกับเรื่องนี้แล้วยัง งงๆ ในแง่ของการตีความข้อมูล อย่างในตารางด้านล่างนี้ครับ

Sample น้ำผึ้งต่างชนิด Desired outputs Training resulting outputs correct rate (%) Testing resulting outputs

correct rate (%)

A [0 0 0] 100 100

B [0 0 1] 87.5 87.5

C [0 1 0] 93.33 87.5

D [0 1 1] 100 100

E [1 0 0] 100 100

Total 96.25 95

ซึ่งตัวอย่างนี้เค้าใช้ ANN เพื่อทำการจำแนกกลุ่มตัวอย่างน้ำผึ้งโดยเทียบกับวิธีวิเคราะห์อื่นๆ อย่างพวก cluster analysis กับ principal component analysis ครับ

แต่ผมติดที่ว่าอ่านผลของ ANN จากตารางนี้ยังไม่ค่อยออกครับ เลยอยากจะรบกวนอาจารย์ช่วยชี้แนะ ให้ทีน่ะครับผม

ฉัตรชัย

สวัสดีครับคุณฉัตรชัย

ANN สามารถนำไปใช้ในการแบ่งกลุ่มได้เช่นกันครับ ถึงจะมีจุดประสงค์คล้าย Cluster Analysis แต่ก็มีกระบวนการ และแนวคิดไม่เหมือนกัน

การนำ ANN ไปใช้ในการแบ่งกลุ่มเบื้องต้นนั้น เราต้องให้ ANN เรียนรู้ตัวแปร (ในที่นี้คือองค์ประกอบของน้ำผึ้ง) หลายๆตัวแปร พร้อมผลลัพธ์ีที่ได้ เช่น ตัวแปรต่างๆ เป็นแบบนี้แล้ว ได้ค่าแบบนี้แล้ว สุดท้ายเป็นน้ำผึ้้งแบบไหน หรือมีคุณภาพเท่าไหร่ พอมันเรียนรู้จนเข้าใจแล้ว เราก็สามารถถาม หรือทำนายชุดข้อมูลต่อไปได้ เช่น หากได้ข้อมูลตัวแปรเป็นแบบนี้แล้ว ทำนายว่าจะเป็นน้ำผึ้งแบบไหน หรือเป็นน้ำผึ้งที่มีคุณภาพเท่าไหร่

ในตัวอย่างที่นำมาแสดงนั้น ในวงเล็บน่าจะเป็นค่าของตัวแปร 3 ตัว ในรูป 0,1 และทางขวาก็จะเป็นค่าความเชื่อมั่น (ความแม่นยำ) ในการเรียนรู้ และถัดมาก็เป็นค่าความเชื่อมั่นในการทำนายครับ

อธิบายแบบนี้ พอเข้าใจไหมครับ

ในทางวิชาการ เราอาจนำข้อมูลน้ำผึ้งนี้ ไปแบ่งกลุ่มด้วยการใช้เทคนิคทางสถิติต่างๆ แล้วเปรียบเทียบผลลัพธ์ก็ได้ ว่าวิธีใดมีความแม่นยำกว่ากัน เป็นต้น

หากสนใจงานวิจัยแบบนี้ อยากตีพิมพ์ผลงานเรื่อง ANN ก็ติดต่อผมได้ครับ เรามาทำร่วมกันเลย

ก่อนอื่นต้องขอขอบคุณอาจารย์มากๆเลยครับ

ตอบมาเร็วมากเลยครับผม แอบคิดว่าดูจาก reply ครั้งก่อนคงไม่ได้คำตอบแน่ๆเลย

ส่วนเรื่องคำตอบ อาจารย์อธิบายได้เข้าใจง่ายดีครับผม

ขอบขอบคุณอาจารย์เป็นอย่างสูงครับผม

ฉัตรชัย

อ.ค่ะคือหนูอยากขอความรุ้เกี่ยวกับ

Backpropagation

Radial Basis Function

Support Vector Machine

K-means Algorithm

คือหนูใช้วิธิพวกนี้ทำนายโรคมะเร็งเต้านมอ่ะค่ะ

ช่วยอธิบายถึงหลักการการทำงานได้มั้ยค่ะ

คืออยากจะเข้าใจเพื่อที่จะflashอธิบายหลักการทำงาน

persentให้อ.ฟังตอนขึ้นสอบโปรเจคค่ะ

ขอความกรุณาด้วยนะคะ

ขอบคุณมากค่ะ

เรียน อาจารย์วิทยาฯ

ผมเป็นนักวิชาการกรมอุตุนิยมวิทยา กำลังสนใจที่จะนำ ANN มาเป็นเครื่องมือวิจัยเพื่อหาวิธีการใหม่ ๆ ในการพยากรณ์อากาศ ผมมีคำถามดังต่อไปนี้

1. ผมต้องการใช้ข้อมูลอุตุนิยมวิทยา (stability index, temp, pressure, humidity....) เพื่อการพยากรณ์ปริมาณน้ำฝนที่สถานีตรวจอากาศกรุงเทพฯ โดยผมมีข้อมูลรายวันจำนวน 20 ปีย้อนหลัง

2. ผมควรจัดการกับข้อมูลอย่างไร

3. ผมต้อศึกษาหาความรู้อะไรบ้าง (เพิ่งเริ่มศึกษา)

ขอรบกวนอาจารย์ด้วยครับ

ประสาน

ที่ผ่านมาเคยมีเจ้าหน้าที่หน่วยงานของท่านเคยติดต่อขอให้ผมดูข้อมูลหน่วยนี้ให้ แล้วก็หายไปเลยหลายคน ไม่รู้เป็นเพราะอะไร แต่ผมจะบอกว่าไม่มีปัญหาครับคุณประสาน ยิ่งมีข้อมูลย้อนหลังมากถึง 20 ปีแล้ว เพียงแต่มาคุยกันเรื่องรายละเอียดของตัวแปรมากกว่าครับ ว่าจะกำหนดให้อะไรเป็นตัวแปรอิสระ อะไรเป็นตัวแปรตาม (เพราะเหตุผลใด)

ด้วยเทคโนโลยีใหม่ๆ ข้อมูลดิบไ่ม่จำเป็นต้องเป็นข้อมูลตัวเลข หรือเชิงปริมาณก็ได้ครับ มีเทคนิคใหม่ๆเกิดขึ้นมากมาย แค่กำหนดวัตถุประสงค์มาเลยว่า ต้องการจะพยากรณ์ข้อมูลอะไร ลึกแค่ไหนเท่านั้นเองครับ

รบกวน ถามอาจารย์เรื่อง back-propagation neural network

Activation function ของข่ายประสาทเทียมแบบแพร่กลับที่เป็นแบบ binary sigmoid function ที่ช่วงของฟังก์ชัน อยู่ระหว่าง 0-1

แล้ว ค่า range ของ น้ำหนักที่ใช้ในการ train ให้รู้จำ อยู่ที่ช่วงไหนค่าจากเท่าไหร่ ถึง เท่าไหร่ อาจารย์พอจะทราบไหมครับ หรือว่า พอจะแนะนำที่ไหนได้บ้าง

และขอถามอีกคำถามนะ ครับ ว่า back-propagation neural network ดีอย่างไร เมื่อเที่ยบกับ ข่ายประสาทเทียมแบบอื่น ๆ

ขอรบกวนอาจารย์ด้วยครับ

สวัสดีค่ะอาจาย์

คือหนูอยากรู้ว่าinputที่ใช้เข้าไปสอนback-propagation neural networkนะค่ะ ว่ามันเทรนที่ละตัวหรือหลายตัวพร้อมๆกันค่ะ

Input ทุกตัวเรากำหนดให้เป็น Training Data (ควรผ่านการทำ Cleansing มาแล้ว) จะถูกนำไปใช้สอน ANNs หมดครับ

แต่ในกระบวนการนั้น มันจะใช้ทีละชุด เพื่อพยายามวัดความแตกต่างของผลลัพธ์กับ Output แล้วเขียนความจำชั่วคราวไว้เป็น Epoc เมื่อมันเรียนรู้หมดแล้ว มันทราบค่าเฉลี่ยความแตกต่างกับ Output แล้ว มันจะทำการปรับน้ำหนักตัวเองใหม่อีกครั้ง (ตาม Algorithm ที่เลือก) ทั้งนี้เพื่อให้หาน้ำหนักความสัมพันธ์ให้ใกล้เคียงที่สุด และใช้เวลาให้น้อยที่สุดด้วยครับ

สวัสดีค่ะ อาจารย์

คือมีข้อมูลอยู่ใน Excel ไม่ทราบว่าต้องเตรียมข้อมูลเป็น file ยังไงค่ะ ถึงจะ import เข้า NN ได้

ขอบคุณค่ะ

สวัสดีครับคุณฟ้าใส

หากไม่นับความถูกต้อง ความครบถ้วนของข้อมูลแล้ว format ของข้อมูลที่จะป้อนเข้าระบบนั้น จะขึ้นกับ application, software ที่ใช้ด้วยครับ

เช่นบางapplication กำหนดให้ใส่ชื่อตัวแปร เป็น row ที่ 1 และข้อมูลจะเรียงตั้งแต่ row 2 ลงไป บางapplication กำหนดให้ใส่ค่า (value) เป็นตัวเลขเท่านั้น แต่บาง application อนุญาตให้ใส่ข้อความ ตัวหนังสือเป็น word ภาษาอะไรก็ได้ ก็มีครับ

ถ้าไม่แน่ใจว่า application ที่คุณฟ้าใสใช้อยู่นั้น ใช้ input data รูปแบบไหน ก็อยากให้อ่านตรง help หรือคู่มือ (manual) ของมันก่อนครับ

อาจารย์ค่ะ

หนูทำโปรแกรมเกี่ยวกับช่วยฝึกร้องเพลงน่ะ

คืออยากให้โปรแกรมสามารถบอกได้ว่าร้องผิดคีย์ท่อนไหน คำไหน

จะใช้เทคโลยีไหนเข้ามาช่วยบอกและดึงออกมาว่าผิดคำนี้ๆๆได้ค่ะ

แล้วNeural Networks สามารถช่วยได้รึป่าว

ถ้าได้ช่วยบอกหลักการทำงานให้หน่อยได้ไหมค่ะ

ขอบคุณค่ะ

ตอนนี้มีโปรแกรมวิเคราะห์การร้องผิดคีย์ครับ เช่น Celemony Melodyne แต่มันยังไม่เป็นอัตโนมัติ คือเราต้องใส่คีย์เพลงเข้าไปก่อน แล้วมันจะเทียบสเกลคีย์นั้นให้เอง เมื่อเจอโน๊ตใด คำร้องไดไม่ตรงกับคีย์ มันจะฟ้องให้เราเข้าไปแก้ไขครับ ใช้กันมากใน Musical Studio

แต่ถ้าจะให้ฟังไฟล์เสียงแล้วเขียนคอร์ด เขียนคีย์ออกมาเลยนั้น ต้องเีขียนโปรแกรมให้มันฉลาดมากๆ เป็น Machine Learning เริ่มมีการพัฒนาจากหลายๆค่ายแล้ว แต่ยังไม่มีตัวไหนฉลาดถึงขนาดนั้นครับ

สายนี้พัฒนากันมานานแล้ว โดยมี University of Edinburgh, Scotland พยายามพัฒนาสาย Audio Intelligence มานานเป็นสิบปีแล้วครับ ยังไม่มีอะไรสมบูรณ์แบบ เช่น โปรแกรมดิกชันนารีอัจฉริยะ แปลภาษาให้อัตโนมัติ และถูกต้องไวยากรณ์ด้วย หรือโปรแกรมที่ฟังเสียงคนพูด แล้วมันเขียนหนังสือให้เอง (หลายภาษา) และแปลภาษาให้อัตโนมัติอีก

ที่ผมทราบมา เพราะเคยทำ Project ให้กับองค์การอนามัยโลก ซึ่งเค้าเคยพัฒนาร่วมกับ Edinburgh มาก่อนครับ

สวัสดีคะ อาจารย์ หนูมีเรื่องที่อยากปรึกษาอาจารย์คะ

คือหนูมีความสนใจในเรื่องของข่ายประสาทเทียมและเพิ่งได้ทำความเข้าใจด้วยตัวเอง

เพื่อนำไปใช้ในงานวิจัยในอนาคต จึงอยากปรึกษาอาจารย์ว่า ถ้าจะนำANN ไปใช้ในการจำแนกประเภทของเส้นใยสามารถที่จะทำได้หรือไม่ และหลักการที่จะนำไปใช้จะต้องเตรียมข้อมูลอะไรบ้างคะ

ขอบคุณอาจารย์คะ

แสดงว่าต้องเตรียมข้อมูลตัวแปร 2 ข้างดังนี้ ตัวแปรอิสระคือตัวแปรคุณสมบัติ ลักษณะของเส้นใย ส่วนตัวแปรตาม (คำตอบ) คือ ประเภทของเส้นใย แล้วให้ ANN ไปเรียนรู้ความสัมพันธ์ทั้งหมด เพื่อให้มันเข้าใจให้ได้ว่า เส้นใยแต่ละประเภทนั้นแตกต่างกันอย่างไร ตรงนี้ควรมีจำนวนชุดข้อมูลที่มากพอ เพราะจะทำให้การแยกแยะมีความน่าเชื่อถือมากขึ้น ผลจากการเรียนรู้จะทำให้เราทราบค่าความน่าเชื่อถือด้วย หากน้อยเกินไป ก็ควรปรับปรุงข้อมูลใหม่

หลังจากให้มันเรียนรู้เสร็จแล้ว เราก็ทดสอบด้วยการ ป้อนข้อมูลตัวแปรอิสระชุดใหม่เข้าไป เพื่อให้มันทำนายผลลัพธ์ให้ว่า ตัวแปรแบบนี้จะเป็นเส้นใยประเภทไหน

ขอขอบคุณอาจารย์มากเลยนะคะ

ที่ช่วยให้คำแนะนำในการเตรียมข้อมูล

อาจารย์ตอบรวดเร็วมากเลยคะ

ตอนแรกคิดว่าจะไม่ได้คำตอบซะแล้ววว

ดีใจมากกๆๆๆเลยคะที่อาจารย์มาช่วยให้คำแนะนำ

ขอขอบคุณอีกครั้งหนึ่งคะ หวังว่าโอกาสหน้าอาจารย์จะให้คำแนะนำ

ที่เข้าใจและรวดเร็วอีกเช่นเคยนะคะ ^_^

สวัสดีค่ะ อาจารย์ สะบายดีไหมคะ

เรียน BI กับอาจารย์ตั้งแต่ ป.โท รามฯ วิชานวตกรรม ของ ดร.ภคพล จักรพันธ์ อนุฤทธิ์

อาจารย์งานยุ่งไหมคะ รักษาสุขภาพด้วยนะ

[email protected] แล้วจะมาทักทายใหม่นะคะ

กมลชนก ลือสมัย

RU.Smart managers รุ่น 1

สวัสดีคะอาจารย์ หนูมีคำถามที่อยากจะขอคำแนะนำจากอาจารย์ดังนี้ นะคะ

คือถ้าเราไม่เคยได้ใช้โปรแกรม ANN เลย แล้วเราต้องทำอย่างไรกับการเก็บข้อมูลเพื่อให้โปรแกรมเรียนรู้

คือหนูไม่ทราบว่าต้องเก็บข้อมูลอะไรบ้าง กลัวได้ข้อมูลไม่ครบ เพราะข้อจำกัดทางเวลากับโรงงานที่เข้าไปศึกษานะคะ

อีกทั้งหนูยังไม่ค่อยมีความเข้าใจที่ดีในการใช้โปรแกรมนี้ ข้อมูลที่เข้าไปเก็บคือเพื่อต้องการเอาข้อมูลนั้นมาเรียนรู้และพยากรณ์คำนวณเส้นใยที่จะใช้ในการผลิตแต่ละครั้ง หนูหวังเป็นอย่างยิ่งว่าอาจารย์จะกรุณาช่วยตอบคำถามของหนูนะคะ

ป.ล. อาจจะมีคำถามตามมาอีกครั้งเมื่อได้ลงมือไปเก็บข้อมูลจริงๆๆ และอาจารย์จะให้คำแนะนำที่ดีอีกเช่นเคยนะคะ

ขอบคุณคะ

ต้องตอบตามความจริงว่า "ลำบาก" ครับ หากไม่มีพื้นฐานเลย หรือไม่รู้ว่ามันมีหลักการอย่างไร ทำงานอย่างไร

เหมือนหลักการวิจัย กว่าจะออกแบบเครื่องมือที่ใช้เก็บรวบรวมข้อมูลได้ (บทที่ 3 จากมาตรฐาน 5 บท) ก็ต้องรู้หลักการที่จะใช้ ต้องกำหนดตัวแปรที่จะใช้ทดสอบ หาความสัมพันธ์ระหว่างตัวแปรอิสระ (ตัวแปรต้น) และตัวแปรไม่อิสระ (ตัวแปรตาม) เสียก่อน ส่วนนี้เป็นเนื้อหาบทที่ 2 ของการทำวิจัยมาตรฐาน 5 บท

หากออกแบบเครื่องมือ หรือตัวแปรไม่ครบแล้ว จะเป็นเรื่องใหญ่ ผลจะไม่น่าเชื่อถือ เพราะอาจมีตัวแปรบางตัวที่เราไม่ได้เก็บ ไม่ได้คำนวณ ซึ่งตัวนั้นๆอาจจะมีอิทธิพลต่อสิ่งที่เราต้องการจะพยากรณ์มากก็ได้

เพื่อความไม่เสี่ยงใดๆ ในเรื่องนี้ ควรเก็บข้อมูล/ตัวแปรมากกว่า ย่อมได้เปรียบกว่า เพราะหากตัวใดไม่ใช้ เราก็เลือกไม่เอาไปคำนวณได้ แต่ถ้าหากไม่ได้เก็บไว้ก่อน แต่จำเป็นต้องเอามาคำนวณ แบบนี้เราจะย้อนเวลาไปหาข้อมูลนั้นยากแล้วครับ

ทั้งหมดเป็นหลักของ Modern Research Methodology with Data Mining ออกไปทางวิทยาศาสตร์มากกว่าสายสังคมศาสตร์

ผมอยากแนะนำให้ทำความเข้าใจกับหลักการนี้เสียก่อน ลองดูตัวอย่างจริงๆก่อน จะได้เข้าใจได้มากขึ้น ไม่อยากให้เสียเวลาไปทำงานโดยที่มีความเสี่ยงสูง เพราะอาจจะได้ทำใหม่ทั้งหมดครับ

ขอบคุณสำหรับคำแนะนำของอาจารย์นะคะ

หนูจะพยายามศึกษาและทำความเข้าใจคะ

สวัสดีค่ะ อาจารย์

หนูกำลังหาข้อมูล โครงข่ายประสาทเทียม ไปทำ IS น่ะคะ

ขอรบกวนถามอาจารย์ว่า หนูจะหาทฤษฎีได้จากที่ไหนบ้างคะ

คือว่าหนูจะทำเกี่ยวกับ การพยากรณ์ผลผลิตน่ะคะ หนูควรจะเริ่มต้น

อย่างไรดี และนอกจากโครงข่ายประสาทเทียมแล้ว จะใช้เทคนิคได้บ้างคะ

ที่เหมาะสมและได้ผลการพยากรณ์ที่แม่นยำค่ะ

ขอบคุณนะคะ

การพยากรณ์ผลผลิต หากต้องการผลลัพธ์ที่เป็นตัวเลข ก็สามารถเลือกใช้เทคนิคการพยากรณ์แบบสถิติเดิมๆ เช่น Regression รูปแบบต่างๆ รวมไปถึงการใช้ Time Series หากคิดว่าเวลามีความสัมพันธ์ แต่ข้อมูลจะต้องเป็นตัวเลขทั้งหมด ทุกตัวแปร ทุกปัจจัย เพื่อนำไปสร้างสมการพยากรณ์

หากสนใจจะลองใช้ หรือทำวิจัยเปรียบเทียบ ก็สามารถเลือกใช้โครงข่ายประสาทเทียมได้ครับ ซึ่งเทคนิคนี้มีข้อได้เปรียบคือ ข้อมูลที่ใช้ในการวิเคราะห์นั้นจะเป็นตัวเลขหรือเป็นตัวหนังสือก็ได้ (ข้อมูลเชิงปริมาณและข้อมูลเชิงคุณภาพ) ในทางสถิติก็คือเป็นได้หมดทั้ง Nominal, Ordinal หรือ Scale โดยกำหนดตัวแปรตาม (Target) ให้เป็น "ปริมาณผลผลิต" ที่ต้องการพยากรณ์

หากจะให้ ANNs มีผลลัพธ์ที่แม่นยำขึ้น มีความน่าเชื่อถือมากขึ้น ในเบื้องต้น ข้อมูลต้องกรองมาก่อน และต้องมีข้อมูลปริมาณมากๆ ยิ่งมีให้มันเรียนรู้มากๆ ผลการพยากรณ์ที่จะใกล้เคียงความจริงมากขึ้น ลดความเสี่ยงการเจอข้อมูลนอกช่วง (Outlier)

ส่วนตำราเรื่องนี้นั้นมีเยอะครับ แต่ส่วนใหญ่เป็นตำราต่างประเทศนะครับ ตำราในไทยยังมีน้อย และพูดยังไม่ลึกเท่าไหร่

ในเบื้องต้นลองค้นหาหนังสือใน www.amazon.com เกี่ยวกับ data mining หรือ artificial neural networks ก็ไ้ด้ครับ ว่ามีหนังสือเล่มไหนบ้าง บางเล่มผมอาจจะมีแล้วก็ไ้ด้ครับ

ขอบคุณค่ะ อาจารย์

แล้วในเรื่อง ANNs แล้วจะต้องเริ่มต้นที่อะไรก่อนคะ

โห.. ถามแบบนี้เลยเหรอครับ

ก็ต้องเริ่มที่ภาคทฤษฎีหลักการทำงานของมันก่อนครับ ให้รู้ก่อนว่ามันมีหลักการทำงานอย่างไร ต้องใช้ตัวแปรแบบไหน แล้วค่อยไปจับ Database Design ว่างานของเราควรจะมีตัวแปรอะไรบ้าง อะไรเป็นตัวแปรอิสระ อะไรเป็นตัวแปรตาม แล้วก็เริ่มเรียนรู้ Software ที่จะมาช่วยเราทำงาน เพราะแต่ละค่ายก็มีหลักการใช้ไม่เหมือนกัน มีข้อจำกัดไม่เหมือนกันครับ

เมื่อได้คำตอบแล้้ว ก็ต้องสรุปผลให้เป็น เสนอแนะให้ได้ครับ

สวัสดีครับอาจารย์ ผมมีเรื่องขอรบกวนปรึกษาครับ ผมกำลังลองพยากรณ์ฝนล่วงหน้า 1-6 ชั่วโมง โดยความสัมพันธ์คือ

R(t+1) = f(R(t),S(t), RH(t), WT(t), P(t))

โดย

R(t+1): ฝนล่วงหน้า 1 ชั่วโมง
R(t): ฝน ณ สถานีที่ต้องการพยากรณ์ ณ เวลาปัจจุบัน
S(t): ฝน ณ สถานีใกล้เคียงกับสถานีที่ต้องการพยากรณ์ ณ เวลาปัจจุบัน
RH(t): ความชื้นสัมพัทธ์ ณ เวลาปัจจุบัน
WT(t): อุณหภูมิกระเปาะเปียก ณ เวลาปัจจุบัน
P(t): ความกดอากาศ ณ เวลาปัจจุบัน

ผมใช้โปรแกรม NeuroSolutions ครับ โดยเลือก
Type of ANN: Multi-layer Perceoptron และ Generalize Feedforword
Transfer function: SigmoidAxon และ TanhAxon
โดยมีการลอง step size และ momentum ค่าต่างๆ

ปรากฏว่า ผลการเรียนรู้ไม่ดี ค่า r และ EI น้อยประมาณ 0.3 - 0.4 ทั้ง Training, Testing และ Validation set ผมจึงคิดว่ามันอาจเกิดจากค่าศูนย์ (0) คือฝนไม่ตกหรือไม่ เพราะจากจำนวนข้อมูลกว่า 50,000 ค่า มีค่าศูนย์เกินกว่า 60% ของข้อมูลทั้งหมด (พิจารณาจากช่วงฝนรายชั่วโมง ในช่วงฤดูฝน) ทำให้ ANN ไม่สามารถเรียนรู้จากค่าศูนย์ได้ ผมใคร่ขอคำแนะนำจากอาจารย์ว่า การพยากรณ์ฝนควรมีการพิจารณาอะไรมากกว่านี้หรือไม่ และสำหรับค่าศูนย์ (0) จะเป็นอุปสรรคในการเรียนรู้ของ ANN หรือไม่ หากใช่ ผมควรทำอย่างไรดี ขอบคุณล่วงหน้าสำหรับคำแนะนำครับ

เนื่องจากไม่มีรายละเอียดเกี่ยวกับ Hidden Layer, ผลการวิเคราะห SD ของข้อมูลตัวเลขของแต่ละตัวแปร , ค่าความน่าเชื่อถือ , หรือผลการทดสอบอัลกอริธึม Back Propagation ว่าผลลัพธ์แตกต่างกับวิธีนี้มากน้อยแค่ไหน แบบไหนน่าเชื่อถือกว่ากัน

สำหรับคำตอบนั้น "ค่าศูนย์" ที่เป็น Scale หรือเลขจริงนั้น ไม่ใช่อุปสรรคในการใช้งาน ANNs แต่ถ้าเป็น Missing Value มีผลแน่นอนครับ ต้องกรองออกไปก่อน

เพราะว่าค่า "ศูนย์" ก็คือตัวเลขค่าหนึ่งเท่านั้นเอง เหมือนกับเลข 1 หรือ 2 ในงานบางงานอาจมีแค่ 0,1,2 เยอะแยะมากก็ได้ครับ ถ้าค่าตัวแปรเป็นเช่นนั้นจริงๆ

แต่ผลออกมาตามที่แจ้งผมนั้น น่าจะเกิดเนื่องจากค่า SD สูงมาก มีการกระจายของ Value สูง เช่น ข้อมูลมีตั้งแต่ 0 ถึง 200 มม. หรืออาจมีค่าทศนิยมอีก 2 ตำแหน่ง ซึ่งทำให้เกิดค่าที่ไม่ซ้ำกันเลยถึง 2 หมื่นค่า แต่คุณใช้ข้อมูลเพียง 50,000 ชุดเอง โอกาสจะซ้ำกันยิ่งน้อยไปอีกครับ หากคุณใช้หลายล้านชุด ความสามารถในการแยกแยะของมัน น่าะจะดีขึ้นกว่านี้แน่นอน

เคล็ดลับ: ลองเปลี่ยนข้อมูลชุดนี้เป็น nominal หรือ ordinal สิครับ เช่น แบ่งกลุ่มของระดับน้ำฝน เช่น 0-30 มม. เป็นค่า 1 และแบ่งกลุ่มไปเรื่อยๆ คราวนี้ค่าตัวเลขจะเป็น ordinal แล้วครับ ค่าอาจมีไม่กี่ตัว เช่น 1-8 การกระจายจะต่ำลงมาก ทำทั้งหมดทุกตัวแปร เวลาพยากรณ์ก็สมมุติตัวเลขกลุ่มลงไปว่าฝนตกช่วงไหน ส่วนคำตอบจะให้เป็นค่า ordinal หรือ ratio scale ก็แล้วแต่ คือจะให้ทำนายปริมาณออกเป็นช่วง หรือจะให้พยากรณ์เลขจริง ก็กำหนดได้หมด

ถ้าได้ลองหมดนี้แ้ล้ว จะเห็นทางสว่างเองครับ ^^

ขอบคุณอาจารย์มากครับ ได้แนวคิิดที่เป็นประโยชน์มากทีเดียว แต่ยังไงผมอาจจะต้องรบกวนถามอาจารย์ในโอกาสต่อไปอีกครับ

สวัสดีครับอาจารย์ ผมมีเรื่องรบกวนจะถามอาจารย์ เกี่ยวกับการทำ Credit scoring หน่อยครับ

ต้องเรียนกอนว่าผมไม่มีความรู้ด้าน ANN เลยครับ แต่พอดีอ่านพวก journal ของต่างประเทศเจอเยอะมาก เลยอยากลองศึกษาดูครับ พอดีจะทำ IS เรื่อง CRedit scoring ว่า ที่บริษัทแบ่งกลุ่มลูกค้าจากการทำ credit scoring นั้น เหมาะสมหรือไม่ ครับ

1. ควรจะเริ่มต้นจากอะไรก่อนดีครับ ไม่ทราบจริงๆครับ - -!

2. อยากทราบว่าวิธีการไหนน่าจะเหมาะสมครับอาจารย์ ตอนนี้ผมมีข้อมูลอยู่ประมาณ 7000 ราย เป็นข้อมูลส่วนบุคคลและรายละเอียดให้สินเชื่อต่างๆครับ ซึ่งมีตัวแปรอยู่ประมาณ 30ตัวครับ ทั้งข้อมูลตัวเลข และไม่ใช่ตัวเลขครับ

3. ผมต้องใช้ sas ทำอย่างเดียวเลยใช่ไหมครับ หรือมีโปรแกรมตัวอื่นทำได้อีกครับ เพราะผมไม่มีพื้นฐานเลย จะมีก็แค่ spss นิดๆหน่อยๆครับ

ขอบคุนมากคับอาจารย์

แต่ละแห่งจะมีเกณฑ์และกระบวนการทำ Credit Scoring ไม่เหมือนกันครับ ผลลัพธ์บางแห่งก็เป็น % เป็นดาว เป็น level 2ระดับ 3 ระดับ 5 ระดับ ก็ว่ากันไป แต่จะต้องมีความชัดเจนในการกำหนดคะแนนแต่ละระดับว่าคิดได้อย่างไร หรือมีนิยามการระบุ milestone KPI ไว้อย่างไร

1) หากพูดในมุมวิเคราะห์ข้อมูล ก็ต้องแบ่งข้อมูลออกเป็น 2 ส่วนใหญ่ๆ คือ ตัวแปรอิสระและตัวแปรตาม ในเรื่องนี้ตัวแปรตามก็คือค่าคะแนนหรือระดับของ Credit Scoring ของลูกค้าแต่ละรายนั่นเอง ตัวแปรอิสระก็คือลักษณะและพฤติกรรมของลูกค้าทั้งหมดเท่าที่จะเก็บรวบรวมได้ครับ

2) เหมือนข้อที่ 1 แต่การที่ข้อมูลมีทั้งตัวเลขและไม่เป็นตัวเลขนั้น ในทางสถิติเราเรียกว่ามีหลายประเภทของข้อมูลผสมกับ คือ norminal (แบ่งกลุ่มและไม่เกี่ยวกันเลข) , ordinal (แบ่งกลุ่ม แต่มีความเกี่ยวกัน) และ scale (ข้อมูลเชิงปริมาณ วัดได้จริง) ส่วนจะใช้เทคนิคอะไรวิเคราะห์นั้นก็แล้วแต่วัตถุประสงค์ด้วยว่าต้องการทราบอะไร เช่น หากต้องการทราบปัจจัยที่มีความสัมพันธ์หรือผลกระทบต่อ Credit Scoring (การบอกว่าเป็นลูกค้าดีหรือไม่ดี /เสี่ยงมากเสี่ยงน้อย) ก็ต้องใช้การวิเคราะห์ความสัมพันธ์ แต่ในทางสถิติจะซับซ้อนขึ้น เนื่องจากว่าแบ่งเทคนิคตามการวิเคราะห์ข้อมูลด้วย เช่น หากเป็นข้อมูล scale ทั้งหมด ก็ใช้ correlation ได้ จะทำให้ทราบว่าตัวแปรใดมีความสัมพันธ์กับผลลัพธ์ และมีปริมาณความสัมพันธ์มากน้อยแค่ไหน แต่ถ้าข้อมูลตัวแปรเป็น nominal, ordinal ก็ต้องใช้ chi-square ทดสอบ แต่ถ้าตัวแปรอิสระที่จะใช้ทั้งหมดเป็นแบบผสมกัน หลักสถิติเดิมๆจะวิเคราะห์ไม่ได้แล้ว ต้องหันไปพึ่งหลักการทำเหมืองข้อมูล (Data Mining) ซึ่งก็ทำได้หลายวิธี เช่น ใช้โครงข่ายประสาทเทียม (Artificial Neural Networks) วิเคราะห์หาน้ำหนักของแต่ละตัวแปรให้ โดยไม่ต้องสนใจว่าตัวแปรเป็นประเภทใด นับเป็นความฉลาด เป็น AI และเป็นความสะดวกให้นักวิเคราะห์อย่างมาก และเนื่องจากตัวแปรท่านมี 30 ตัว และมีจำนวน data set 7,000 ก็ถือว่าเพียงพอในการใช้หลักการนี้ แต่ต้องผลลัพธ์อีกครั้งว่าได้ค่า Test Set's Confidence รับได้มากน้อยแค่ไหน ก่อนนำไปใช้ด้วย

3) SAS เป็นค่ายที่มีชื่อเสียงระดับโลกด้านโปรแกรมวิเคราะห์ แต่ไม่ใช่ว่าทำได้แค่เจ้าเดียว ยังมีผลิตภัณฑ์อีกหลายค่ายที่สามารถทำ Credit Scoring ทั้งแบบสถิติธรรมดา และแบบการทำเหมืองข้อมูล มีหลายค่ายครับ แต่ละค่ายก็มีความยากง่ายในการใช้งานไม่เท่ากัน สะดวกไม่เท่ากัน รองรับข้อมูลขนาดใหญ่ไม่เท่ากัน ราคาไม่เท่ากัน ที่สำคัญต้องแม่นในหลักการก่อน ซอฟต์แวร์อะไรก็แค่ไปเรียนรู้คำสั่งเพิ่มเติมเท่านั้นเองครับ

เรื่องที่เกี่ยวข้องกับ Credit Scoring with Data Mining นั้นมีหลายศาสตร์ผสมกัน ต้องแม่นยำทั้งหมด ได้แก่ ระบบคอมพิวเตอร์ ระบบฐานข้อมูล สถิติ คณิตศาสตร์ การทำเหมืองข้อมูล (สถิติประยุกต์) เศรษฐศาสตร์ และศาสตร์เฉพาะด้านเช่น การเงิน การธนาคาร การวิเคราะห์สินเชื่อ การตลาด การบริหารทรัพยากรบุคคล ตัวชี้วัดประสิทธิภาพต่างๆ ฯลฯ

ถึงจะมีหลายศาสตร์ แต่มันก็มีหลักการอยู่ ไม่ยากครับ จับหลักให้แม่นไว้ เวลาไปเจอข้อมูลแบบใด องค์กรแบบใด ซอฟต์แวร์ค่ายไหน เรียนรู้คู่มือไม่นานก็ทำได้ ไม่ต้องไปเรียนหลายๆปริญญาเหมือนผมก็ทำได้ครับ

แล้วท่านจะเข้าใจว่า คนที่ทำงานด้านการวิเคราะห์ข้อมูลระดับสูงอย่าง Data Mining, Forecasting Modeling ต้องเก่งหลายศาสตร์ ต้องเรียนรู้เยอะมากๆ หาคนที่ครบเครื่องยากครับ ที่อเมริกาตำแหน่ง Data Mining Specialist ยังมีเงินเดือน 120K U.S. Dollars/year ขึ้นไป ไม่รวมโบนัส ไม่ใช่เพียงแค่หาคนที่รู้หลายๆด้านในคนเดียวยาก คนนี้จะต้องวางแผนเป็นอีกด้วย แผนโปรโมชั่นทางการตลาด แผนบริหารความเสี่ยงด้านต่างๆ การพยากรณ์ทุกด้านขององค์กร ทำให้เป็นคนสำคัญที่สุดคนหนึ่งที่กำหนดนโยบายองค์กร ในขณะที่ผู้บริหารจริงๆนั้น ส่วนใหญ่อายุมาก ไม่เก่งคอมฯ ไม่เก่งเทคนิคยิบย่อยแบบนี้ คนๆนี้จะเป็นมือขวาที่ขาดไม่ได้เลย ถึงองค์กรท่านไม่มี แต่ถ้าคู่แข่งท่านมีคนแบบนี้ ท่านก็ต้องเหนื่อยหน่อยในการต่อกร เพราะ Data Mining เป็น Knowledge Discovery Approach ทำให้สามารถรู้ข้อมูลได้ลึกกว่าเทคนิคสถิติธรรมดา ทั้งๆที่เป็นข้อมูลอันเดียวกัน รู้ลึก รู้มากกว่า วางแผนอะไรก็ได้เปรียบเราครับ เพราะเค้าจะเข้าใจลูกค้า เข้าใจองค์กรได้ดีกว่า

อยากให้คนไทย องค์กรไทย เห็นความสำคัญของเรื่องพวกนี้เยอะๆครับ ^^

ขอบคุณมากครับอาจารย์ที่ช่วยให้คำแนะนำ ผมจะไปศึกษาเพิ่มเติมดูอีกทีครับว่าการวิเคราะห์แบบไหนน่าจะเหมาะสมที่สุด

แล้วผลลัพธ์เป็นยังงัยจะมารายงานให้ทราบครับ พูดถึงเรื่อง data mining แล้วก็เสียดายครับไม่ได้ลงเรียนไว้ทั้งๆที่มีโอกาส

อาจารย์ครับถ้าสนใจงานที่เกี่ยวกับการวิเคราะห์ข้อมูลอย่างที่อาจารย์บอกนี่ต้องมีความรู้ในทางด้านไหนเป็นหลักบ้างครับ ผมรู้สึกสนใจมากเลยครับ ส่วนตัวเป็นคนชอบวิเคราะห์ วางแผน อะไรประมาณนี้อยู่แล้วด้วยครับ แล้วตอนนี้ก็เรียนเกี่ยวกับสถิติประยุกต์อยู่ครับ(ด้านประกันภัย+บริหารความเสี่ยง)

เป็นศาสตร์ผสมครับ เก่งสถิติอย่างเดียวก็ไปได้ไม่ไกล เก่งคอมพิวเตอร์อย่างเดียวก็ไม่ได้ เก่งระบบฐานข้อมูลอย่างเดียวก็ไม่ได้ เก่งบริหารธุรกิจอย่างเดียวก็ไม่ได้ เก่งด้านใดด้านหนึ่งไม่ได้เลยครับ

ลองอ่านคำตอบเก่าๆ ที่ผมตอบไปแล้วก็ได้ครับ

สวัสดีค่ะอาจารย์

หนูกำลังจะสอบวิชา ANN ค่ะ

หนูมีคำถามที่อยากได้รับคำอธิบายเพิ่มเติมค่ะว่า

1. ทำไมโครงข่ายcommittee ถึงได้ประมวลผลดีกว่าโครงข่ายประสาทเทียมเดี่ยวคะ มีงานวิจัยไหนอ้างอิงมั้ยคะ ไม่ทราบจะหาอ่านจากไหนค่ะ

2. แล้วจำนวนรอบในการเรียนรู้ (Learning cycle), Hidden unit, Learning rate มันมีผลต่อความสามารถในการประมวลผลหรือไม่อย่างไรคะ

ขอความกรุณาอาจารย์ช่วยอธิบายด้วยนะค๊า

1. มีแน่นอนครับ เหมือน Hybrid ส่วนงานอ้างอิงนั้น ผมกำลัง search หาอยู่ทุกวันครับ ว่าจะตีพิมพ์งานวิจัยเหมือนกัน ให้ลองหาในห้องสมุด journal นะครับ ช่วยๆกัน ศาสตร์ใหม่ๆ มีโอกาสให้ลอง ให้ตีพิมพ์มากมาย

2. มีแน่นอนครับ เพื่อเพิ่มโอกาสในการเข้าถึงคำตอบให้ใกล้เคียงที่สุด นั่นก็คือจะได้ค่า confidence สูงครับ ระหว่างเรียนรู้จะได้ EPOC เก็บในความจำชั่วคราวจำนวนมาก และก็มี algorithm เพื่อทำให้สมการใกล้เคียงคำตอบให้มากที่สุด และเร็วที่สุดครับ ถ้าเอาตอบข้อสอบ ก็แนะนำให้หาทฤษฎีหรือหลักการอ้างอิงเรื่องพวกนี้ครับ

แล้วถ้าจะต้องตอบว่าทำไม committee network ถึง perform ได้ดีกว่า Single neuralnetwork หล่ะคะ จะตอบยังดีคะ

ผมไม่ทราบว่าคุณเรียนในระดับไหน มีพื้นฐานจากสายอะไร ถ้าเป็นระดับบัณฑิตศึกษา ผู้เรียนต้องหาความรู้เอง อาจารย์จะเป็นคนจุดประเด็นให้เท่านั้น และระหว่างเรียน ตรงไหนไม่เข้าใจก็ควรจะสอบถามผู้สอนให้กระจ่าง ไม่ใช่จะสอบแล้วพึ่งมาหาคำตอบ

งานนี้ผมเป็นบุคคลภายนอกแต่ผมขอตอบกลางๆ เพื่อให้คนอื่นได้เข้าใจด้วยแบบสรุป ดังนี้

ANN เป็นรูปแบบการเรียนรู้แบบ AI, Data Mining แบบไม่เน้นตัวแปร (ข้อมูลไม่จำเป็นต้องเป็นตัวเลขเสมอไป) ให้มันเรียนรู้เองได้โดยไม่ต้องสอน มันต้องใช้ข้อมูลจำนวนมากเพื่อการสังเกต เรียนรู้ แล้วสร้างโมเดล และประเมินผลความแม่นยำ แต่ปัญหาคือ ในการทำงานจริง หลายๆครั้งข้อมูลมีไม่มากพอที่จะก่อให้เกิดความน่าเชื่อถือสูงๆ จึงมีแนวคิดต่างๆออกมาเพิ่มเติม เช่น การทำหลายๆโครงข่ายเพื่อหาคำตอบเดียวกัน ร่วมกัน แบบ Committee Network -> trained net i (Xj) -> yij; for i=1,2,..., k. เมื่อ k คือจำนวนโครงข่ายที่สร้างมาเรียนรู้เพื่อตอบโจทย์ปัญหาเดียวกัน และ f (yij) -> Yj; i=1,2,..., k โดยมี Yj เป็นผลลัพธ์เอาไปใช้ในการแทนที่สมการและพยากรณ์ผลลัพธ์ การประเมินผลก็จะประเมินผลคำตอบ Yj เทียบกับ Tj (ของจริง)

เบื้องหลังทฤษฎี Committee Network ก็คือ ระบบผสมที่มีหลายโครงข่ายมาร่วมกันจะได้ผลลัพธ์ดีกว่าโครงข่ายเดียวที่ดีที่สุด และแต่ละโครงข่ายอาจถูกสอนด้วยเทคนิคต่างๆกันก็ได้ เพื่อเพิ่มความแม่นยำไปอีก โดยไม่สนใจค่าความผิดพลาดของโครงข่ายย่อย เน้นเพื่อประเมินความแม่นยำของผลลัพธ์ที่สนใจเท่านั้น

จริงๆ Commitee Network เรียกได้อีกหลายชื่อ และก็ยังไม่ใช่หลักการที่ดีที่สุด แม่นยำที่สุด ยังมีทฤษฎีเกิดใหม่อีกมากมายที่ช่วยกันตีพิมพ์ ช่วยกันทดสอบ ทดลอง และต่อยอด เช่น การเพิ่มประสิทธิภาพของ Committee Network อาจใช้การทำ ReSampling ข้อมูลใหม่ให้เหมาะสม (เพราะมีน้อย) หรือการทำ Cross-Validation เพื่อหาค่าความผิดพลาดในโครงข่ายได้อีก

ขอโทษค่ะ หนูเรียนปริญญาตรีปีสี่ค่ะสายการบริหารจัดการแต่อยากจะเรียนต่อโทค่ะแล้วอาจารย์พูดถึงหัวข้องานวิจัยที่หนูจะทำมันเกี่ยวข้องกับเรื่องพวกนี้ซึ่งหนูไม่เคยรู้จักมาก่อนและหนูไม่ได้เรียนสายคอมพิวเตอร์มาเลยทำให้หนูมองภาพไม่ค่อยออก หนูเลยไปขอลงเรียนร่วมวิชานี้กับรุ่นพี่เพื่อเตรียมพร้อมไว้ก่อน แต่ว่าพอลงเรียนแล้วก็ต้องมีสอบร่วมด้วย ที่จริงหนูก็พยายามศึกษาและหาคำตอบเองอยู่ค่ะ แต่ภาษาอังกฤษหนูก็ไม่ค่อยดี หนังสือภาษาไทยก็หาไม่ได้ พอดีโชคดีมาเจอเวปไซต์นี้เลยเข้ามาขอความช่วยเหลือค่ะ ไม่ใช่ว่าจะสอบแล้วค่อยมาหาคำตอบ เพียงแต่หนูไม่ค่อยมั่นใจในสิ่งที่หนูไปอ่านมาเพราะมันอ่านจะเปเปอร์บ้าง หนังสือภาษาอังกฤษบ้าง บางทีก็ไม่เข้าใจ ไปเรียนกับพี่ๆ ก็ไม่กล้าถามเพราะหนูเป็นเด็กคนเดียวไม่รู้จักใคร เลยมาถามอาจารย์ค่ะ เพื่อว่าอย่างน้อยหนูจะได้คำตอบจากผู้ที่มีความเชียวชาญด้านนี้โดยตรงแล้วทำให้หนูเข้าใจถูกต้องและมากขึ้นค่ะ ขอบคุณมากนะคะที่เสียสละเวลามาช่วยอธิบายให้หนูได้เข้าใจมากขึ้น

ถ้าเรียนอยู่ระดับปริญญาตรีไม่เป็นไรครับ สงสัยอะไรก็ถามอาจารย์ผู้สอนได้เลย

รู้ไหมว่าหัวข้อพวกนี้น่ะ เค้าใช้ทำกันในระดับปริญญาโทขึ้นไปได้เลยนะ ไม่ว่าจะเป็นการเปรียบเทียบประสิทธิภาพของเทคนิคต่างๆ หรือการทำนายอนาคต (ที่ไม่ใช่ตัวเลขก็ได้) ผมเองทำเรื่องพวกนี้ในระดับปริญญาเอก เพือการพยากรณ์รูปแบบต่างๆ ถือว่าเป็นเรื่องค่อนข้างใหม่ของโลก ในเมืองไทยถ้าไม่ใช่สายอาจารย์คณิตศาสตร์ สถิติ หรือด้านนี้โดยตรงจะหาคนรู้น้อยมาก พูดไปก็ไม่ค่อยมีคนเข้าใจ

ถ้าได้เรียนระดับสูงขึ้น (Graduate Level) ก็จะเน้นการค้นคว้า การวิจัย การพิสูจน์ การหาหลักฐานสนับสนุนความคิดของเรา ดังนั้นเรื่องพื้นฐานบางอย่าง เค้าถือว่าต้องรู้หมดแล้ว จะไม่ถามกันเท่าใดนัก

ส่วนตัวผมเองเปิด Blog นี้ขึ้นมามีเจตนาจะเผยแพร่ศาสตร์อัจฉริยะพวกนี้เพื่อการบริหารจัดการสมัยใหม่ การวางแผนนโยบายภาครัฐ การวางแผนกลยุทธ์ของธุรกิจเอกชน และผมเองก็ยินดีมาแลกเปลี่ยนความรู้กันอยู่แล้ว อันไหนผมเคยทำมา เคยศึกษาวิจัยมา ก็ตอบได้เลย บางเรื่องยังไม่เคยศึกษา ไม่เคยวิจัย ก็ตอบไม่ได้เป็นเรื่องธรรมดา

ถ้าสนใจหัวข้อ Hybrid-Algorithm (เทคนิคผสม) พวกนี้สามารถทำได้ทั้ง ป.โท ป.เอก เลยนะครับ สู้ๆ

สวัสดีค่ะอาจารย์

หนูโชคดีมากที่ได้เข้ามาเจอเว็ปไซต์นี้ คือตอนนี้หนูกำลังทำโปรเจคเกี่ยวกับการจัดเส้นทางการขนส่งค่ะ แต่หนูเรียนด้านวิศวกรรมการอาหารก็เหมือนต้องเริ่นต้นศึกษารายละเอียดทุกอย่างใหม่ คือปัญหาของหนูตอนนี้ก็คือ neural net มีความสัมพันธ์กับ Algorithm ยังไงค่ะ และถ้าหนูจะใช้ matlab เป็นตัวประมวลผลหนูต้องเลือกฟังชันไหนค่ะ และกล่องดำใน neural คืออะไรค่ะ หนูต้องหาฟังชันอะไรมาใส่ค่ะ

รบกวนอาจารย์ช่วยให้ความกระจ่างแก้หนูด้วยนะค่ะ

วิศวกรรมอาหาร (Food Engineering) หรือ วิศวอุตสาหการ (Industrial Engineering)?!? ถ้าเรียน Food Engineering หรือ Food Science หรือ Food Technology ไม่ต้องทำหัวข้อ Logistics นะครับ ไม่ตรงสาขาเอกที่เรียน

ถ้าจะเริ่ม ก็ต้องศึกษาก่อนว่า ANNs ทำงานโดยใช้หลักการอะไร มีสมการ (Algorithm) กี่รูปแบบ จะใช้แบบไหน เพราะเหตุผลใด และสมการนั้น จะเขียนใส่โปรแกรม MATLAB อย่างไร (มีตำราฝรั่งสอนนะครับ)

ส่วนคำว่า "กล่องดำ" ในศาสตร์ ANNs จริงๆไม่มีหรอกครับ เป็นภาษาปาก เป็นภาษาพูดของคนบางคนมากกว่า ผมก็ไม่อยากเดาว่าเค้าใช้แทนคำว่าอะไร เช่น EPOC หรือไม่ ไม่อยากให้ภาษาวิชาการวิบัติไปด้วยการใช้คำ Slang ถ้าหมายถึงตัวสมองก็คือสมอง (โครงข่ายประสาทเทียม) ไม่ใช่กล่องดำครับ

ขอบพระคุณสำหรับคำแนะนำนะค่ะ

คือหนูเรียน Food Engineering ค่ะ ซึ่งมันก็จริงอย่างที่อาจารย์กล่าวมาว่าโปรเจคนี้มันไม่ค่อยตรงสาขา แต่สิ่งที่นำมาจัดส่งคือผลไม้สดที่เราต้องคำนึงถึงการเน่าเสียด้วย ซึ่งหนูคิดว่าคนที่เรียนทางด้านนี้มาถ้าสามารถที่จะแก้ปัญหาดังกล่าวได้ด้วยก็น่าจะดี หนูจึงอยากจะหาแหล่งความรู้เพิ่มเติมเพื่อที่โปรเจคนี้จะสามารถผ่านพ้นไปด้วยดี

และตอนนี้หนูกำลังสับสนว่าสิ่งเราจะต้องออกแบบคืออะไร ระหว่าง neural หรือ Algolithm และการออกแบบนี้มีรูปแบบที่แน่นอนหรือไม่ หรือขึ้นอยู่กับการออกแบบของเราเอง

ขอความกรุณาอาจารย์ช่วยอธิบายด้วยนะค่ะ

ถ้าเป็นระดับปริญญาตรี แค่ลองนำเรื่องนี้ไปใช้ให้เกิดผลก็โอเคแล้ว ไม่จำเป็นต้องทดสอบ ทดลองหา Algorithm ที่เหมาะสมที่สุด แต่ถ้าเป็น ป.โท อาจต้องคิดแล้วว่าจะทดลอง Algorithm ไหน เช่น Back Propagation อาจจะลองพิสูจน์ก็ได้ว่า ต้องออกแบบ Node จำนวนเท่าไหร่ หรือใช้ Hidden Layer เท่าไหร่ จึงจะได้ผลลัพธ์ที่่ใกล้เคียงของจริงที่สุด ก็โอเค ต้องพิสูจน์ได้

ดังนั้นการออกแบบในศาสตร์ใดๆ ไม่มีสูตรสำเร็จ เป็นทั้งศาสตร์และศิลป์ เพราะในแต่ละวงการ ในแต่ละกรณี ก็จะมีจำนวนตัวแปร กระบวนการ จำนวนข้อมูลไม่เท่ากัน ผลลัพธ์ต่างๆก็ย่อมไม่เท่ากันครับ เป็นข้อดีทางวิชาการ ที่สามารถทดลองได้จำนวนมากมาย เพื่อหาวิธีที่เหมาะสมที่สุดในแต่ละกรณี ในแต่ละเงื่อนไขไป ทำให้มีโอกาสตีพิมพ์ผลงานวิจัยมากครับ

แต่ในงานวิจัยหาเส้นทางที่สั้นที่สุดนี้ ผมเอาตามวัตถุประสงค์ว่า น่าจะต้องการหารูปแบบการขนส่งที่สั้นที่สุด หรือประหยัดที่สุด วิธีนี้คงไม่เน้นการพัฒนา Algorithm ใหม่ คงเน้นการประยุกต์ใช้มากกว่า ก็ระบุมาเลยว่าจะใช้วิธีไหน แล้วให้มันเรียนรู้ข้อมูลเก่าๆ เคยเดินทางผ่านจุดไหนบ้าง แล้วสุดท้ายใช้เวลาเท่าไหร่ พอ ANNs เรียนรู้เสร็จแล้ว เราก็จำลองเส้นทางขึ้นมาจำนวนมากให้ ANNs อ่านแล้วพยากรณ์เวลาที่จะใช้ให้เรา เราก็เลือกรูปแบบการเดินทางที่ใช้เวลาสันที่สุด

จบ.. ง่ายมากๆ

ขอบพระคุณอาจารย์มากค่ะสำหรับคำอธิบายที่ชัดเจนขึ้น

ด้วยความเคารพอย่างสูง

สินีนาฏ

คือผมทำโปรเจค Number Recognition โดยใช้ neural network ครับ

ผมควรเริ่มยังไงครับ

ขอบคุณครับ

ต้องทำความเข้าใจหลักการทำงาน สมการ (อัลกอริธึม) ที่นำมาใช้ และโปรแกรมคอมพิวเตอร์ที่จะใช้ในการทำ ANN ครับ

สวัสดีค่ะ อาจารย์

คืออยากถามอาจารย์ว่า ถ้าจะทำโปรเจคเกี่ยวกับการนำการเต้นของชีพจร โดยใช้มือถือในการตรวจจับไม่ทราบว่าจะเกี่ยวข้องกับระบบโครงข่ายประสาทเทียมหรือป่าว ถ้าเกี่ยวช่วยแนะนำด้วยได้ไหมค่ะ

ท่านคงไม่เข้าใจ ANNs จริงๆ เพราะไม่ได้เกี่ยวอะไรกับเส้นประสาทหรือร่างกายของมนุษย์เลย มันเป็นโปรแกรมคอมพิวเตอร์ เป็นสถิติประยุกต์ เน้นหาความสัมพันธ์ของปัจจัยรูปแบบต่างๆ และทำนายผลลัพธ์ในอนาคตได้อีกด้วย

หากจะเขียนโปรแกรมมือถือเพื่อวัดชีพจรหัวใจ หากคิดแบบง่ายๆก่อน ก็ต้องใช้มือถือที่มีเซ็นเซอร์ตรวจจับการสั่นสะเทือนที่ละเอียดอ่อน แล้วเขียนโปรแกรมให้บันทึกเสียง หรือการสั่นที่เป็นจังหวะเท่าๆกัน (หรือใกล้เคียงกัน) แล้วคำนวณออกมาเป็นจำนวนครั้งต่อนาทีได้

สวัสดีครับ อาจารย์วิทยา

สวัสดีครับ อาจารย์วิทยา

ตอนนี้ผมกกำลังศึกษาANNโดยใช้matlab ในการคำนวณหาตัวแปรขาเข้าที่เหมาะสมเพื่อให้ได้อัตราการระเหยของถั่วเขียว ซึ่งเป็นตัวแปรขาออกสูงสุด โดยที่ตัวแปรขาเข้า มีดังนี้ครับ ปริมาณความชื้นขาเข้า ปริมาณความชื้นหลังอบ Feed rate

ซึ่งมีข้อมูลการทดลองทุกอย่างเเล้วครับ อยากสอบถามอาจารย์ดังนี้ครับ

1. ผมจะimportข้อมูลขาเข้าอย่างไรครับ ใช้excelหรือfile matlab เเละสร้างเป็นตารางอย่างไรครับ

2.ผมจะimport สมการความสัมพันธ์ระหว่างตัวแปรขาเข้าเเละขาออกอย่างไรในnntoolครับเเละimportไว้ที่ส่วนไหน

3.สมการความสัมพันธ์ผมสามารถสร้างได้ที่ไหนครับ ถ้าใช้m-fileต้องใช้คำสั่งอะไร

4.และผมจะต้องimportข้อมูล ที่ไว้ใช้train และ test อย่างไรครับ สร้างเป็นตารางเหมือนข้อมูลขาเข้าหรือไม่ครับ

5.และผมจะcreate network อย่างไรครับ

โดยสมการความสัมพันธ์ อัตราการระเหยของน้ำ = ปริมาณน้ำที่ระเหย*Feed rate

ปริมาณน้ำที่ระเหย = ปริมาณความชื้นเริ่มต้น - ปริมาณความชื้นหลังอบ

ป.ล. ถ้าหากว่าไม่เป็นการรบกวน ผมขออนุญาตให้อาจารย์ส่ง คำตอบทาง email: [email protected]

ถ้าขาดข้อมูลอะไร ที่จำเป้นในการตอบคำถามของผม ก้ช่วยแจ้งให้ทราบทาง email ด้วยนะครับ

ขอบคุณครับ

ที่คุณถามมา ส่วนใหญ่จะเป็นเรื่องของการใช้งาน Tools มากกว่า ซึ่งผมจะตอบตามหลักการ ไม่ยึด Tools ค่ายใดค่ายหนึ่ง

ดังนั้น format ของข้อมูล data set ทั้งหมดนั้น จะขึ้นกับ Tool ที่ใช้ ต้องศึกษารายละเอียดเอง เพราะแต่ละ Tool มีข้อกำหนดไม่เหมือนกัน

สมการความสัมพันธ์ของ ANNs ก็คือ สมการ Algorithm ของ ANNs เอง ซึ่งปัจจุบันมีการตีพิมพ์มากกว่า 70 สมการแล้ว หากจะใช้แค่ basic ก็อาจใช้ Back Propagation เพื่อให้มันเรียนรู้ สร้างกฎ (น้ำหนักของแต่ละตัวแปร) แล้วพยากรณ์คำตอบให้

เมื่อได้สมการความสัมพันธ์จาก ANNs แล้ว ก็ทำการสร้างแบบจำลอง Simulation เปลี่ยนค่าตัวแปรที่สนใจไปเรื่อยๆ เพื่อดูว่าค่าใดให้ผลลัพธ์ที่ดีที่สุด แล้วจึงนำไปทดลองใช้

ที่ผมกล่าวนี้เ็ป็นการทำวิจัยแบบพื้นฐานทั่วไป สามารถรประยุกต์ได้อีกหลายรูปแบบ

สวัสดีครับ อาจารย์

คือ ผมอยากทราบว่าเหตุผลที่เลือกใช้ Back propagation algorithm ด้วยครับ

เพราะในเมื่อ การสอน neural network แบบชี้นำก็มีหลายตัวด้วยกัน ทำไมเค้าถึงนิยมใช้ Back propagation

ขอบคุณครับ

เพราะ Back Propagation Algorithm เป็น..

- เป็นสมการที่ง่ายที่สุดของ Feed Forward Algorithm

- เป็น Algorithm ที่ใช้ฝึกให้ ANNs ให้เรียนรู้ความสัมพันธุ์ของข้อมูลด้วยตัวเอง (Supervised Technique)

- การทำงานเหมือนสมองมนุษย์

- เรียนรู้น้ำหนักความสัมพันธ์ของแต่ละตัวแปรได้

- พยากรณ์ผลลัพธ์ออกมาได้ (พยากรณ์คำตอบหรือแนวโน้มได้) พร้อมค่าความเชื่อมั่นของคำตอบนั้น

- ตรวจสอบความผิดพลาดของความสัมพันธ์ได้

- ใช้แก้สมการคณิตศาสตร์ที่ไม่สามารถแก้ได้ด้วยวิธีปกติทั่วไปได้

- สามารถประยุกต์ใช้ได้กว้าง แทบจะทุกวงการ ที่มีข้อมูลตัวแปรอิสระ-ตัวแปรตาม ให้มันเรียนรู้

เหมือนคนเรียนหนังสือในระบบล่ะครับ ยังไง Supervised Technique ก็จะถูกใช้ ถูกเห็นบ่อยกว่า Unsupervised Technique

ขอบคุณมากครับ อาจารย์ ได้ความรู้เพิ่มขึ้นเยอะเลย

อาจารย์คะ ช่วยดูให้หนูหน่อยนะคะว่าหนูต้องใช้ Neural Network ตัวไหนในการทำ เพราะอ่านแล้วหนูยังงงอยู่เลยค่ะ

คือว่าหนูทำการทดลองมาโดยมีเครื่องวัดสองเครื่อง เครื่องแรกเป็นเครื่องวัดมาตรฐานตามที่ใช้ในโรงงานอุตสาหรรมซึ่งหนูใช้เป็นเครื่องอ้าอิง ส่วนเครื่องที่สองคือเครื่องที่หนูสร้างขึ้น หนูสุ่มเก็บผลการทดลอง100 ตัวอย่าง มาจากทั้งสองเครื่อง

ปัญหาคือสองเครื่องให้ค่าผลการทดลองที่แตกต่างกัน โดยเมื่อหนูนำมาวาดกราฟพบว่าค่าผลการทดลองที่ได้มีลักษณะเป็นฟันปลาทั้งคู่ แต่มีค่าเดลต้า y ที่แตกต่างกันคะ

โจทย์ก้อคือ หนูจะต้องทำให้เครื่องที่หนูสร้างขึ้นวัดค่าตัวอย่าง ได้เท่ากับเครื่องอ้างอิงค่ะ โดยใช้โปรแกรม matlab คะ

หนูก็เลยต้องหาสมการที่จะต้องนำมาทำให้ค่าผลการทดลองของเครื่องที่หนูสร้างขึ้นมีค่าเท่ากับเครื่องอ้างอิง ค่ะ

ขอบคุณมากค่ะ

หนูลอง บวกลบธรรมดาดูแล้วก้อได้ระดับหนึ่งแต่ก็ยัง error มากอยู่

เลยอยากทราบว่า matlab มีความสามารถทางด้านนี้ไหมค่ะ

ขอบคุณคะอาจารย์

มันก็คือการ Calibration หาค่าสัมประสิทธิ์ (ตัวคูณ) ใหม่ของเครื่องมือที่สร้างขึ้น เพื่อให้ผลออกมาเท่ากับค่ามาตรฐานนั่นเอง

แต่ MatLab ผมไม่ได้ใช้มานานเกิน 10 ปีแล้วครับ ไม่ได้ติดตามด้วยว่าปัจจุบันมันไปถึงไหน เล่นแต่ Data Mining เป็นหลัก ในรอบ 5 ปีหลัง

ต้องขออภัยที่ช่วยไม่ได้ครับ ^^"

ขอบคุณคะอาจารย์

แต่หนูขอถามนิดหนึ่งนะคะว่าหนูสามารถใช้ Neural Network ได้ใช่ไหมค่ะ

ใช้ได้หมดล่ะครับ แต่ต้องเข้าใจหลักการของ ANNs และหลักการของการอ่านกราฟเครื่องมือให้แน่นด้วย

การที่กราฟเป็นฟันปลาแสดงว่ามีปัจจัยในแกนใดแกนหนึ่งมีอิทธิสูง เช่น แกนเวลา (Time-Series)

ANNs มีไว้เพื่อเรียนรู้ความสัมพันธ์ (เรียนรู้ค่าน้ำหนักของแต่ละตัวแปร) แล้วพยากรณ์ผลลัพธ์ออกมา

ในทางวิชาการแล้ว ตัวแปรอิสระจะต้องประกอบไปด้วยตัวแปรที่มีความสัมพันธ์จริงๆ โดยเฉพาะตัวที่คาดว่ามีอิทธิพลสูงจะขาดไม่ได้ จึงจะได้ผลลัพธ์ที่น่าเชื่อถือมากขึ้นครับ

ค่ะ

ขอบคุณอาจารย์มากค่ะ

สวัสดีคะอาจารย์ หนูมีข้อสงสัยอยากจะรบกวนถามอาจารย์ ต้องขอออกตัวก่อนนะคะว่าไม่ได้เรียน ANN แต่ต้องใช้ ANN ในการทำโปรเจค และหนูก็ได้มีการศึกษาด้วยตัวเอง แต่ยังไม่เข้าใจ อยากจะถามอาจารย์ว่า ถ้าหนูทำการพยากรณ์ความต้องการใช้เส้นใย แล้วหนูไปเก็บข้อมูลความต้องการใช้มา ตัวนี้คือ y ของหนูใช่มั้ยคะ แล้วค่า x มันคืออะไรคะ เพราหนูดูตามตัวอย่าง เห็นมีค่า x ที่เป็น input ก็เลยสงสัยว่าค่า x ของหนูต้องคืออะไร และ การแบ่งเทรนและเทส มีหลักเกณฑ์ในการแบ่งอย่างไรคะ ว่าต้องเป็น 70:30 หรือ 60:40 และเราจะหยุดการเทรนโดยมีหลักอย่างไรบ้างคะ ว่าให้ค่า error เท่าไรถึงจะน่าพอใจ แล้วตัวเลขที่นำมาเทรนและเทสต้องมีการสุ่มค่ารึป่าวคะ ขออาจารย์ช่วยตอบให้ด้วยนะคะ

ไม่ต้องเรียนมาโดยตรง ก็สามารถทำความเข้าใจได้ แต่ควรมีพื้นฐานคณิตศาสตร์ สถิติ หรือคอมพิวเตอร์ดีหน่อย ไม่งั้นจะไปต่อลำบาก

สมการ x,y นั้น ตอบให้ไม่ได้ เพราะไม่ได้แสดงสมการให้ผมดู ว่าใช้สมการไหน โดยทั่วไปมักใช้ y=x... (มีหลายอัลกอริธึม=หลายสมการ) ถ้าเป็นรูปแบบนี้ y ก็จะเป็นคำตอบที่เราต้องการหา ได้แก่ ปริมาณเส้นใยที่ต้องการใช้.. เป็นต้น

การแบ่งสัดส่วนของข้อมูลดิบ raw data (100%) ออกเป็น training data และ testing data นั้น ไม่มีสูตรสำเร็จตายตัว แต่หลักการใหญ่ทั่วไปคือ ข้อมูลที่ให้ ANNs เรียนรู้ควรมีสัดส่วนมากกว่า เพื่อให้เกิดความแม่นยำของสมการ เหมือนคนอ่านหนังสือมาก ยิ่งเข้าใจมากขึ้น เช่น อาจใช้อัตราส่วน 90:10 หรือ 85:15 หรือ 80:20 ก็แล้วแต่ แต่เมื่อทดสอบด้วย testing data set แล้ว ควรมีค่าความเชื่อมั่น (ความแม่นยำของคำตอบที่พยากรณ์ได้) สูงในระดับที่ผู้ใช้พอใจ ค่ายิ่งมากก็ยิ่งดี ตรงก็ไม่มีสูตรสำเร็จอีกว่าจะพอใจที่ ความเชื่อมั่น (ความแม่นยำ) กี่ %

โปรแกรม ANNs หลายค่าย ก็จะมีการกำหนด option หลายรูปแบบ ว่าจะให้หยุดประมวลผลในเงื่อนไขใด เช่น ให้หยุดเมื่อมีความเชื่อมั่น (ความแม่นยำ) ถึง 95% หรือ 80% เป็นต้น (ผู้ใช้กำหนดเอง)

ตอบคำถามสุดท้ายคือ ตัวเลขที่นำมา train และ test ควรใช้การสุ่ม เพื่อให้เกิดความไม่ลำเอียง การกระจายของข้อมูลแบบปกติ และความน่าเชื่อถือของข้อมูล ว่าข้อมูลชุดนั้นๆ เป็นตัวแทนทั้งชุดจริงๆ ไม่ได้เลือกจากกระจุกใดกระจุกหนึ่ง

พอเข้าใจไหมครับ

ขอบคุณอาจารย์ที่กรุณามาช่วยตอบคำถามให้นะคะ

และก็พอเข้าใจขึ้นคะ สำหรับอัลกอรึทึมที่หนูใช้คือ backpropagation algorithm คะ Activation function คือแบบ sigmoid function คะ คือหนูเกิดความสงสัยว่าตัวแปรตามคือความต้องการใช้ เป็นค่า y (output) แล้วค่า x ( input) ที่หนูต้องใส่เข้าไปมันคือค่าอะไรคะ รบกวนอาจารย์ช่วยตอบให้อีกครั้งนะคะ

มันก็เหมือน Multiple Regression ในส่วนของ input ที่มีหลายตัวครับ

y ไม่ต้องแทนค่า เพราะมันคือคำตอบที่จะได้จากสมการ แต่ x (input) คือค่าจากตัวแปรทั้งหมดที่นำมาใช้ (ถ้าจะให้ถูกต้องตามหลักสถิติวิชาการ ควรทดสอบความสัมพันธ์ก่อน ว่ามีความเกี่ยวข้องกันจริงๆ)

ในบางเรื่อง อาจมีตัวแปร x หลายตัวก็ได้ ก็จะเป็น x1, x2, x3... ไป หน้าที่หนึ่งของ ANNs ก็คือหาค่าสัมประสิทธิ์หน้าตัวแปร x ต่างๆ ซึ่งมันก็จะเป็นค่าน้ำหนักของความสัมพันธ์นั่นเองครับ

พอดีระบบนี้ ผมไม่สามารถพิมพ์สมการได้สะดวก แต่คิดว่าสมการของ Back Propagation ยอดนิยม คงหาได้จากสื่ออื่นทั่วไป ถ้าได้ดูสมการแล้วจะร้องอ๋อเลย หน้าที่ของระบบ ANNs คือเปลี่ยนค่าสัมประสิทธิ์ไปเรื่อยๆ และคำนวณค่า gap ของ y ที่ได้ กับค่า y จริง และใช้ algorithm บางตัวปรับค่า gap ให้น้อยลงเรื่อยๆ ให้ใกล้เคียง y จริงๆให้มากที่สุด ก็จบแล้วครับ (อาจคำนวณซ้ำไปซ้ำมาล้านๆรอบก็ได้)

สวัสดิ์ดีครับอาจารย์ ผมได้อ่านบทความของอาจารย์แล้ว คือตอนนี้ผมมีความสนใจที่จะทำงานวิจัยเกี่ยวกับ Artificial Neural Networks แบบ Multi Layer Perceptron ครับ คือจะนำวิธีนี้ไปใช้ในงานวิจัยเกี่ยวกับ การวางแผนเส้นทางการบินของอากาศยานไร้นักบิน เพื่อวางแผนให้อากาศยานบินหลีกเลี่ยงสิ่งกีดขวางที่อากาศยานต้องบินผ่าน โดยที่ ANNs จะทำการประมวลผลให้อากาศยานบินไปให้ถึงเป้าหมายที่กำหนด แต่ตอนนี้ผมยังติดปัญหาที่ Algorithms ที่จะนำมาเป็น Inputs ในการคำนวณหาครับ โดยจะทำการ Simulation กับโปรแกรม MATLAB เพื่อวิเคราะห์หาเส้นทางในการบินที่สั้นที่สุดเพื่อให้อากาศยานใช้น้ำมันและเวลาในการวางแผนการบินให้สั้นที่สุดครับ ไม่ทราบว่าวิธี้จะใช้ในงานวิจัยของผมได้ไหมครับ ยังไงช่วยตอบคำถามผมด้วยนะครับ

ANNs ไม่ใช่เทคนิคที่เหมาะสมที่สุดในการหาเส้นทางที่สั้นที่สุด ถึงแม้มันจะพอทำได้ก็ตาม เพราะหาดูสมการมันแล้ว มันมีหน้าที่น้ำหนักของแต่ละตัวแปร และพยากรณ์ผลลัพธ์ออกมาให้ นอกจากว่าจะทำเปลี่ยนตัวแปรจำนวนมาก แล้วดูว่ารูปแบบไหนมีระยะทาง (การพยากรณ์) สั้นที่สุด แล้วจึงใช้ตามนั้น แต่ผมไม่แนะนำครับ

การหาเส้นทางที่สั้นที่สุดใช้ Operations Research ตรงไปตรงมาที่สุด เขียนสมการหลายตัวแปร แล้วหาสมการที่ทำให้เส้นทางสั้นที่สุด หรือประหยัดเวลาที่สุด (มี 2 มิติ คือ ระยะทาง กับเวลา) บางครั้งเส้นทางที่สั้นที่สุด อาจไม่ได้ใช้เวลาสั้นที่สุดก็ได้ หากถนนมีสภาพไม่ปกติ อาจแตกต่างกับเครื่องบินในแง่นี้

ยืนยันว่าใช้การแก้สมการหลายตัวแปร ตัวแปรน้ำมัน ตัวแปรระยะเวลา ตัวแปรเวลา ที่สั้นที่สุดจะตรงประเด็นกว่า การเก็บข้อมูลจำนวนมากมาให้ ANNs เรียนรู้ เราเรียกว่า OR ครับ เพราะ OR ไม่ต้องมีข้อมูลเก่าเลยก็ได้ หากสามารถเขียนสมการแสดงเงื่อนไขได้

สวัสดีค่ะอาจารย์ วิทยา คือหนูอยากจะถามปัจจัยที่ใช้ตัดสินใจว่า เราควรเลือกใช้

HMM หรือ neural network อ่ะค่ะ หรือว่า ตัวไหนดีกว่ากันในแง่ไหนอ่ะค่ะ

ขอบคุณค่ะ

ผมว่าคุณออยคงสับสนระหว่าง HMM กับ ANN แล้ว บางคนคิดว่ามันเหมือนกัน เพราะเอาข้อมูลใส่ลงไปให้มันเรียนรู้รูปแบบความสัมพันธ์ของตัวแปรต่างๆ และบอกผลลัพธ์แก่เราเหมือนกัน แต่จริงๆแล้ว เป็นคนละเรื่องกันเลยครับ เพราะใช้งานกันคนละวัตถุประสงค์

ANNs เน้นการพยากรณ์ผลลัพธ์ และเรียนรู้ค่าน้ำหนักของตัวแปรอิสระแต่ละตัว (น้ำหนักของผลกระทบที่มีต่อตัวแปรตาม)

HMM เน้นการเรียนรู้รูปแบบของลำดับตัวแปรภายใน (sequence analysis) เรียนรู้ว่ามันเหมือน หรือมันคล้ายกันมากน้อยแค่ไหน (benchmarking) ใช้ในการแบ่งกลุ่มหรืออธิบายลักษณะของรูปแบบที่เราสนใจว่าประกอบด้วยตัวแปรอะไรบ้าง เป็นแบบ classification มักใช้ในวงการแพทย์ (Bioinformatics) การวิจัยทางการแพทย์ วิทยาศาสตร์ หรือวิศวกรรม เพื่อเรียนรู้ลักษณะของเสียงที่ได้ยิน ว่าประกอบด้วยโน๊ตอะไรบ้าง เป็นต้น

ดังนั้นจะเลือกใช้อะไร ควรพิจารณาวัตถุประสงค์ของการศึกษาว่าต้องการอะไร และข้อมูลที่มีอยู่นั้นเป็นแบบใด มีมากแค่ไหน

สวัสดีครับ อาจารย์

คือ ตอนนี้ผมทำโปรเจคพยากรณ์ราคาทองคำโดยใช้นิวรอลเน็ตเวิร์คอยู่ครับ

โดยสร้างเน็ตเวิร์คพยากรณ์ราคาทองคำได้แล้วครับ โดยใช้อัลกอริทึมแบบ back-propagation

แต่กำลังติดปัญหาในด้านการพยากรณ์ปัจจัย Input ต่างๆ ที่จะนำไปพยากรณ์ราคาทองคำในอนาคตครับ

โดยไม่ทราบว่าควรใช้อัลกอริทึมแบบใด, Input, output อย่างไรในการสร้างเน็ตเวิร์ค

รบกวน อาจารย์ช่วยแนะนำหน่อยนะครับ

สวัสดีครับคุณเซน

โปรเจคแบบนี้มีคนทำเยอะแยะไปหมดเลยครับ มีในหลายมหาวิทยาลัยทั้งสาขาเศรษฐศาสตร์ และสาขาคอมพิวเตอร์ ไอที

การที่ใช้ ANNs แบบ back-propagation ไม่มีปัญหาในเรื่องหลักการพยากรณ์ แต่ที่ปัญหาคือความน่าเชื่อถือของตัวแปร input และ raw data quality ที่จะนำมาใช้ว่าน่าเชื่อถือ ครบถ้วน และถูกต้องมากน้อยเพียงใด

พูดง่ายๆคือ ตัวแปรที่จะใช้พยากรณ์นั้น ประกอบด้วยตัวแปรอะไรบ้าง และทำไมจึงเลือกใช้พวกนั้น หากจะทำให้ถูกต้องตามหลักวิชาการจริงๆ (เน้นตีพิมพ์) ควรพิสูจน์ให้ได้ก่อนว่า ตัวแปร input ทั้งหมดนั้น มีความสัมพันธ์ต่อราคาทองคำที่จะพยากรณ์ด้วย ไม่ว่าจะใช้สถิติทดสอบความสัมพันธ์แบบใดก็ตาม (สถิติอนุมาน) ซึ่งจะเลือกใช้อะไร ก็ขึ้นกับประเภทข้อมูลดิบด้วย

ทั้งนี้เพื่อให้อาจารย์ กรรมการ หรือผู้เสพงานวิจัยของเราเกิดการยอมรับและเชื่อถือในผลการพยากรณ์มากขึ้น

หลักการนี้ใช้ได้หมดกับการวิจัยพยากรณ์ทุกประเภทในโลกนี้ครับ

ครับ ในส่วนที่อาจารย์กล่าวมาในด้านความน่าเชื่อถือของตัวแปร

ได้ใช้ corelation ในการทดสอบความสัมพันธ์ครับ

แต่อยากจะรบกวนถามอาจารย์ เรื่องการพยากรณ์ตัวแปร input ในอนาคต

เพื่อนำค่าที่ได้ไปใส่ใน input layer ของเน็ตเวิร์คพยากรณ์ราคาทองคำ ที่ได้สร้างเสร็จแล้ว

ว่าจะใช้อัลกอริทึมใด, input, output อย่างไร ครับ

ยกตัวอย่าง เช่น จะพยากรณ์ราคาแร่เงินในอีก 30 วันข้างหน้าเพื่อนำไปใส่ใน input layer

ของเน็ตเวิร์คพยากรณ์ราคาทองคำ(ที่สร้างเสร็จแล้ว)เพื่อจะทำนายราคาทองคำในอีก 30 วันข้างหน้า

โดยมีข้อมูลราคาแร่เงินย้อนหลัง 600 วัน ควรจะใช้อัลกอริทึมใด, input, output อย่างไร ครับ

ขอบคุณมากๆครับ

แสดงว่าบอกผมมาไม่หมด เพราะโจทย์เดิมต้องการพยากรณ์แค่ราคาทองคำ ไม่มีคำว่าแร่เงินเลย

แต่แบบนี้ก็ไม่แปลกครับ ทำได้หลายแบบ ถ้าเรียงตามลำดับแล้ว ผมเดาว่าราคาแร่เงิน มีผลต่อราคาทองคำใช่ไหมครับ ดังนั้นจะต้องมีผลการพยากรณ์แร่เงินให้เสร็จในทุก data set ก่อน เพราะค่าแร่เงินก็เปลี่ยนตามปัจจัยอื่นเหมือนกัน คราวนี้ราคาพยากรณ์แร่เงินจะกลายเป็นตัวแปรใหม่ (output) ของโมเดลการพยากรณ์ราคาแร่เงิน แล้วนำค่านี้ไปเป็น input หนึ่งใน data set ที่จะใช้พยากรณ์ราคาทองคำ (outputใหม่) อีกต่อ

ดังนั้น ANNs ตัวเดิม ทำ 2 รอบ รอบแรกเพื่อพยากรณ์ค่าแร่เงิน แล้วนำค่าที่ได้ ไปเป็น input เพื่อพยากรณ์ราคาทองคำอีกต่อ

เนื่องจากมีรายละเอียดแค่นี้ ผมจึงตอบได้เท่านี้ครับ ผมยังไม่ทราบว่าตัวแปรอื่นๆนั้นมีอะไรบ้าง และมีความสัมพันธ์โดยตรงกับราคาแร่เงิน และราคาทองคำเหมือนกันหรือเปล่า

ขอบคุณมากครับ อาจารย์

สวัสดีคะอาจารย์ อยากจะรบกวนขอสอบถามอาจารย์เกี่ยวกับ ANN กับการทำ decision tree และการทำ data mining มีความแตกต่างกันอย่างไรคะ เพราะเห็นว่าลักษณะของการทำ decision tree และ data mining ก็คล้ายๆๆกัน  และ ANN ก็สามารถทำได้เหมือนกัน เลยอยากจะถามอ. ในตรงนี้คะ ว่าสามอย่างนี้มีความแตกต่างกันอย่างไรคะ

เห็นคำถามแล้วงงครับ ผมคิดว่าคุณคงเข้าใจผิดหลายอย่างแน่ๆเลยนะครับ

 

คำว่า Data Mining นั้นคือ การทำเหมืองข้อมูล มีเทคนิคย่อยอีกมากมาย และแต่ละเทคนิคก็มีหลาย Algorithm (รูปแบบและสมการเชิงลึก) ดังนั้น Data Mining ในที่นี้จึงรวม ANNs และ DT ไว้เีรียบร้อยแล้ว

 

และสิ่งที่คนเข้าใจผิดมากก็คือ DT (Decision Tree) คำนี้ใช้ใน 2 วงการ ใช้สมการไม่เหมือนกัน นั่นคือ วงการเศรษฐศาสตร์ใช้ค่าเฉลี่ยถ่วงน้ำหนักในการประเมินความเป็นไปได้ในเหตุการณ์อนาคต และทำนายความเสี่ยงในการได้หรือเสียเงิน ใช้เพื่อใช้ในการตัดสินใจว่า ควรเืลือกทำโครงการนี้หรือไม่ ถ้าทำจะได้สูงสุดเท่าไหร่ แนวโน้มกี่% เสียสูงสุดเท่าไหร่ แนวโน้มกี่ % เรียกว่า Decision under Uncertainty (ไม่ใช่ Data Mining)

 

แต่วงการสถิติประยุกต์ใช้หลักการ DT เพื่อหา Profiling ในทางธุรกิจก็คือ Customer Profiling เพื่ออธิบายลักษณะของสิ่งที่เรากำลังสนใจ ในทางเทคนิคใช้คนละสมการ และมีวิธีการใช้งานไม่เหมือนกันเลย (บังเอิญชื่เดียวกัน) ถ้าเป็นเรื่องนี้ ถือว่าเป็น Data Mining เพราะมีความฉลาดในการหาความรู้ใหม่โดยอัตโนมัติ เช่น หากธุรกิจต้องการทราบลูกค้าชั้นดี (ซื้อมาก ซื้อบ่อย) มีลักษณะอย่างไรบ้าง เจ้า DT จะไปสร้างต้นไม้อธิบายลักษณะลูกค้านั้นออกมา โดยเรียงลำัดับตามตัวแปรที่สำคัญกว่าให้อีก แถมยังหาจุดแบ่งของตัวเลขให้อัตโนมัติด้วยเช่น อายุ รายได้ (หากข้อมูลนี้เป็น scale) และยังสรุปเป็นกฎให้อีกด้วยว่า ลูกค้าแต่ละประเภทมีลักษณะอย่างไร (ฉลาดกว่ามาก)  วิธีการใช้คือระบุตัวแปรที่ต้องการทราบเป็นตัวแปรเป้าหมาย แล้วกำหนดลักษณะที่อยากทราบเป็นตัวแปรอิสระ

 

ส่วน ANNs นั้นขี้เกียจพิมพ์ เพราะบอกไปหลายรอบ ประโยชน์ที่ใช้งานทางธุรกิจ ก็คือ การพยากรณ์คำตอบหรือผลลัพธ์ให้เรา เช่น สมมุติว่ามีลูกค้าลักษณะนี้เ้ข้ามา แล้วให้ ANNs ทำนายว่าูลูกค้าคนนี้จะซื้อมากน้อยระดับไหน เป็นต้น (ตรงข้ามกับ DT) และ ANNs ยังวัดน้ำหนักของแต่ละปัจจัยให้เราได้อีกด้วยว่า ปัจจัยตัวไหนมีผลต่อยอดซื้อยอดขายมากที่สุด ในทางธุรกิจจะได้วางแผนได้ถูกจุดไม่ขึ้น ลดการลองผิดลองถูก ลดความเสี่ยงได้มาก

ผมสอนที่ไหนนั้น ดูได้จาก www.wittayaonline.com

ขอบคุณอ.มากๆเลยคะสำหรับคำตอบที่รวดเร็ว 

 ขอรบกวนอ. อีกครั้งคะ คือจะถามอ.ว่า NN กับ C5 มีความแตกต่างกันอย่างไรคะ และ C5 กับ apriori ต่างกันยังไงคะ เพราะเห็นว่าเป็นการหาผลกระทบเหมือนกันคะ  อยากจะรบกวนอ. ช่วยอธิบายตรงนี้ให้เข้าใจด้วยคะ ขอบคุณอ.ล่วงหน้านะคะ

อ้าว เวรกรรม.. ไม่อยากถามเลยว่าเรียนที่ไหน ทำไมอาจารย์ไม่ได้อธิบายเรื่องนี้ให้กระจ่าง ทั้งๆที่เป็นพื้นฐานของ Data Mining (การทำเหมืองข้อมูล) แท้ๆ

ฟังคำถามก็ยังสงสัยอยู่ว่าเข้าใจจริงหรือเปล่า เพราะคนสับสนหมดทุกอย่างเลยจริงๆ

ANN หรือ NN หรือ ANNs คืออันเดียวกัน ดังที่ได้อธิบายไปก่อนหน้านี้แล้ว ให้ย้อนไปอ่านตตั้งแต่หน้าแรกจนถึงหน้าสุดท้าย

 

C5 คือ Algorithm (สมการ) ที่ใช้ใน DT เพื่อทำ Classification หรือในทางธุรกิจใช้ทำ Profiling

 

APRIORI คือ Alrogthm ที่ใช้ใน AR (Association Rules) หรือ Sequencing Analysis หรือในทางธุรกิจเรียกว่า Market Basket Analysis เพื่อหาความสัมพันธ์ของพฤติกรรม หรือทางธุรกิจใช้ในการหาพฤติกรรมการซื้อสินค้าของลูกค้า เช่น ซื้อ A ไปแล้ว มีความน่าจะเป็นเท่าไหร่ที่จะซื้อสินค้า B  หรือมีความน่าจะเป็นเท่าไหร่ที่จะซื้อ A และ B พร้อมกัน

 

สรุปก็คือ ANNs, C5 และ APRIORI เป็นคนละเรื่อง คนละสมการ อยู่ในคนละเทคนิค คนละวัตถุประสงค์ในการใช้  และไม่ได้เกี่ียวกับการหาผลกระทบทั้งหมดด้วย

ขอบคุณคะ แต่หนูก็เข้าใจอยู่ว่า ANN NN มันคือตัวเดียวกัน เพียงแต่ว่าหนูถามความแตกต่าง  และหนูก็รู้ว่ามันคนละสมการ คนละวัตถุประสงค์ในการใช้ แต่บางครั้งมันอาจจะใช้ตัวใดตัวหนึ่งแทนกันได้รึป่าวแค่สงสัย  และอีกอย่างหนูเห็นว่า การใช้ ANN จะแสดงค่าผลลัพธ์ออกมาให้เห็น performance เลย แต่ถ้าเป็น C5 มันจะแสดงขั้นตอนการทำงานให้เห็น ว่ามีตัวแปรใดบ้างที่มีผลกระทบ หนูก็เลยอยากจะถามอ.ว่า มันเป็นความแตกต่างกันหรือไม่ เพราะ ANN ประมวลออกมาให้เห็น แต่ C5 จะมีขั้นตอนให้เราเห็นใน decision tree  และก็เห็นว่า appriori มันก็มีลักษณะคล้ายๆ กับ C5 ที่หาปัจจัยตัวแปรเหมือนกัน

คุณยังไม่แม่นพอ

 

ทั้ง 3 ตัวใ้ช้ไม่เหมือนกันครับ และมีวัตถุประสงค์ไม่เหมือนกัน ที่คุณอธิบายมายังไม่ถูกต้อง

 

ถ้าเอาไปใช้ในการประเมินผลกระทบ ก็ทำได้ แต่ต้องใช้ทุกเทคนิคร่วมกัน (ใช้มากกว่า 3 ตัวนี้อีก) เพราะมันให้ความรู้เราคนละแบบ คนละมุม คนละด้าน เพื่อให้เกิดประโยชน์สูงสุดในการกำหนดนโยบาย

ขอบคุณคะ  คือหนูก็ไม่แม่นพอแหละคะ

หนูถึงต้องได้มาถามอ. เพื่อให้เกิดความเข้าใจ เพราะสิ่งที่หนูเข้าใจอาจจะเข้าใจผิดๆ

ขอบคุณอีกครั้งนะคะที่ช่วยตอบคำถามให้กับคนที่ไม่ค่อยฉลาดอยู่หนู

ผมไม่ได้ว่าคุณในเรื่องความรู้ศาสตร์ใหม่ๆ และเป็นศาสตร์ผสมอย่าง Data Mining ซึ่งเกิดจากคณิตศาสตร์ สถิติศาสตร์ เศรษฐศาสตร์ คอมพิวเตอร์ และองค์ความรู้ด้านการบริหารจัดการ

ผมติดใจตรงอาจารย์ที่สอนคุณมากกว่า ที่สอนอย่างไร ไม่สามารถให้ผู้เรียนมีความรู้ความเข้าใจได้ ผมถือว่ายังเป็นอาจารย์ที่ไม่ดี ถึงแม้จะเก่งก็ไม่สน ผู้เรียนแต่ละคนมีความแตกต่างอยู่แล้ว ไม่ว่าพื้นฐาน และความเร็วในการเรียนรู้ แต่สุดท้ายผู้สอนต้องทำให้รู้ให้ได้ ยิ่งเรื่องพื้นฐาน ยิ่งต้องแยกให้ชัดเจน หากไม่แม่นพื้นฐาน จะไปประยุกต์ยาก เพราะไม่มีไอเดียการพลิกแพลง

 

ผมเองเรียนมาครบทุกศาสตร์ที่บอกได้ และได้ศึึกษาเจาะลึกด้านการประยุกต์ใช้ Data Mining จนถึงปริญญาเอก ไม่ว่าเรื่องการกำหนดนโยบาย การประเมินผลนโยบาย การทำนายอนาคต การวิเคราะห์ความเสี่ยง ฯลฯ และได้สอนถึง 8 มหาวิทยาลัย (ปัจจุบันสอนที่เดียวเท่านั้น)

 

ผมมั่นใจว่ามีความรู้พื้นฐานแน่นพอ รวมไปถึงผมมีประสบการณ์การทำวิจัยเรื่องพวกนี้มากมายนับไม่ถ้วน ทั้งสายบริหารธุรกิจ และสายรัฐประศาสนศาสตร์ (การจัดการภาครัฐ) และยังได้รับการประเมินเป็นที่ปรึกษาระดับ A ของกระทรวงการคลัง ด้านการประเมินผลอีกด้วย

การพิมพ์ตอบตรงนี้ทำได้จำกัด เพราะสิ่งที่อยากให้รู้ ให้เห็นมีอีกมากมาย แต่พอชี้แนวทางให้ได้บ้าง ซึ่งเป็นเจตนาที่ผมมาร่วมกับ GotoKnow.org แต่แรกอยู่แล้ว ไม่งั้นผมจะไปเขียนใน Blog ตัวเองยังสบายใจกว่า แต่ยังไม่ทำ

ถ้ามีโอกาสหนูก็อยากจะเรียนกับอาจารย์นะคะ แต่แค่อ. มาตอบคำถามหนู

หนูก็ดีใจแล้วคะที่เสียสละเวลามาให้ความรู้อะไรที่ยังไม่เข้าใจ ให้เข้าใจคะ ขอบคุณคะ

จากขั้นตอนการพัฒนา ANN เราจะสร้างโมเดลANN สำหรับพยากรณืการล้มละลายของบริษัท ตามinput ที่เป็นอัตราส่วนสมมุติดังนี้อย่างไรค่ะ

x1 : working/total assets

x2:Retained earnings/total assets

x3:Earning before interest and taxes/total assets

x4:Market value of equity/total assets

x5:Sales/total assets

ขอบคุณล่วงหน้าค่ะ

งั้นต้องตอบคำถามให้ได้ก่อนว่า output (การล้มละลาย) นิยามอย่างไร หา้ข้อมูลไ้ด้จากไหน เพื่อเอาไปให้ ANNs เรียนรู้  ถ้าได้ก็ง่ายแล้วครับ

เรียนอาจารย์วิทยาค่ะ

    คือตอนนี้หนูทำวิจัยที่ต้องใช้ ANN เข้ามาช่วยด้วย ซึ่งในตอนที่ต้องเลือกใช้ training function หนูลองทั้งแบบ TRAINLM TRAINGDX TRAINGDM ซึ่งมันบอกว่าต่างกับที่ updates weight และ bias หรือปรับเปลี่ยน learning rate มีมากมายหลายกรณี

   เราจะทราบได้ไงว่า training function ที่เราเลือกใช้เหมาะกับงานของเราค่ะ

( หนูศึกษาเกี่ยวกับสมบัติเชิงกลของยางค่ะ)

 

ขอบพระคุณค่ะ

ถ้าตอบแบบนักปฏิบัติ ที่เน้นผลลัพธ์เป็นสำคัญ Training Function ที่เหมาะกับข้อมูลของเรามากที่สุด คือ Training Function ที่ทำให้เกิด Network Performance ดีที่สุด (ใกล้เคียงคำตอบมากที่สุด หรือ ให้ % ความแม่นยำ/ความเชื่อมั่นสูงสุด)

พูดแบบชาวบ้านง่ายๆก็คือ วิธีที่เรียนรู้ความสัมพันธ์ระหว่างข้อมูลได้แตกฉานที่สุดนั่นเอง 

หนูต้องลองปรับเปลี่ยน แล้วดูพวกค่า MSE Regession ใช่มั้ยค่ะ

 

ขอบพระคุณมากๆค่ะ

หนูต้องทำรายงานเรื่อง การพัฒนาตัสแบบ credit scoring ในธนาคารพาณิชย์ค่ะ เป็นรายงานวิจัย

Credit Scoring ไ่ม่ยากครับ แต่ต้องมีรายละเอียดมากกว่านี้ เพราะแต่ละองค์กรก็มีแนวคิด มีเกณฑ์ต่างๆ ค่าต่างๆ กฎต่างๆ ไม่เหมือนกันครับ

พอดีต้องสอบหัวข้อปัญหาพิเศษแล้วค่ะ

ตอนนี้หนูสนใจเรื่อง การพยากรณ์ เกี่ยบกับ โรค หรือ ความเสี่ยงในการผ่าตัด ซึงหนูทำงานอยู่ใน รพ ศิริราช เลยอยากทำงาน

ให้กับทางที่ทำงานค่ะ แต่ปัญหาติดหลายอย่างค่ะอาจารย ยังไม่มีข้อมูลมาใช้พยากรณ์เลย แล้วหนูก็ยังไม่รู้จะเอาเทคนิคไหนมาจับดีเลยค่ะ

เพราะเพิ่งเริ่มอ่านงานวิจัย แต่อ่านแล้วก็ชอบด้านนี้ ทำแล้วมีประโยชน์ต่อผู้ป่วยด้วย เลยอยากได้ขอแนะนำอาจารยว่าหนูควรหาข้อมูลจากที่ไหน

และใช้เทคนิคอะไรมาทำการพยากรณ์ หรือจะเปลี่ยนเป็นการเปรียบเทียบเทคนิคดีค่ะอาจารย์ รบกวนอาจารย์คอมเม้มให้หน่อยค่ะ ไม่มีไอเดียเลยค่ะ ต้องศึกษาจากแหล่งข้อมูลไหนได้บ้างค่ะ

การทำเหมืองข้อมูล (Data Mining) ไม่ว่าจะใช้เทคนิคใดๆ จำเป็นที่จะต้องมีข้อมูลจำนวนมากๆ ครับ หากไม่มีข้อมูลเลย จะย้อนกลับไปใช้เทคนิคทางสถิติหรือคณิตศาสตร์แบบ Operations Research (OR) เพื่อวิเคราะห์และพยากรณ์ความน่าจะเป็นออกมาแทน

โครงข่ายประสาทเทียม (ANNs) นี้ ก็เหมือนมนุษย์ครับ ต้องมีข้อมูลให้มันเรียนรู้เยอะๆ แล้วมันจะจดจำ เข้าใจ และสร้างเป็นกฎเกณฑ์ขึ้นมาให้เรา เมื่อเราถามอะไร จำลองเหตุการณ์อะไร มันจะพยากรณ์ผลลัพธ์ให้ครับ (สรุปแบบง่ายๆ)

หากสนใจด้านนี้จริงๆ ต้องย้อนกลับไปดูว่า ที่ ร.พ.ศิริราช มีข้อมูลดิบอะไรบ้าง มีตัวแปรอะไรบ้าง มีเยอะแค่ไหน และต้องการจะหาอะไร อยากทราบอะไร อยากให้ช่วยตัดสินใจเรื่องอะไร

เมื่อได้แนวทางตรงนี้แล้ว ที่เหลือก็ไม่ยากครับ จะทำวิจัยแบบเชิงทดลอง เพื่อหารูปแบบที่ดีที่สุด กลยุทธ์ที่ดีที่สุด เพื่อนำไปทดลองกับของจริง แล้วเปรียบเทียบค่าที่ดีที่สุดกับผลลัพธ์จริง ว่าเป็นไปตามนั้นหรือไม่

หรือจะทำวิจัยแบบเปรียบเทียบเทคนิคใหม่ๆ ของ Data Mining เทียบกับบางเทคนิคของสถิติเดิมๆ ก็ได้ครับ พวกนี้เป็นเรื่องรายละเอียดและระเบียบวิธีวิจัย ที่ผู้วิจัยสามารถเสนอไอเดียกับคณะกรรมการได้เอง (พลิกแพลงได้เยอะ)

Sodas Teddy (ความเคลื่อนไหวล่าสุด)

ตอนนี้สอบหัวข้อผ่านแล้วค่ะ ทำการพยากรณ์ โดยใช้นิวรอล และจะใช้โปรแกรม Matlab เป็นเครื่องมือในการช่วยพยากรณ์ค่ะ

อาจารย์พอมีวิธีแนะนำการใช้หรือเปล่าค่ะ พอดีทำเกียวกับการพยากรณ์ที่เป็นตัวเลขนะค่ะ แล้วตอนนี้กำลังทำการนอรมอไลทอยู่นะค่ะเพราะข้อมูลที่มีค่อนข้างมีค่าหลากหลายค่ะ

หลักพื้นฐานทั่วไปในการพยากรณ์ทางสถิติ ไม่ว่าจะเป็น Data Mining หรือไม่ ก็คือ ไม่ควรแทนค่าตัวแปรต้นออกนอกช่วง (Outlier) เช่น ตัวแปร A มีค่า Value 1-5 แต่พอเอาพยากรณ์ ใส่ค่า 8 ซึ่งมันก็อาจได้คำตอบออกมา แต่ความน่าเชื่อถือของการพยากรณ์จะลดลง เพราะค่าพวกนี้ยังไม่เคยเจอมาก่อน เหมือนกัน ANNs ที่ไม่เคยเรียนรู้ข้อมูลแบบนี้มาก่อน ก็ทำให้ความแม่นยำลดลง

สวัสดีค่ะ อาจารย์

หนูทำเรื่องเกี่ยวกับการพยากรณ์ผลผลิต โดยใช้ เหมืองข้อมูล โดยพยากรณ์ออกมาเป็นตัวเลข ควรใช้เทคนิคไหนในเหมืองข้อมูลดีคะ เพื่อจะได้ง่ายต่อการเขียนโปรแกรม (ไม่ใช้โปรแกรมช่วย)

ขอบคุณนะคะ

ถ้าเอาไปเขียนโปรแกรมแบบคณิตศาสตร์ง่ายๆ เริ่มต้นด้วย Back Propagation Algorithm ของ ANNs ก็เป็นพื้นฐานง่ายดีครับ

ค่อยๆให้มันปรับน้ำหนักไปเรื่อยๆ แล้วดูคำตอบสมการหลายตัวแปรที่ได้ว่า ใกล้เคียงกับคำตอบจริงมากน้อยแค่ไหน

พยายามปรับน้ำหนักจนกว่าจะได้ค่าสัมประสิทธิ์ที่มีคำตอบใกล้เคียงคำตอบจริงที่กำหนดไว้ให้มากที่สุด

ค่าสัมประสิทธิ์หน้าตัวแปรอิสระ ก็คือ ค่าน้ำหนักของตัวแปรนั้นๆ เองครับ

ขอบคุณค่ะ อาจารย์

หนูก็ลองคำนวณด้วย ANNs แต่ยังไม่สำเร็จ จึงอยากหาแบบที่ง่ายกว่านี้ค่ะ

หรือว่าอาจารย์พอจะมีแนวการเขียนโปรแกรมหรือการคำนวณ มั้ยคะ

เพราะหนูเองก็มองไม่ออกว่าหนูคำนวณผิดตรงไหน (ขอเป็นlink ก็ได้ค่ะ)

ขอบคุณอาจารย์ค่ะ

แต่ยากมาก ดูไม่รู้เรื่องเลยค่ะ

พอดีกำลังทำเกี่ยวกับ การ

ศึกษาข้อมูลทาง บช. 41

ตัวแปร ภายใน 3 ปี โดย

ศึกษาเปรียบเทียบวิธีศึกษา

ระหว่าง discriminant

กับ ANN ในการลดตัวแปร

ท้ายสุด ระหว่าง

discriminant กับ ANN

อันไหนจะให้ % ความถูก

ต้องมากกว่ากัน

discriminant ไม่มีปัญหา

คะ แต่ งง กับ ANN มาก

ต้องใช้คำสั่งอะไร ที่จะลด

ตัวแปรออก เช่น ปีที่ 1 ปีที่

2 และ ปีที่ 3 อ่ะคะ

ขอบพระคุณอาจารย์คะ

หนูมึนมากเลยคะ

ANN ไม่ได้มีวัตถุประสงค์ในการลดตัวแปรโดยตรง แต่เราใช้มันทางอ้อม

นั่นคือ ใช้ Back Propagation คำนวณปริมาณความสัมพันธ์ของตัวแปรแต่ละตัว (ตัวแปรอิสระ) เทียบกับตัวแปรเป้าหมาย (ตัวแปรตาม) ที่จะวัดปริมาณความสัมพันธ์

จากนั้นก็กำหนดเกณฑ์เอาว่า หากตัวแปรใดมีปริมาณความสัมพันธ์กับตัวแปรตามน้อยกว่า 30% หรือ 0.3 ก็ตัดตัวแปรตัวนั้นออกไป

หากผลลัพธ์มีความน่าเชื่อถือสูง เช่น มากกว่า 95% ก็ทำรอบเดียวพอ ได้คำตอบทุกอย่าง ว่าตัวแปรไหนควรถูกตัดออกไป และเหลือตัวแปรอะไรบ้าง

พอเข้าใจไหมครับ ^^

ขอบพระคุณ อาจารย์ที่ช่วยแนะนำคะ เดี๋ยวหนูจะลองทดสอบตามอาจารย์แนะนำก่อนนะคะ

^ ^

อาจารย์ค่ะรบกวนถามค่ะ พอดีจะทำ IS เกี่ยวกับการทำนายอายุการใช้งานของแบตเตอรี่มือถืออ่ะค่ะ ต้องมีคำนวณแสดงออกมาเป็นตัวเลขว่าเหลืออายุการทำงานเท่าไหร่ สามารถใช้ ANN ได้มั๊ยค่ะอาจารย์ รบกวนแนะนำแนวทางให้ด้วยนะค่ะ ขอบคุณมากค่ะ

หนึ่งในความสามารถที่โดดเด่นของ ANN คือ การพยากรณ์ผลลัพธ์ ดังนั้น ANN สามารถนำไปใช้ในการพยากรณ์อายุแบตเตอรี่ได้

เพียงแต่ข้อมูลที่จะไปใช้ในการวิเคราะห์นั้นควรต้องออกแบบให้ดี ว่ามีตัวแปรใดที่คิดว่าเกี่ยวข้องกับอายุการใช้งานของแบตเตอรี่บ้าง และค่าของตัวแปรนั้นจะอยู่ในรูปแบบใด (Level of Measurement) เป็นกลุ่ม เป็นชั้น หรือค่าจำนวนจริง พวกนี้เราจะกำหนดให้เป็นตัวแปรอิสระ ส่วนผลลัพธ์ที่ต้องการทำนายคือ ตัวแปรอายุของแบตเตอรี่ จะเป็นตัวแปรตาม และควรเป็นเลขจำนวนจริง ตามหน่วยที่วัดได้ เพื่อจะได้พยากรณ์คำตอบออกมาเป็นตัวเลขได้จริงๆ (วิธีนี้ไม่ต้องหาค่าความสัมพันธ์ระหว่างตัวแปร เพราะสมมุติฐานบอกว่าทุกตัวแปรที่เลือกมา ล้วนมีความสัมพันธ์กับอายุแบตเตอรี่ทั้งสิ้น โดยความเห็นของผู้เชี่ยวชาญ)

ข้างบนนี้เป็นหลักการกว้างๆ ทั่วไป

แต่ในการทำ IS แบบวิชาการเต็มตัวนั้น บางครั้งอาจารย์ที่ปรึกษา อาจให้ทำการทดสอบความสัมพันธ์ของตัวแปรอิสระทุกตัวว่าตัวใดบ้างที่มีความสัมพันธ์กับตัวแปรตาม นั่นคืออายุของแบตเตอรี่บ้าง จะได้คัดมาแต่ตัวแปรที่มีความสัมพันธ์กันจริงๆ ตัวแปรใดไม่มีความสัมพันธ์อย่างมีนัยสำคัญก็อาจไม่นำมาใช้ (วิธีนี้พิจารณาค่าความสัมพันธ์ก่อน โดยพิจารณาค่านัยสำคัญ และค่าความสัมพันธ์ที่มากกว่า 0.3)

ทั้งนี้ขึ้นกับอาจารย์ที่ปรึกษา และสมมุติฐานที่ต้องการใช้ครับ

สวัดดีครับ อาจารย์ คือผมอยากจะถามเรื่องoverfittngในneural networkคืออะไร แล้วจะมีวิธีแก้ปัญหานี้ได้มั้ยคับ

ตอบแบบสรุปง่ายๆ ก็แล้วกันนะครับ

Overfitting ใน ANN เกิดขึ้นจากการที่เราปล่อยให้ ANN เรียนรู้ความสัมพันธ์ จับความสัมพันธ์ ในชุดข้อมูลที่มีความซับซ้อนมากเกินไป เช่น มีตัวแปรมากเกินไป มีความสัมพันธ์หลากหลายมากเกินไป แบบนี้จะส่งผลให้ ANN มีประสิทธิภาพลดลง พยากรณ์ผลลัพธ์อะไรก็ไม่แม่นยำ

หากไม่เปลี่ยนชุดข้อมูล ไม่คัดเลือกตัวแปรดีๆ วิธีแก้ไขในทางวิชาการก็จะแนะนำให้

1. เลือก Model หรือ Algorithm ใหม่ ที่เหมาะสมกว่าเดิม (ยังใช้ ANN อยู่)

2. กำหนด Option ให้มันหยุดการประมวลผล ANN หากมีค่าที่บอกประสิทธิภาพ เช่น Confident, CCR น้อยกว่าเกณฑ์ที่กำหนดไว้ จะได้ไม่เสียเวลาต่อไป

3. ใช้วิธีอื่นมาเรียนรู้ และพยากรณ์แทน เช่น Bayesian

สวัสดีค่ะ จะขอรบกวนถามอาจารย์เรื่อง regression ค่ะ คือหนูต้องเขียนโปรแกรมการคำนวณ ผลผลิตโดยใช้ regression โดยที่ห้ามใช้โปรแกรมช่วย หากตัวแปรต้นหนูมี 5 ตัว คือ x1 x2x x3 x4 x5 แล้วขั้นตอนการคำนวณ ต้องใช้ x1*x2*x3*x4*x5 เลยเหรอคะ ค่าที่ได้ เป็นล้านๆๆ เลยค่ะ เพราะหนูดูตัวอย่าง ส่วนใหญ่จะมีแค่ 2 ตัวแปร ใช้ x1*x2 เท่านั้น รบกวนอาจารย์ตอบด้วยค่ะ

ขอบคุณค่ะ

สวัสดีค่ะอ. ตอนนี้ทำงานวิจัยเรื่องการกำหนดอายุจากใบหน้าค่ะ ศึกษางานวิจัยอยู่ เค้าใช้ ANN ในการแบ่งแยกคนสี่ช่วงอายุ โดยที่เค้ามีข้อมูลนำเข้า (input) เป็นข้อมูล 5 ค่า ซึ่งตรงนี้หนูหามาได้แล้วค่ะ

แต่ยังไปต่อไม่ถูกว่า จะจัดการอย่างไรให้ไปสิ้นสุดที่ข้อมูลนำออก (output) ที่แสดงผลอกมาเลยว่าบุคคลดังกล่าวที่เป็นเจ้าของอินพุตทั้ง 5 ค่า มีอายุใกล้เคียงกลุ่มใด

ซึ่งค่าข้อมูลดังกล่าว ถ้าเอามาใช้เปรียบเทียบโดยตรงกับแต่ละกลุ่ม ไม่น่าได้ประสิทธิภาพ เพราะข้อมูลค่อนข้างใกล้เคียงกันในแต่ละกลุ่ม เลยคิดว่าต้องมีการให้ค่า้ำน้ำหนักกับข้อมูลทั้ง 5 ตัวไม่เท่ากันเพื่อแยกความแตกต่าง แต่ไม่รู้จะทำอย่างไร อ.ช่วยแนะนำหนูหน่อยนะคะ

สวัสดีครับอ. ขอสอบปัญหาอ.สักข้อนะครับ

อยากทราบว่าผลลัพธ์จากการพยากรณ์ด้วย ANN กับข้อมูลเดิมในหลายๆครั้ง จะเท่ากันหรือป่าวครับ

ขอบคุณครับ

แล้วแต่ Software และ Algorithm ที่ใช้ครับ

หากใช้ข้อมูลเดิม แต่การสุ่มน้ำหนักในแต่ละ loop นั้น ไม่เหมือนกัน (มีทั้งแบบสุ่มอย่างง่าย กับสุ่มแบบมีระบบ) จะทำให้ผลลัพธ์ออกมาแตกต่างกันด้วยครับ

สวัสดีครับอาจารย์ตอนนี้ผมกำลังมีเรื่องสงสัย

1.ผมกำลังทำ credit scoring ของสินเชื่อ อยากทราบว่ามีโปรแกรมอะไรที่สามารถทำ ANNs ได้ไหมครับ

2.ตอนนี้พอทราบตัวแปรที่มีผลว่ามีอะไรบ้าง แต่ไม่สามารถให้ค่าน้ำหนักได้ ANNs สามารถช่วยได้ใช่ไหมครับ

3.ข้อมูลของผมเป็นทั้งปริมาณ และแบบเชิงคุณภาพอ่ะครับ

ขอขอบคุณอาจารย์มากเลยนะครับ ขอให้อาจารย์ที่ความสุขครับ

ในเบื้องต้น ผมขอแนะนำให้ลองไป www.alyuda.com และดาวน์โหลด Demo ของโปรแกรม Alyuda Forecaster XL มาลองใช้ดูก่อนครับ ตอบโจทย์ที่ท่านต้องการแน่ๆครับ

หากยังทำไม่ได้ ก็นัดผมอีกครั้งได้นะครับ ดูข้อมูลผมคร่าวๆ ได้ที่ www.facebook.com/jowittaya

สวัดสดีครับ อาจารย์ คือผมสงสัย Neural NetworkในMatlab ว่าTraining functionกับ Adaptive learning function ทำหน้าที่ต่างกันอย่างไรครับ ขอบคุณครับ

ต้องขออภัยด้วยครับ ผมทิ้ง MatLab ไปเกิน 15 ปีแล้วครับ ช่วยไม่ได้จริงๆครับ ^"

สวัสดีค่ะอาจารย์ ช่วยแนะนำวิธีการนำ nueral network ไปใช้ร่วมกับอนุกรมเวลา ปริมาณความต้องการสินค้าแปรตามเวลา สามารถใช้โปรแกรมอะไรได้บ้างคะ หรือ add in ใน excel

อนุกรมเวลา คือการที่มีตัวแปรหลัก 1 ตัวเป็นตัวแปรเรื่องเวลา เพื่อจะดูผลกระทบของเวลาที่มีต่อปัจจัยต่างๆ

ดังนั้นหากจะนำ ANNs ไปประยุกต์ใช้กับการทำนายผลบางอย่าง โดยป้อนเพียงเวลาเข้าไปก็ไม่ยากครับ

แค่กำหนดตัวแปรเวลาเป็นตัวแปรอิสระ โดยให้มีระบบ มีระยะห่างที่เหมาะสม เท่ากัน ต่อเนื่อง 1 ตัวเท่านั้นเอง

เมื่อให้ ANNs เรียนรู้แล้ว เวลาทำนายก็ป้อนเวลาเข้าไป มันจะทำนายผลลัพธ์ออกมาได้เลยครับ

ว่างๆ ลองเล่น Alyuda Forecaster XL ของ www.alyuda.com ที่เป็น add-in ของ Excel ไปก่อนก็ได้ครับ เพราะใช้ทั้ง ANNs และ Time-Series

สวัสดีอีกครั้งคะ อาจารย์ จากที่เคยถามอาจารย์เกี่ยวกับ การศึกษาข้อมูลทาง บช. 41 ตัวแปร ภายใน 3 ปี โดยศึกษาเปรียบเทียบวิธีศึกษาระหว่าง discriminant กับ ANN ในการลดตัวแปรท้ายสุด เมื่อใช้วิธี BPW ตามอาจารย์แนะนำ ผลที่ได้คือ

discriminant มีความถูกต้องมากกว่า ทีนี้ในส่วนของ ANN เมื่อเปรียบเทียบ %ความถูกต้องแล้ว การสกัดตัวแปรที่มีความสัมพันธ์ออกมานั้น สูตรนี่หนูยังไม่เคยเปิดดูเลยคะ บอกตามตรง ค่อนข้างที่จะสับสนเวลาใส่สูตร อาจารย์มีอะไรแนะนำไม๊คะ

ขอบพระคุณคะอาจารย์

อยากทราบขั้นตอนการ train ใน neural network คับ ว่า มัน train ยังไง และปรับ weight ยังไง

การ train หากให้พิมพ์อธิบายมันจะยาวมาก ไม่สะดวกที่จะอธิบายตรงนี้ครับ ผมมี VDO อธิบายขั้นตอนการ train อยู่กับตัว เวลาไปสอนที่ไหน ก็จะเปิด VDO นี้เพื่อให้อธิบายแทนครับ

หลักการคร่าวๆ ของอัลกอริธึมแบบพื้นฐาน คือ ให้มันส่งข้อมูลใน dataset ไปเรียนรู้ทีละชุด แล้วกำหนด Weight ให้กับค่าแต่ละค่าเริ่มจากเลขชุดนึงก่อน (ค่า Weight หรือสัมประสิทธิ์ของทุกค่ารวมกันต้องเท่ากับ 1 หรือ 100%) จากนั้นก็จะคำนวณได้ค่าตัวเลขตัวหนึ่ง จากนั้นให้นำไปเปรียบเทียบกับค่าตัวแปรตามของ dataset ชุดนั้น ว่าห่างกันเท่าไหร่ ให้เอาค่าที่ห่างกันนั้นไปคำนวณการแบ่ง weight ครั้งต่อไป เพื่อช่วยให้ปรับ Weight ให้ได้ผลลัพธ์สุดท้ายใกล้เคียงที่สุด.. 

อาจารย์ครับผมมมีเรื่องอยากสอบถามครับเนื่องจากขณะนี้ผมกำลังทำระบบตัดสินใจถึงพฤติกรรมการดำรงชีวิตโค

โดยเงื่อนไขให้สามารถบอกได้ว่าโคปกติหรือผิดปกติ ซึ่งผมมีเซนเซอร์ติดที่ตัวโคแล้วส่งสัญญาณข้อมูลมาที่คอมเพื่อบันทึกค่าเซนเซอร์ที่ใช้ผมใช้เป็นAccelerometer 3 Axis วัดมุมในการเคลื่อนไหวตอนนี้ผมมีข้อมูลแต่จะทำยังไงในการนำข้อมูลที่ได้เข้าสู่กระบวนการ Neural network ให้สามารถจดจำแล้วบอกได้ว่าตอนนี้ ยืน นอน เดิน และปกติหรือผิดปกติหรือไม่

อยากขอความช่วยเหลือจากอาจารย์ครับตอนนี้งงแปดด้านเลยครับ

แบ่งกลุ่มตัวแปรต้น ตัวแปรตาม (2 กลุ่มใหญ่)

ตัวแปรต้น ให้เป็นค่าที่วัดได้ 3 แกน (3 ค่า)  และตัวแปรตามคือคำตอบว่าสถานะคือ "ยืนปกติ" "ยืนไม่ปกติ" "นอนปกติ" "นอนไม่ปกติ" "เดินปกติ" "เดินไม่ปกติ"

ให้เก็บค่าต่างๆ ตามตัวแปรตามทั้ง 6 รูปแบบให้มากที่สุด จนกระทั่งมันเรียนรู้และสร้างกฏเกณฑ์ได้แล้ว

คราวนี้เมื่อมันเจอค่าที่วัดได้ 3 ค่าเข้ามาใหม่ มันจะใช้กฏที่มันสร้างขึ้นจากการเรียนรู้ข้อมูล เพื่อทำนายคำตอบได้เลยว่า จะเป็นคำตอบไหน ->  "ยืนปกติ" "ยืนไม่ปกติ" "นอนปกติ" "นอนไม่ปกติ" "เดินปกติ" "เดินไม่ปกติ"

มีการประยุกต์ใช้ โครงข่ายใยประสาทเทียมบ้างมั้ยคะ 
พอดีจะทำรายงาน ยังหาไม่ได้เลยคะ

ตำราและผลงานวิจัยของผมได้ยกตัวอย่างไว้เยอะเลยครับ

อาจารย์ครับ ผมอยากทราบสูตร ในการคำนวนหา ค่าน้ำหนักครับ พอมีวิธี หรือป่าวครับ

คือผมกำลังทำโปรเจคเรื่องนี้อยู่อะครับผม

ขอบพระคุณครับ

ผมไม่สะดวกใส่สมการตรงนี้ ให้ไปค้นหนังสือหรืองานวิจัยในห้องสมุดออนไลน์ที่เกี่ยวกับสมการ (Algorithm) ของ Back Propagation จะง่ายที่สุดครับ

ขอบพระคุณครับอาจารย์ 

เรียน อาจารย์วิทยา

    ผมเรียนเกี่ยวกับด้านการจัดการอุตสหกรรมครับ ตอนนี้กำลังสนใจศึกษาในหัวข้อการจัดการคุณภาพกับCarbon footprints ในอุตสาหกรรมอาหารครับ คือ ค่า Carbon footprints ต้องเก็บข้อมูลตั้งแต่ Input Process Output ว่ามีค่า Carbon footprints ในแต่ละกระบวนการเท่าไรแล้วมาใส่สูตรคำนวณ จากนั้นผมถึงมารันสมการทดสอบว่าการจัดการคุณภาพมีผลต่อค่า Carbon footprints หรือไม่ ผมขออนุญาติเรียนถามว่าผมสามารถใช้ Ann มาใช้ได้ในลักษณะใดบ้างครับ 

อ. คะ หนูกำลังเรียนปีสี่อยู่ ทำสัมมนาอยู่ค่ะ แต่ไม่มีความรู้เรื่องเกี่ยวกับ Neural network เลย อยากทราบว่า ตัวแปร x ที่เราได้มานั้น เราจะรู้ได้อย่างไรว่า จะใช้ x นั้นหมด หรือถ้า x หรือ input ตัวไหนที่ไม่มีความสำคัญกับสมการ เราจะตัดมันไป หรือเก็บมันไว้ในสมการ แลัวถ้าตัด เราใช้เกณฑ์ไหนในการตัดตัวแปรที่ไม่สำคัญออกไปคะ แล้วสมการณ์พยากรณ์ของ วิธีนี้มีรูปแบบเป็นยังไงคะ ขอบคุณค่ะ

ตอบ Pao

ANN ถูกนำไปใช้ใน 3 ลักษณะใหญ่ๆ ด้วยกัน คือ

1. หาปริมาณความสัมพันธ์ระหว่างตัวแปรต่างๆ

2. พยากรณ์ผลลัพธ์เมือกำหนดค่าตัวแปรต่างๆ

3. สร้างแบบจำลองเพื่อหาค่าที่ดีที่สุดหรือแย่ที่สุด (Simulation)

ดังนั้นจากข้อมูลที่กล่าวมา ยังไม่ใช่ข้อมูลที่นำมาใช้ใน 3 ลักษณะเลยครับ


ตอบ ฟ้า

เรื่องสมการ (Algorithm) ของ ANN นั้น ปัจจุบันมีมากกว่า 60 Algorithm ที่นักวิจัยพยายามพัฒนาและตีพิมพ์ออกมา มีหลายแนวคิด คำถามดังกล่าว จึงไปเข้าข่าย 3 รูปแบบที่แตกต่างกัน

แต่ถ้าจะศึกษาอย่างง่ายๆ ของการใช้ ANN เพื่อการพยากรณ์ ผมจะแนะนำ Back Propagation ซึ่งเป็นพื้นฐานที่เข้าใจง่ายที่สุด และอธิบายเรื่องอื่นได้ง่าย เช่น การกำหนดจำนวน dataset ที่จะนำไปใช้ ก็กำหนดสัดส่วนได้ว่า จะเอไป train กี่ % เอาไป test กี่ %   และหาอธิบายด้วยหลักพื้้นฐาน การตัดตัวแปรที่ไม่สำคัญออกไประหว่างการเรียนรู้ (training) นั้นจะยังทำไม่ได้ ต้องรอให้เรียนรู้ dataset ที่เรากำหนดทั้งหมดก่อน จึงจะสรุปได้ แล้วค่อยหาเกณฑ์การตัดตัวแปรนั้นออก ว่าจะใช้เกณฑ์ของอะไร โดยเกณฑ์พื้นฐานที่ง่ายที่สุด ก็คือ หากมีค่าปริมาณความสัมพันธ์น้อยกว่า 30% ก็จะถือว่าไม่มีความสัมพันธ์อย่างมีนัยสำคัญ สามารถตัดออกได้เลยครับ

ขอบคุณค่ะ อ อย่างนี้หนูทำสัมมนา แปลเปเปอร์ หนูก็ไม่ทราบว่าเค้าตัดตัวแปรอะไรไปบ้างหรือเค้าใช้ตัวแปรทั้งหมดที่ได้มา แต่เค้าใช้วิธี back propagation ในงานวิจัยด้วยค่ะ และเมื่อเค้าสร้างสมการแล้ว เค้าเอาสมการที่ได้ไปทดสอบด้วย k-fold cross validation ค่ะ ที่ทำการทดสอบและใช้ในการเรียนรู้ หนูเลยไม่ทราบว่าเค้าตัดตัวแปรอะไรไป อ ที่ปรึกษาถามมาว่าวิธีนี้จะตัดตัวแปรที่ไม่สำคัญออกไปยังไง หนูตึ้บเลย เช่นเดียวกับวิธีต้นไม้ตัดสินใจและ ซัพพอร์ทเวกเตอร์แมชชีน T-T

วิธี back propagation แบบ exclusive or มีวิธีการทำยังไงหรอครับ 

สวัสดีค่ะอาจารย์ค่ะ

ไม่ทราบอ.พอจะแนะนำวิธีของ ANFIS ได้บ้างมั้ยค่ะ 

ขอบคุณค่ะ

อยากทราบ เกี่ยวกับ transfer functions  และ learning rates ที่มีผลต่อการ train Feed-Forward Neural
Network with Backpropagation



 



 
 
 


 

No.


 

 

Learning
  Rate


 

 

R
  ของ Testing Set


 




 

กราบเรียนอาจาร กระผมใช้ANNในการประมาณตำแหน่งโรเตอร์ จาก กระแสและฟลักซ์ ซึ่งมีความสัมพันเป็น nonlinear
โดยใช้ 2 inputs  1 output 

1.Validation set กับ Test set แตกกต่างกันอย่างไร และ อันไหนสำคัญกว่ากัน(ควรให้เปอร์เซ็นมากกว่า)

2.สมการAlgorithm ของ ANN ที่มีกว่า 70 กว่าแบบนั้น จะหาข้อมูลได้ที่ไหนและแบบไหนที่แม่นยำที่สุดตอนนี้

3.Fuzzy ANN ,Genetic Algorithm(GA)และ Back propogation แบบใดที่แม่นยำกว่ากัน

4.จะใช้ Algorithm ไปปรับโครงสร้างของNN ได้อย่างไร เช่น การใช้ GA ร่วมกับ RBF NN (อยากทราบประมาณว่า นำไปใช้ในส่วนใดของNN และ ทำในขั้นตอนไหน วิธีการทำอย่างไร)

5.เหตุใด ค่าเริ่มต้นของ input และ target ไม่เท่ากับ0 จึง ทำการtrain ไม่ได้ (ผมใส่ input และ target = 0 จึงจะsimออก แต่ถ้าไม่ใส่ sim ไม่ออก) 

หมายเหตุ กระผมยังไม่แน่ใจว่าเลือกใช้วิธีการถูกหรือเปล่า (ตอนนี้ใช้ fitting fuction) จะขอคำแนะนำว่าควรใช้วิธีการใดของNNจึงจะเหมาะสมครับ

 

สวัสดีค่ะ หนูทำธีสิสเกี่ยวกับANN ในการพยากรณ์เกรดรายวิชาค่ะ หนูไม่เคยเรียนวิชานี้าก่อนเลย ซึ่งหนูอยากทราบค่าอินพุตว่ากำหนดยังไงอ่ะค่ะ เรามีเกณฑ์อะไรเป็นตัวกำหนด แล้วอยากทราบว่าค่าอินพุตสามารถติดลบได้มั๊ยค่ะ หนูหาข้อมูลมาแล้วแต่ไม่มีระบุไว้เลยค่ะ ช่วยไขข้อสงสัยทีนะคะขอบคุณค่ะ

สวัสดีค่ะ อาจารย์ คือตอนนี้หนูสอบหัวข้อโปรเจคผ่านแล้ว เป็นเรื่อง "การพัฒนาเวบแอพพลิเคชันสำหรับการวินิจฉัยโรคอ้อย" คะ หนูอยากทราบว่าจะใช้อัลกอริทึมไหนคะ

สวัสดีค่ะอาจารย์ คือตอนนี้หนูทำงานวิจัยเกี่ยวกับการพยากรณ์น้ำด้วยโครงข่ายประสาทเทียมค่ะ คือหนูอยากจะรู้ว่าการกำหนด layer กำหนดอย่างไรและมีกฎเกณฑ์อะไรบ้างค่ะ

การนำเสนออัลกอริธึม และการเสนอโมเดลโครงสร้างว่าจะมีกี่ layer กี่ hidden node ผู้วิจัยต้องนำเสนอการรีวิวงานวิจัยอื่นที่เกี่ยวข้อง และบทสรุปยืนยันว่าทำไมในบริบทงานนั้น จึงควรใช้แบบไหน อาจดูที่ประสิทธิภาพการทำนายผลสูงกว่าวิธีอื่นๆ

และการหาจำนวน layer ก็เช่นกัน ผมอยากให้ศึกษาเพื่อบอกว่า การจะบอกว่าประสิทธิภาพของโมเดลสูงกว่านั้นให้ดูที่ค่าอะไร คำนวณค่าอะไรออกมา แล้วจึงทำแบบจำลองต่างๆ ว่างานๆ นั้น กับฐานข้อมูลชุดนั้นๆ (กำหนด train/test set เอง) แล้ว ผลสุดท้าย โมเดลที่มีจำนวน layer เท่าใด จึงจะให้ประสิทธิภาพสูงสุด

ตรงนี้ต้องคำนวณ พิสูจน์ และนำเสนอโมเดลที่จะใช้ตามข้างบนนี้ก่อนครับ

สวัสดีครับอาจารย์

ผมมีข้อสงสัยเกี่ยวกับ ค่าน้ำหนักในแต่ละเส้นเชื่อมโยงระหว่างปัจจัยนำเข้ากับชั้นซ้อน หรือระหว่างชั้นซ้อนกับข้อมูลส่งออกก็ดี ของโครงข่ายประสาทที่ได้รับการฝึกสอนแล้วว่า ค่าน้ำหนักเหล่านั้นสามารถบอกระดับความสำคัญของปัจจัยนำเข้าได้หรือไม่ครับ

ค่าน้ำหนักที่ได้จากโครงข่ายประสาทเทียม (ANN) สามารถอธิบายหรือทำการทดลองเปรียบเทียบกับวิธี AHP ได้หรือไม่ครับ

ขอบพระคุณอย่างสูงครับ

ถ้ารู้วิธีคำนวณเพื่อรวบรวมน้ำหนักของแต่ละ input ว่ามีผลเทียบกับ output ไม่ว่าจะวัดผลน้ำหนักกระทบตรง หรือแบบสัมพัทธ์ (คิดรวมทุก input เท่ากับ 100%) ก็ทำได้เลยครับ มีประโยชน์ในเชิงบริหารจัดการ และช่วยตัดสินใจได้มาก

เอาหลักการ input weight หรือบางตำราเรียก input importance นี้ไปเทียบกับเทคนิคต่างๆ ได้ครับ และสรุปหาความรู้ออกมา ว่ารู้อะไร ทำไมถึงเป็นแบบนั้น วิธีไหนเหมาะสมกว่า

หลังจากได้รับคำแนะนำจากอาจารย์ ผมได้กลับมาศึกษาต่อ พบติดปัญหาเกี่ยวกับ Matlab ดังนี้ครับ

ผมใช้ข้อมูลป้อนเข้าสำหรับฝึกสอนโครงข่ายรวม 12 ชุดข้อมูล แต่ละชุดข้อมูลประกอบด้วย 15 ปัจจัยป้อนเข้า และ 1 ข้อมูลส่งออก

ผมใช้คำสั่ง

>> net.IW{1}

ได้คำตอบดังนี้

ans =

0.7244 -0.6191 1.1896 -0.0866 1.0128 -0.0248 0.2665 -0.0745 0.9796 -0.4823 0.4598 0.8377

0.1842 0.0961 0.5958 0.5995 0.5555 0.8246 0.4573 -0.4272 0.5375 0.1071 -0.3720 0.6663

-0.7945 0.4011 -0.0807 0.4979 0.4973 0.4130 0.5002 -0.3395 -0.2516 -0.6903 -0.1349 -1.6352

-0.0256 0.8507 0.4832 0.8467 -0.2354 -0.0545 0.5148 0.0142 0.6627 -0.4736 -0.0320 0.9822

0.4975 0.5037 0.1296 0.2969 0.5214 0.1790 -0.7569 0.1656 -0.5820 0.4392 -0.5224 -0.6618

0.1543 -0.5041 0.8852 0.2438 0.3577 0.4108 0.3759 0.1873 -0.5944 0.6972 0.6792 -0.2865

-0.3864 -0.3250 0.7383 -0.4726 -0.5098 0.5046 -0.0597 -0.1354 -1.0441 0.7039 -0.5816 1.7980

0.7518 -0.7507 0.4419 0.8125 -0.1030 0.2731 -0.0463 0.1843 -0.5117 0.2010 -0.3450 0.2240

0.5194 -0.2317 -0.4364 -0.0735 -0.4237 0.1751 -0.7401 0.2962 -0.4164 1.0191 0.4347 0.3983

0.7491 0.3181 -0.1821 -0.7875 0.4316 -0.5003 0.6654 0.2793 -0.5664 0.0424 -0.3134 0.0179

ซึ่งผมเข้าใจว่าคำตอบดังกล่าวคือ ค่าน้ำหนักระหว่าง ชุดข้อมูล 12 ชุดข้อมูล กับ 10 โหนด ของชั้นซ่อน

แต่ค่าน้ำหนักที่ผมต้องการนั้นคือ ค่าน้ำหนักของ 15 ปัจจัยของแต่ละชุดข้อมูล ไม่ทราบว่าจะสามารถใช้คำสั่งใด ที่จะสามารถดึงค่าน้ำหนัก ที่ต้องการออกมาได้ครับ

ด้วยความเคารพ

ขอบพระคุณอย่างสูงครับ

สวัสดีครับอาจารย์

ผมขอสอบถามเกี่ยวกับการ learning ของ ANN ครับ มันคือการทำให้โครงข่ายปรับค่าน้ำหนักเพื่อให้ได้คำตอบใช่หรือไม่ครับ

อีกเรื่องครับ ในกรณีที่ประยุกต์ใช้ ANN ในการหาผลลัพธ์ความชอบในผลิตภัณฑ์ (train set ได้จากแบบสอบถาม) นั้น  ANN ต่างกับการหาค่าเฉลี่ยอย่างไรครับ 

ขอบคุณครับ

อยากสอบถามเกี่ยวกับการวัดประสิทธิภาพในการออกแบบ ANN ใน MatLab ว่า กราฟ Performance, Training ประมาณนี้เราจะรู้ได้อย่างไรครับว่า โครงสร้างของเราที่ออกแบบดีทีสุดครับ  ในการนำมา test data ต่อไปครับ

อยากสอบถามเกี่ยวกับการวัดประสิทธิภาพในการออกแบบ ANN ใน MatLab ว่า กราฟ Performance, Training ประมาณนี้เราจะรู้ได้อย่างไรครับว่า โครงสร้างของเราที่ออกแบบดีทีสุดครับ  ในการนำมา test data ต่อไปครับ

โดยทั่วไปแล้ว หากจะวัดประสิทธิภาพในการทำนายของ ANN ให้วัดค่า MSE (Mean squared normalized error) ของแต่ละโมเดล แต่ละ Design เลยครับ (เมื่อใช้ข้อมูลในการ train และ test เหมือนกัน ใช้ ratio ระหว่าง train:test ในสัดส่วนเท่ากัน ใช้การ validation วิธีเดียวกัน) หากโมเดลใดให้ค่า MSE ต่ำกว่า ประสิทธิภาพในการทำนายย่อมดีกว่า แม่นกว่า

โดยทั่วไปแล้ว หากจะวัดประสิทธิภาพในการทำนายของ ANN ให้วัดค่า MSE (Mean squared normalized error) ของแต่ละโมเดล แต่ละ Design เลยครับ (เมื่อใช้ข้อมูลในการ train และ test เหมือนกัน ใช้ ratio ระหว่าง train:test ในสัดส่วนเท่ากัน ใช้การ validation วิธีเดียวกัน) หากโมเดลใดให้ค่า MSE ต่ำกว่า ประสิทธิภาพในการทำนายย่อมดีกว่า แม่นกว่า

รบกวนช่วยอธิบายให้เข้าใจง่ายๆด้วยครับอย่างเช่น-หลักการทำงานของ Feed forward propagation หรือ Backward propagation เป็นอย่างไร-ทำไมจึงเลือก Feed forward propagation หรือ Backward propagation มีข้อดี ข้อเสียอย่างไร-ฟังก์ชั่นการทำงานของแต่ละอย่างแตกต่างกันอย่างไร-การกำหนดโหนดของ Hidden layer กำหนดจากอะไร จำนวนชั้นของ Hidden layer กำหนดจากอะไร-การเลือกใช้ Activation function บางแบบใช้เหมือนกัน บางแบบใช้ไม่เหมือนกัน เพราะอะไร

สวัสดีค่ะอาจารย์ ขออนุญาตสอบถามค่ะ หนูกำลังศึกษาเกี่ยวกับ ANN เพื่อนำไปใช้ทำวิทยานิพนธ์-การให้ค่า weight เราเป็นผู้กำหนดเอง หรือโปรแกรมเป็นผู้กำหนดโดยเรียนรู้จากข้อมูลที่เราป้อนไปมั้ยคะ-การกำหนด hidden layer เราจะทราบได้อย่างไรว่าคะว่าควรมีกี่ hidden layer พิจารณาจากค่าอะไรคะ-การป้อนข้อมูล input จำเป็นมั้ยคะว่าต้องปรับค่าให้อยู่ระหว่าง -1 ถึง 1ข้อมูล input ของหนูจะเป็นพวก ระดับความสูงจากระดับน้ำทะเล ทิศด้านลาด เป็นต้น เพื่อนำไปสู่การคาดการณ์การใช้ประโยชน์ที่ดินค่ะ

พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท