Page 199 - python
P. 199

173




                                                        
                   ตัวอยางที่ 12.14 การสรางโมเดลจากโครงขายประสาทเทียมที่สรางขึ้น
                    def predict(x1,x2):
                        w1 = 0.5
                        w2 = 1.7
                        theta = 1.80

                        z = x1*w1 + x2*w2 - theta
                        if z >=0: return 1
                        else: return 0


                    print(predict(0,0))
                    print(predict(0,1))
                    print(predict(1,0))
                    print(predict(1,1))

                          ตัวอยางที่ 12.14 การสอนโมเดลเพื่อตองการคาน้ําหนักที่มีคาความผิดพลาดนอยที่สุดแลวนําคา
                   น้ําหนักเหลานั้นสรางเปนสูตรเพอทํานายผลลัพธของขอมูล โดยในตัวอยางนี้คือการแกปญหาของ AND
                                              ื่
                                                                                             
                                                                                    ี
                   Gate พบวาภายหลังการ train model ไดผลลัพธที่รอบที่ 16 คาน้ําหนักไมมการเปลี่ยนแปลง ตัวแปร
                             ั
                                                                                         ื
                                                                                  ํ
                                                ั
                   w1 = 0.5 ตวแปร w2 = 1.7 และตวแปร theta = 1.80 นามาสรางสตรการคานวณ คอ x1*w1 + x2*w2
                                                                            ู
                                                                   ํ
                   - theta เมื่อผลลัพธมีคามากกวาหรือเทากับ 0 ใหคืนคาเปน 1 หากไมใชใหคืนคาเปน 0 เขียนสูตรลงใน
                                                  ิ
                                                                                              
                   ฟงกชั่น predict(x1,x2) โดยรับอารกมเมนต 2 ตัว คือ x1 และ x2 จากนั้นทําการเรียกฟงกชั่น predict()
                    
                                         ี
                                                                                                    
                   โดยปอนอารกิวเมนตใหมคา (0,0) (0,1) (1,0) และ (1,1) พบวาผลลัพธมีคา 0, 0, 0 และ 1 แกปญหา
                        
                   And Gate ไดถูกตอง 100%

                   12.11 Gradient Descent
                          Gradient Descent คือ กระบวนการคนหาคาของตัวแปร weight และ bias ที่ทําใหฟงกชั่น
                                                                                                       
                                                                                                     
                                                                  
                     (  ) หรือ cost function มีคาต่ําสุดโดยไมใชวิธีการแกสมการหลายตัวแปร แตใชการเคลื่อนทตามแนว
                                                                                                  ี่
                                             
                   ความชนของสมการซึงทางานไดรวดเรวและมประสิทธภาพ
                                                  ็
                         ั
                                     ่
                                                        ี
                                                               ิ
                                       ํ
                          พิจารณาสมการพาราโบลา   (  ) = (   + 2) + 3 ตองการหาคาตัวแปร x ที่ทําใหคา y ต่ําสุด

                   ซึ่งจะใชแคลคูลัส คือ       (  ) = 0 เมื่อ   คือ ความชัน ณ จุดใด ๆ เมื่อความชัน = 0 คือเปนเสนตรง


                   ขนานกับแกน x  วิธีการหาจุดต่ําสุดของสมการ คือการหาอนุพนธของฟงกชั่น ในตัวอยางนี้มีคาเทากับ
                                                                        ั
                   2   + 4  แกสมการหาคา     = −2  ดังนั้น คา x ที่ -2 จะทําใหคา y ต่ําสุด
   194   195   196   197   198   199   200   201   202   203   204