สร้างระบบ 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

Комментарии • 28

  • @วิระพิทักษ์ถิร

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

    • @datascinpru
      @datascinpru  3 года назад +1

      ด้วยความยินดีครับ :)

  • @yossirihandle
    @yossirihandle 2 месяца назад +1

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

    • @datascinpru
      @datascinpru  2 месяца назад

      ด้วยความยินดีครับ :)

  • @siwarotesiriluck8798
    @siwarotesiriluck8798 Год назад

    ขอขอบพระคุณ ผศ.ดร.สุพจน์ เฮงพระพรหม มากเลยนะครับ ที่ทำให้ผมเข้าใจในเรื่องนี้ดีขึ้นจากที่ไม่รู้เรื่องเลยนะครับ สาธุ

  • @kpchannel4599
    @kpchannel4599 Год назад +1

    ผมทดลองทำตัวอย่างตามที่อาจารย์สอน ผมพบข้อสงสัยอย่างหนึ่งคับ ผมทดลองตั้งเงื่อนไขว่า
    ถ้า x1 และ x2 เหมือนกัน ให้ T=1
    ถ้า x1 กับ x2 ไม่เหมือนกันให้ T=0
    แต่พอกด Train ระบบไม่สามารถหาค่า W ได้คับ รบกวนอาจารย์ไขข้อข้องใจให้หน่อยคับ ขอบคุณมากคับ

    • @datascinpru
      @datascinpru  Год назад +1

      อันนี้เป็นปัญหา xor ซึ่งไม่สามารถใช้สมการเส้นตรงเพียงเส้นเดียวในการแบ่งข้อมูลให้ออกเป็น 2 กลุ่มได้อย่างถูกต้อง ทำให้ระบบเทรนไม่รู้จบ
      ถ้าจะแก้ไข จำเป็นต้องใช้ multilayer perceptron ครับ

    • @kpchannel4599
      @kpchannel4599 Год назад +1

      @@datascinpru ขอบคุณมากๆคับอาจารย์ อาจารย์พอจะมีตัวอย่างเรื่อง perceptron มัยคับ อยากให้อาจารย์ทำคลิปอีกคับ เข้าใจง่ายมากๆเลย

    • @kpchannel4599
      @kpchannel4599 Год назад +1

      ​@@datascinpru ขอบคุณสำหรับ keyword มากๆคับอาจารย์ ผมไปค้นหาหลักการดูเพิ่มเติม บวกกับตัวอย่างของอาจารย์ สามารถทำได้แล้วคับ เป็นการสร้าง layer and, nor, และ or มาประมวลผลคับ แต่ก็ยังติดที่ว่า เมื่อ x1,x2 เหมือนกัน ค่าต้องเป็น 1 เท่านั้น ถ้ากำหนดเป็น 0 เหมือนจะไม่ได้คับ

    • @datascinpru
      @datascinpru  Год назад +1

      ruclips.net/video/bwtSiygbMqw/видео.html
      ภาคทฤษฎีเรื่อง Perceptron Learning Rule ครับ

    • @kpchannel4599
      @kpchannel4599 Год назад

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

  • @kpchannel4599
    @kpchannel4599 3 года назад +1

    ขอขอบคุณอาจารย์เป็นอย่างมากคับ หาอ่านที่อื่นมาเยอะไม่เข้าใจเรื่องนี้เลย พอเจอคลิปอาจารย์ เข้าใจขึ้นเยอะมากๆคับ

    • @datascinpru
      @datascinpru  3 года назад

      ด้วยความยินดีครับ :)

    • @kpchannel4599
      @kpchannel4599 3 года назад +1

      รบกวนสอบถามอาจารย์เพิ่มเติมคับ
      สมมุติว่า เรารันข้อมูลแล้ว เราได้ค่าที่ทำให้ aperr ไม่ติดลบแล้วนะคับ เราจะได้ค่า w0, w1, w2 มาใช้งาน
      ถ้าเรามีข้อมูล x1, x2 แต่อยากคาดการณ์ข้อมูล t เราต้องคำนวณอย่างไรคับ

    • @datascinpru
      @datascinpru  3 года назад

      @@kpchannel4599 หาค่า w0 + x1w1 + x2w2 ถ้า >0 ให้ t = 1 แต่ถ้าไม่ใช่ ให้ t = 0 ครับ
      ลองดูนะครับ

    • @kpchannel4599
      @kpchannel4599 3 года назад

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

  • @listentomyidea.9315
    @listentomyidea.9315 10 месяцев назад

    พอจะมีช่องทางได้ติดต่ออาจารย์มั้ยครับ อยากจะสอบถามได้มั้ยครับ

  • @kaiprakundotcom4589
    @kaiprakundotcom4589 2 года назад +1

    ขอบคุณมากเลยครับ อจ.

    • @datascinpru
      @datascinpru  2 года назад

      ด้วยความยินดีครับ :)

  • @pongthronai2271
    @pongthronai2271 3 года назад +1

    สุดยอดครับ ติดตามครับ

    • @datascinpru
      @datascinpru  3 года назад

      ขอบคุณนะครับ :)

  • @PhufahChannel
    @PhufahChannel 2 года назад +1

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

    • @datascinpru
      @datascinpru  2 года назад

      ด้วยความยินดีครับ :)

  • @r.wassanaruanrot2573
    @r.wassanaruanrot2573 3 года назад

    ติดตามค่ะอ.

    • @datascinpru
      @datascinpru  3 года назад

      ขอบคุณมากนะครับ :)

  • @pjmamhee4879
    @pjmamhee4879 2 года назад +1

    อาจารย์คะ ทำไม X0 ต้องเป็น 1 เสมอคะ

    • @datascinpru
      @datascinpru  2 года назад

      เราต้องการได้ค่า bias w0 ของสมการเส้นตรง y = ax+b โดย b คือ w0 ดังนั้น จึงกำหนด x0 ให้เป็น 1 เมื่อคูณกับ w0 แล้ว ก็จะได้ w0
      คร่าว ๆ ประมาณนี้ครับ

    • @pjmamhee4879
      @pjmamhee4879 2 года назад

      @@datascinpru ขอบคุณค่า