MLP 吃瓜學習 – Day01

大致先了解 MLP 的原理,因為是學習階段,我的見解錯的機率很高,請勿服毒 ,資料很雜亂,請看看就好..

雖然查了不少資料,但目前還是無法理解數學原理 : 連結

機器學習- 神經網路(多層感知機Multilayer perceptron, MLP) 含倒傳遞( Backward  propagation)詳細推導- HackMD

1. 如何運作

影片建議 1.5 倍數以上觀看 : 連結

https://www.youtube.com/watch?v=OXNC_sefxi4&ab_channel=TensorFlow

先大概知道,原本我們都是寫程式來計算輸入值的結果,現在是把輸入跟結果給機器,讓他學習找出計算的方法。

2. 補足原理

連結 : 深度學習 Deep Learning — Multi-Layer Perceptron (MLP) (Part 1 of 3) (2018 詳細版)

舉例,如果想要用 身高、體重進行身體檢查(胖瘦)。

如果已經有 2000 筆存在的資料,可以藉由輸入 身高、體重、預期的結果丟給系統,進行訓練,然後再根據訓練的結果,比對現行的資料看是否正確,再進行第二次的訓練,讓他的準確度如 33% > 50% 到 例如預期的 98%

3. 初步了解

大概前面可以知道,就是根據已有的資料,進入隱藏層,產生資料

圖片來源 : https://medium.com/%E6%89%8B%E5%AF%AB%E7%AD%86%E8%A8%98/learn-multilayer-perceptron-with-tensorflow-e73062ff0844

4. Tensorflow 如何運作

知道原理是給機器輸入值、輸出值,然後進行訓練後,再給他新值確認訓練結果是否正確

不懂,不過先把關鍵字記起來

  1. 第一行程式定義了一個神經網絡模型,keras.layers.Dense 定義的單層神經網絡
  2. Units =1 表示只有一個神經元
  3. 放入神經網絡,就是 x 的值
  4. 優化函數與損失函數,會使用損失函數來計算這方法的好壞,然後用優化函數產生新的猜測
  5. 損失函數
  6. 優化函數
  7. 將 x 帶入 y 中,嘗試 500次
  8. 完成訓練的模型,進行使用 x=10 運算,確認結果是否如預期

5. 使用 C# 的練習做類似的程式

安裝 Python 38 : 連結

建立專案 (Net Core 6.0)

試著安裝 Keras.Net 照著上面運行

Python38 抓不到的情況,先用暴力方法把 Python38.dll 放到專案的輸出目錄

程式碼 :

運行

根據影片描述,訓練出來的結果不會等於 19 ,會接近於 18.999999,所以應該是成功。

其他待看資料

R 語言使用者的 Python 學習筆記

https://ithelp.ithome.com.tw/users/20103511/ironman/1077

https://hackmd.io/@wayne0509/ryTVXpmMw

https://chih-sheng-huang821.medium.com/%E6%A9%9F%E5%99%A8%E5%AD%B8%E7%BF%92-%E7%A5%9E%E7%B6%93%E7%B6%B2%E8%B7%AF-%E5%A4%9A%E5%B1%A4%E6%84%9F%E7%9F%A5%E6%A9%9F-multilayer-perceptron-mlp-%E5%90%AB%E8%A9%B3%E7%B4%B0%E6%8E%A8%E5%B0%8E-ee4f3d5d1b41

https://hackmd.io/@wayne0509/ryTVXpmMw

https://medium.com/%E6%89%8B%E5%AF%AB%E7%AD%86%E8%A8%98/learn-multilayer-perceptron-with-tensorflow-e73062ff0844

print

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *