線性回歸python程式,歸一化

2021-09-02 05:25:53 字數 1473 閱讀 2043

import tensorflow as tf

import numpy as np

import matplotlib.pyplot as plt

#使用numpy生成200個隨機點

x_data=np.linspace(-0.5,0.5,200)[:,np.newaxis]

noise=np.random.normal(0,0.02,x_data.shape)

y_data=np.square(x_data)+noise

#定義兩個placeholder(佔位符)

x=tf.placeholder(tf.float32,[none,1])

y=tf.placeholder(tf.float32,[none,1])

#定義神經網路中間層

weights_l1=tf.variable(tf.random_normal([1,10]))#建立乙個權值weights_l1,建立乙個隨機數,它的形狀是一行十列(1代表1個輸入(1個輸入層),10個中間層)

blases_l1=tf.variable(tf.zeros([1,10]))

wx_plus_b_l1=tf.matmul(x,weights_l1)+blases_l1#tf.matmul為矩陣的乘法,得到訊號的總和wx_plus_b_l1

l1=tf.nn.tanh(wx_plus_b_l1)#啟用函式作用於訊號的總和wx_plus_b_l1

#定義輸出層(輸出層的輸入相當於中間層的輸出)

weights_l2=tf.variable(tf.random_normal([10,1]))#10個中間層,1個輸出

blases_l2=tf.variable(tf.zeros([1,1]))

wx_plus_b_l2=tf.matmul(l1,weights_l2)+blases_l2

prediction=tf.nn.tanh(wx_plus_b_l2)

#二次代價函式

loss=tf.reduce_mean(tf.square(y-prediction))

#使用梯度下降法訓練

train_step=tf.train.gradientdescentoptimizer(0.1).minimize(loss)

with tf.session() as sess:

#變數初始化

sess.run(tf.global_variables_initializer())

for _ in range(2000):

sess.run(train_step,feed_dict=)

#獲得**值

prediction_value=sess.run(prediction,feed_dict=)

#畫圖plt.figure()

plt.scatter(x_data,y_data)

plt.plot(x_data,prediction_value,『r』,lw=5)

plt.show()

機器學習之 歸一化線性回歸與歸一化邏輯回歸

之前的部落格裡,跟大家分享了歸一化 regularization 的概念 保留所有的特徵,但是減小引數的大小 magnitude 這一次捏,跟大家討論討論,歸一化線性回歸模型和歸一化邏輯回歸模型。具體的分析我們可以後續來討論,這裡就不贅述了。歸一化線性回歸模型 regularized linear ...

特徵歸一化的方法 線性歸一化 零均值歸一化

常用歸一化方法 1 線性歸一化,線性歸一化會把輸入資料都轉換到 0 1 的範圍,公式如下 該方法實現對原始資料的等比例縮放,其中xnorm為歸一化後的資料,x為原始資料,xmax xmin分別為原始資料集的最大值和最小值。優點 通過利用變數取值的最大值和最小值將原始資料轉換為界於某一特定範圍的資料,...

偏最小二乘回歸分析 線性回歸特徵歸一化

今天碰見一句 features torch.tensor np.random.normal 0,1,1000,2 其中 features是訓練資料特徵 np為numpy import numpy as np 關於np.random.normal 0,1,1000,2 noise np.random....