def test01_liner():
# 用numpy生成100個點
x_data = np.random.rand(100)
y_data = x_data * 0.1 + 0.2
# 構(gòu)造一個線程模型
# k:斜率; b:偏置值
b = tf.Variable(0.)
k = tf.Variable(0.)
y = k * x_data + b
# 定義二次方差損失函數(shù),用于優(yōu)化計算結(jié)果,機(jī)器學(xué)習(xí)理論部分
# 求得預(yù)測值和實際值的平方差,用于判斷計算結(jié)果的損失
loss = tf.reduce_mean(tf.square(y_data - y))
# 定義梯度下降法來進(jìn)行訓(xùn)練的優(yōu)化器,0.1參數(shù)為訓(xùn)練步長
optimizer = tf.train.GradientDescentOptimizer(0.1)
# 定義最小化代價函數(shù),梯度下降的目的是把loss降到最小
# loss越小代表預(yù)測值與真實值越接近,
# k,b越接近0.1和0.2
train = optimizer.minimize(loss)
# 初始化變量,一旦有變量,則需要初始化變量
init = tf.global_variables_initializer()
# run
with tf.Session() as sess:
sess.run(init)
for step in range(8001):
sess.run(train)
if step % 20 == 0:
print(step, sess.run([k, b]))
"""運行過程:
1. sess.run(train) -> optimizer.minimize(loss) :使用梯度下降法計算最小化的loss:
原理: 深度學(xué)習(xí)06-logistic
2. 然后計算y_data 和y 的平方差,y_data為x_data的固定值;根據(jù)y的模型來計算斜率k和偏置量b
3. 當(dāng)k和b最接近y_data模型中的斜率和偏置量,則說明模型最優(yōu)化
4. 為什么要使用確定的值來訓(xùn)練模型?
求預(yù)測模型最接近真實模型的算法
"""
if __name__ == "__main__":
test01_liner()
TensorFlow03-實現(xiàn)線性回歸
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 1. 簡介 在統(tǒng)計學(xué)中,回歸分析(regression analysis)指的是確定兩種或兩種以上變量間相互依賴的...
- 預(yù)備知識及相關(guān)文檔博客 學(xué)習(xí)吳恩達(dá)機(jī)器學(xué)習(xí)課程筆記,并用python實現(xiàn)算法 python numpy基本教程: ...
- 目標(biāo) 給定一批由 y = 3*x + 2 生成的數(shù)據(jù)集(x, y)建立線性回歸模型 h(x) = w*x + b預(yù)...
- 1、前面Python 版本的多項線性回歸,現(xiàn)不在對名詞和操作流程做過多解釋,直接上代碼 dataset = rea...
- 本周我們學(xué)習(xí)了利用Android創(chuàng)建數(shù)據(jù)庫進(jìn)行儲存數(shù)據(jù)。 1、在Android中一共提供了5種數(shù)據(jù)存儲方式,分別為...