自從AlphaGo擊敗人類

全球掀起一股人工智慧熱潮

機械學習和深度學習廣泛的應用在各種領域

影像辨識、行為學習、預測分析等

 

今天要教大家寫一個簡單的機械學習範例

實作時間大概10分鐘

分兩個步驟:

1. 安裝軟體

2. 程式編寫

 

1. 安裝軟體

首先,安裝Anaconda 

https://www.anaconda.com/

 

這個軟體直接幫我們把很多套件整合在一起

常用的numpy、pandas、scikit-learn、matplotlib等都直接幫你安裝了

 

進入網站後

點上面的Product 選 Individual Edition

 

往下拉,選擇python 3.7的產品下載

依照你的作業系統和CPU位元選擇適合的安裝檔

 

安裝一直按下一步即可

安裝完後開啟Anaconda3

 

左邊選Environments分頁

然後下拉選單選All,顯示所有套件

點一下旁邊的update index… 更新所有套件

更新完後,搜尋tensorflow 

TensorFlow是Google的機械學習套件

 

選tensorflow: TensorFlow is a machine learing library.

然後右下角按Apply

 

會出現一個小視窗,告訴你會安裝那些套件

按Apply

 

2. 程式編寫

安裝完後,回到Home

啟動jupyter Notebook

 

點右上角New

選Python 3開啟新檔案

 

開啟後畫面如圖

程式要打在In的空格裡

 

程式如下,怕打錯,可以用複製的

import tensorflow as tf
import numpy as np

model = tf.keras.Sequential([tf.keras.layers.Dense(units=1, input_shape=[1])])
model.compile(optimizer='SGD',loss='MSE')

input_data = np.array([1,2,3,4,5])
target_data = np.array([2,4,6,8,10])

model.fit(input_data,target_data,epochs=300)

print(model.predict([6]))

 

程式的解釋如下圖

簡單的說,就是去找出1, 2, 3, 4, 5和2, 4, 6, 8, 10之間的關係

然後預測輸入6會得到什麼數值

理論上會得到12

 

按RUN執行程式

一開始可能會有一些錯誤訊息

不必在意,等一會兒就會開始執行了

 

執行完後,往下拉看結果

可以看到每跑一次,損失函數就越來越小

最後,電腦預測,輸入6得到的結果是11接近12

 

如果能夠給更多組資料

或是把原本跑300次改成跑更多次

最後的預測就會越精準

 

希望這個簡單的教學

能夠幫助大家進入機械學習的世界

 

其他最佳化函數可參考:

https://www.tensorflow.org/api_docs/python/tf/keras/optimizers

 

其他損失函數可參考:

https://www.tensorflow.org/api_docs/python/tf/keras/losses

 

參考資料:

https://codelabs.developers.google.com/codelabs/tensorflow-lab1-helloworld/#3

https://hjwang520.pixnet.net/blog/post/403794854-anaconda%E5%AE%89%E8%A3%9Dtensorflow%E5%92%8Ckeras
 

文章標籤
全站熱搜
創作者介紹
創作者 讀樂島主 的頭像
讀樂島主

讀樂島

讀樂島主 發表在 痞客邦 留言(0) 人氣(159)