Page 183 - python
P. 183

157




                    elif ((A==1) & (B==1) & (C==0) & (D==1) & (E==1) & (F==0) & (G==1)): z = 2

                    elif ((A==0) & (B==1) & (C==1) & (D==0) & (E==0) & (F==0) & (G==0)): z = 1
                    elif ((A==1) & (B==1) & (C==1) & (D==1) & (E==1) & (F==1) & (G==0)): z = 0
                    print("A=%d B=%d C=%d D=%d E=%d F=%d G=%d คือเลข %d"%(A,B,C,D,E,F,G,z))


                   ผลลัพธ :
                    A=1 B=1 C=1 D=1 E=0 F=1 G=1 คือเลข 9
                          ตัวอยางที่ 12.1 การตรวจสอบเงื่อนไขจะใช & (And Operator) เพื่อตรวจสอบเงื่อนไขตัวแปร A-

                   G ทีละตัว เชน ถาตัวแปร A-G มีคาเทากับ 1 ทั้งหมด หมายถึงเลข 8 วิธีการเขียนโปรแกรมแบบนี้ตอง
                   ตรวจสอบเงื่อนไขอยางละเอียดถี่ถวน ในขณะที่ตัวอยางถดไปจะแสดงการเขียนโปรแกรมโดยใช Machine
                                                                  ั
                   Learning เขามาชวยแกปญหา


                   12.3 การเขียนโปรแกรมตรวจสอบเลข 7-Segment ดวยการเรียนรูของเครื่องจักร
                                
                          ในหัวขอนี้แกปญหาการตรวจสอบเลข 7-Segment ดวยวิธีการเรียนรูของเครื่องจักร (Machine
                   Learning) โดยใชโมเดลการแกปญหาดวยวิธีโครงขายประสาทเทียม ซึ่งเปนหนึ่งในอลกอริทึมดาน
                                                                
                                                                                              ั
                                              
                                                         ี
                                                                                        ั
                   Machine Learning โดยจะกลาวถึงรายละเอยดของนิวรอนเน็ตเวอรคในหัวขอถดไป ในตัวอยางนี้จะ
                                                                                 
                                                                        ื่
                   แสดงใหเห็นการนําแนวคิดของการเรียนรูของเครื่องจักรเพอนํามาแกปญหาการตรวจสอบเลข 7-
                   Segment แสดงไดดังนี้

                   ตัวอยางที่ 12.2 การเขียนโปรแกรมดวย Machine Learning
                    import numpy as np
                    from sklearn.neural_network import MLPClassifier
                    x = np.array([

                        [1,1,1,1,1,1,0], [0,1,1,0,0,0,0], [1,1,0,1,1,0,1], [1,1,1,1,0,0,1], [0,1,1,0,0,1,1],
                        [1,0,1,1,0,1,1], [1,0,1,1,1,1,1], [1,1,1,0,0,1,0], [1,1,1,1,1,1,1], [1,1,1,1,0,1,1]
                    ])
                    y = np.array([0,1,2,3,4,5,6,7,8,9])

                    model = MLPClassifier(max_iter=1000)
                    model.fit(x, y)

                    A = 1; B=1; C=1; D=1; E=0; F=1; G=1

                    test = [A, B, C, D, E, F, G]
                    z = model.predict([test])[0]
                    print("A=%d B=%d C=%d D=%d E=%d F=%d G=%d คือเลข %d"%(A,B,C,D,E,F,G,z))
   178   179   180   181   182   183   184   185   186   187   188