内容简介:1. What is Neural Network在課程開始,講者(Laurence Moroney)以x和y的關係來解釋 Neural network假設 y = 2x-1 , 則傳統程式如下方顯示
Week 1:
課程連結1. What is Neural Network
在課程開始,講者(Laurence Moroney)以x和y的關係來解釋 Neural network
假設 y = 2x-1 , 則傳統程式如下方顯示
float hw_function(float x)
{
float y = (2 * x) - 1;
return y;
}
那機器學習的程式將會如何表示?
2. Machine Learning 訓練過程
Imports
import tensorflow as tf import numpy as np from tensorflow import keras
Define and Compile the Neural Network
建立一個簡單的神經網路
其內容只有一層, 一個神經元, 輸入為1維
model = tf.keras.Sequential([keras.layers.Dense(units=1, input_shape=[1])])
接下來,要怎麼讓電腦知道 y & x的關係是y=2x-1 ?
當電腦要進行猜測時,它可能一開始會猜y=10x+10..
因此,我們會先定義兩個函式
The LOSS function : 從data來測量答案與正確答案的差距(趨近越小越好)
The OPTIMIZER function : 根據how the loss function went,來做下一次的猜測,並盡量減少loss. 例如可能猜測 y=5x+5… , 再慢慢猜測降低loss,並重複EPOCHS 的number次數
在這裡,我們使用
Loss = ‘MEAN SQUARED ERROR’
Optimizer = ‘STOCHASTIC GRADIENT DESCENT’
Over time you will learn the different and appropriate loss and optimizer functions for different scenarios.
model.compile(optimizer='sgd', loss='mean_squared_error')
Providing the Data
xs = np.array([-1.0, 0.0, 1.0, 2.0, 3.0, 4.0], dtype=float) ys = np.array([-3.0, -1.0, 1.0, 3.0, 5.0, 7.0], dtype=float)
Training the Neural Network
在訓練神經元網路的過程,電腦會從呼叫model.fit來學習 Xs & Ys的關係
這就是上面內容所講述的過程:
1. 猜測
2. 測量猜測的好壞
3. 透過optimizer來進行下一次猜測
model.fit(xs, ys, epochs=500)
在透過 model.fit 訓練完模型之後,我們可以輸入 X 到模型裡得到相對應的 Y
若X=10, Y會是多少?
print(model.predict([10.0]))
你可能會以為答案是19 但事實上會得到一個~19但接近的數字
因為神經網路是算答案的機率性
我們只能透過data得到模型是接近Y=2X-1 但無法確定100%一定是
因此在神經網路的世界裡一直都是得到機率性而非確定性
最後再透過程式和機率來做分群或是分類的行為
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
计算机科学概论(第11版)
J. Glenn Brookshear / 刘艺、肖成海、马小会、毛倩倩 / 人民邮电出版社 / 2011-10-1 / 69.00元
本书多年来一直深受世界各国高校师生的欢迎,是美国哈佛大学、麻省理工学院、普林斯顿大学、加州大学伯克利分校等许多著名大学的首选教材,对我国的高校教学也产生了广泛影响。 本 书以历史眼光,从发展的角度、当前的水平以及现阶段的研究方向等几个方面,全景式描绘了计算机科学各个子学科的主要领域。在内容编排上,本书很好地兼顾了 学科广度和主题深度,把握了最新的技术趋势。本书用算法、数据抽象等核心思想贯穿各......一起来看看 《计算机科学概论(第11版)》 这本书的介绍吧!