1.jpg

自從AlphaGo擊敗人類

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

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

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

 

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

實作時間大概10分鐘

分兩個步驟:

1. 安裝軟體

2. 程式編寫

 

1. 安裝軟體

首先,安裝Anaconda 

https://www.anaconda.com/

 

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

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

 

進入網站後

點上面的Product 選 Individual Edition

2.jpg

 

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

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

3.jpg

 

安裝一直按下一步即可

安裝完後開啟Anaconda3

 

左邊選Environments分頁

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

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

更新完後,搜尋tensorflow 

TensorFlow是Google的機械學習套件

4.jpg

 

選tensorflow: TensorFlow is a machine learing library.

然後右下角按Apply

5.jpg

 

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

按Apply

6.jpg

 

2. 程式編寫

安裝完後,回到Home

啟動jupyter Notebook

7.jpg

 

點右上角New

選Python 3開啟新檔案

8.jpg

 

開啟後畫面如圖

程式要打在In的空格裡

9.jpg

 

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

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

10.jpg

 

按RUN執行程式

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

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

11.jpg

 

執行完後,往下拉看結果

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

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

12.jpg

 

如果能夠給更多組資料

或是把原本跑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
 

arrow
arrow

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