วันอังคารที่ 18 พฤศจิกายน พ.ศ. 2557

Neuro Fuzzy

ANFIS (Adaptive Neuro Fuzzy Inference System) เกิดจากการหลอมรวม 2 แนวคิดดังนี้

1. Fuzzy ใช้ในการตัดสินใจโดยการประมาณ (คือเป็น estimator ซึ่งเป็นการเลียนแบบการตัดสินใจบนความรู้สึกของมนุษย์) ทำให้มีค่าจริงเท็จได้หลายค่าระหว่าง 0 กับ 1 (เช่น partial truth นอกเหนือจาก completely truth,1 และ completely false,0) การตัดสินใจจะใช้ fuzzy rules ที่อยู่ในรูปแบบ if-then ช่วย โดยที่ในเงื่อนไข if ประกอบด้วยค่าระหว่าง 0 & 1 ได้ เช่น อุ่นมาก อุ่นกลาง ร้อนน้อย

เมื่อใดควรใช้ Fuzzy เมื่อการตัดสินใจเป็นแบบ estimation (i.e., fuzzy rules e.g. ถ้าอุณภูมิสูงและโวลต์สูงก็เข้าโหมดการชาร์ตแบบ slow)

ในการเอา fuzzy system ไปใช้กับ exact values ต้องใช้ fuzzifier และ defuzzifier ช่วย
- Fuzzifier decides how the crisp input will be converted into a fuzzy input to be used by the inference engine. ตัวอย่าง fuzzifier เช่น singleton fuzzifier,Gaussian fuzzifier, Triangular fuzzifier (A(u) = (1- |u1-u1*|/b1)*…* (1- |un-un*|/bn) โดยที่ u คือค่าที่จะถูก fuzzified).
- Defuzzifier decides how to convert the fuzzy result from the inference engine back into a crisp value.

ในกรณีที่ fuzzy rules มีตัวแปรในเงื่อนไข if ที่ต้องใช้ในการตัดสินใจเป็นจำนวนมาก จะทำให้ fuzzy rules ซับซ้อนมาก จึงใช้ MLP มาช่วย โดยนำตัวแปรเงื่อนไขเหล่านั้นป้อนเข้า MLP ให้ช่วยเรียนรู้สร้าง fuzzy rules ให้ และช่วยตัดสินใจให้ว่า then อะไร

2. การนำ Neural network ซึ่งมีความสามารถในการเป็น universal approximator มาบูรณาการเข้าไปทำให้สามารถสร้าง fuzzy rules ที่ซับซ้อน (เช่น nonlinear rules) ได้ทุกรูปแบบครอบจักรวาล (จึงเรียกว่า universal) ได้อย่างอัตโนมัติจากตัวอย่างข้อมูลสำหรับการเรียนรู้ในอดีต
ผลลัพธ์คือ neuro fuzzy ที่มีความสามารถในการเป็น universal estimator ซึ่งเหมาะในการนำไปใช้ตัดสินใจหลายสิ่งที่เกี่ยวกับธรรมชาติที่ไม่ใช่โลกแห่ง digital ที่มีแค่ 0 กับ 1

Original paper of ANFIS is proposed by Prof. Jyh-Shing Roger Jang