自從AlphaGo擊敗人類
全球掀起一股人工智慧熱潮
機械學習和深度學習廣泛的應用在各種領域
影像辨識、行為學習、預測分析等
今天要教大家寫一個簡單的機械學習範例
實作時間大概10分鐘
分兩個步驟:
1. 安裝軟體
2. 程式編寫
1. 安裝軟體
首先,安裝Anaconda
這個軟體直接幫我們把很多套件整合在一起
常用的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
留言列表