สร้างระบบ AI ด้วยวิธี Artificial Neural Network: ANN ใน Excel ด้วยการเขียน VBA [Data Science NPRU]
HTML-код
- Опубликовано: 6 окт 2024
- แนะนำเทคนิคการสร้าง model การเรียนรู้อย่างง่ายด้วย Perceptron ซึ่งเป็นเซลล์ประสาท 1 เซลล์ และเป็นพื้นฐานของการนำมาเชื่อมโยงเป็นเครือข่ายประสาทเทียมที่ซับซ้อนขึ้นต่อไป โดย ผศ.ดร.สุพจน์ เฮงพระพรหม สาขาวิชาวิทยาการข้อมูล มหาวิทยาลัยราชภัฏนครปฐม
เปิดรับสมัครนักศึกษาใหม่ ประจำปี 2564 รอบ 2 ตั้งแต่บัดนี้ - 30 มี.ค. 64 นี้
#สาขาวิชาวิทยาการข้อมูล คณะวิทยาศาสตร์และเทคโนโลยี มหาวิทยาลัยราชภัฏนครปฐม
สนใจสมัครได้ที่ reg.npru.ac.th...
====================================
#สอบถามรายละเอียดเพิ่มเติมได้ที่
Line: Data Scicene NPRU
Facebook: / npruds
RUclips ช่อง Data Science NPRU : / @datascinpru
#Code ที่ใช้
(เครื่องหมายน้อยกว่า และ มากกว่าไม่สามารถใส่ในข้อความนี้ได้ จึงในเป็นข้อความกำกับเข้าไปแทน อยู่ภายใน [[ ]] เมื่อคัดลอกไปแล้ว กรุณาเปลี่ยนเป็นเครื่องหมายให้ถูกต้องด้วยครับ)
Private Sub CommandButton1_Click()
Dim ap, w0, w1, w2, w0x0, w1x1, w2x2, sumwx, o, x1, x2, t, aperr, epoch, ep, i, sw As Integer
ap = 6
w0 = 7
w1 = 8
w2 = 9
epoch = 10
w0x0 = 11
w1x1 = 12
w2x2 = 13
sumwx = 14
o = 15
aperr = 16
x1 = 2
x2 = 3
t = 4
sw = 1
ep = 0
While (sw = 1 And ep [[ใส่เครื่องหมายน้อยกว่า]] Cells(2, epoch))
sw = 0
For i = 2 To 5
Cells(i, w0x0) = Cells(2, w0)
Cells(i, w1x1) = Cells(2, w1) * Cells(i, x1)
Cells(i, w2x2) = Cells(2, w2) * Cells(i, x2)
Cells(i, sumwx) = Cells(i, w0x0) + Cells(i, w1x1) + Cells(i, w2x2)
If Cells(i, sumwx) [[ใส่เครื่องหมายมากกว่า]] 0 Then
Cells(i, o) = 1
Else
Cells(i, o) = 0
End If
Cells(i, aperr) = Cells(2, ap) * (Cells(i, t) - Cells(i, o))
If Cells(i, aperr) [[ใส่เครื่องหมายไม่เท่ากับ]] 0 Then
sw = 1
Cells(2, w0) = Cells(2, w0) + Cells(i, aperr)
Cells(2, w1) = Cells(2, w1) + Cells(i, aperr) * Cells(i, x1)
Cells(2, w2) = Cells(2, w2) + Cells(i, aperr) * Cells(i, x2)
End If
Next i
ep = ep + 1
Cells(3, epoch) = ep
Wend
End Sub
ขอบคุณอาจารย์มาก ครับ คลิปนี้ทำให้ผมเห็นและเข้าใจ เครือข่ายประสาทเทียม ได้ชัดเจนเลยครับ จากที่ตอนแรกผมไม่รู้อะไรเลย ครับ คลิปนี้สอนได้เยี่ยมมากครับ
ด้วยความยินดีครับ :)
ขอบคุณอาจารย์ครับ
ด้วยความยินดีครับ :)
ขอขอบพระคุณ ผศ.ดร.สุพจน์ เฮงพระพรหม มากเลยนะครับ ที่ทำให้ผมเข้าใจในเรื่องนี้ดีขึ้นจากที่ไม่รู้เรื่องเลยนะครับ สาธุ
ผมทดลองทำตัวอย่างตามที่อาจารย์สอน ผมพบข้อสงสัยอย่างหนึ่งคับ ผมทดลองตั้งเงื่อนไขว่า
ถ้า x1 และ x2 เหมือนกัน ให้ T=1
ถ้า x1 กับ x2 ไม่เหมือนกันให้ T=0
แต่พอกด Train ระบบไม่สามารถหาค่า W ได้คับ รบกวนอาจารย์ไขข้อข้องใจให้หน่อยคับ ขอบคุณมากคับ
อันนี้เป็นปัญหา xor ซึ่งไม่สามารถใช้สมการเส้นตรงเพียงเส้นเดียวในการแบ่งข้อมูลให้ออกเป็น 2 กลุ่มได้อย่างถูกต้อง ทำให้ระบบเทรนไม่รู้จบ
ถ้าจะแก้ไข จำเป็นต้องใช้ multilayer perceptron ครับ
@@datascinpru ขอบคุณมากๆคับอาจารย์ อาจารย์พอจะมีตัวอย่างเรื่อง perceptron มัยคับ อยากให้อาจารย์ทำคลิปอีกคับ เข้าใจง่ายมากๆเลย
@@datascinpru ขอบคุณสำหรับ keyword มากๆคับอาจารย์ ผมไปค้นหาหลักการดูเพิ่มเติม บวกกับตัวอย่างของอาจารย์ สามารถทำได้แล้วคับ เป็นการสร้าง layer and, nor, และ or มาประมวลผลคับ แต่ก็ยังติดที่ว่า เมื่อ x1,x2 เหมือนกัน ค่าต้องเป็น 1 เท่านั้น ถ้ากำหนดเป็น 0 เหมือนจะไม่ได้คับ
ruclips.net/video/bwtSiygbMqw/видео.html
ภาคทฤษฎีเรื่อง Perceptron Learning Rule ครับ
@@datascinpru ขอบคุณมากๆคับอาจารย์
ขอขอบคุณอาจารย์เป็นอย่างมากคับ หาอ่านที่อื่นมาเยอะไม่เข้าใจเรื่องนี้เลย พอเจอคลิปอาจารย์ เข้าใจขึ้นเยอะมากๆคับ
ด้วยความยินดีครับ :)
รบกวนสอบถามอาจารย์เพิ่มเติมคับ
สมมุติว่า เรารันข้อมูลแล้ว เราได้ค่าที่ทำให้ aperr ไม่ติดลบแล้วนะคับ เราจะได้ค่า w0, w1, w2 มาใช้งาน
ถ้าเรามีข้อมูล x1, x2 แต่อยากคาดการณ์ข้อมูล t เราต้องคำนวณอย่างไรคับ
@@kpchannel4599 หาค่า w0 + x1w1 + x2w2 ถ้า >0 ให้ t = 1 แต่ถ้าไม่ใช่ ให้ t = 0 ครับ
ลองดูนะครับ
@@datascinpru ขอบคุณมากๆคับอาจารย์
พอจะมีช่องทางได้ติดต่ออาจารย์มั้ยครับ อยากจะสอบถามได้มั้ยครับ
ขอบคุณมากเลยครับ อจ.
ด้วยความยินดีครับ :)
สุดยอดครับ ติดตามครับ
ขอบคุณนะครับ :)
ขอบคุณมากๆๆๆครับ
ด้วยความยินดีครับ :)
ติดตามค่ะอ.
ขอบคุณมากนะครับ :)
อาจารย์คะ ทำไม X0 ต้องเป็น 1 เสมอคะ
เราต้องการได้ค่า bias w0 ของสมการเส้นตรง y = ax+b โดย b คือ w0 ดังนั้น จึงกำหนด x0 ให้เป็น 1 เมื่อคูณกับ w0 แล้ว ก็จะได้ w0
คร่าว ๆ ประมาณนี้ครับ
@@datascinpru ขอบคุณค่า