码迷,mamicode.com
首页 > 其他好文 > 详细

梯度下降法预测波士顿放假问题

时间:2020-04-13 00:28:18      阅读:81      评论:0      收藏:0      [点我收藏+]

标签:pre   ice   image   nbsp   marker   one   参数   tac   col   

技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 

 

 

下面是一个梯度下降法对多元问题的求解:

 1 import numpy as np
 2 import matplotlib.pyplot as plt
 3 plt.rcParams[font.sans-serif] = [Simhei]
 4 
 5 area = np.array([137.97,104.50,100.00,124.32,79.20,99.00,124.00,114.00,106.69,138.05,
 6              53.75,46.91,68.00,63.02,81.26,86.21])             #面积
 7 room = np.array([3,2,2,3,1,2,3,2,2,3,1,1,1,1,2,2])              #房间数
 8 price = np.array([145.00,110.00,93.00,116.00,65.32,104.00,118.00,91.00,62.00,133.00,
 9              51.00,45.00,75.50,69.50,75.69,95.30])              #房价
10 num = len(area)
11 x0 = np.ones(num)
12 x1 = (area - area.min())/(area.max() - area.min())           #对房间面积进行标准化
13 x2 = (room - room.min())/(room.max() - room.min())            #对房间数进行标准化
14 
15 X = np.stack((x0,x1,x2), axis = 1)
16 Y = price.reshape(-1,1)
17 
18 #设置超参数
19 learn_rate = 0.001
20 iter = 500
21 display_step = 50
22 
23 #初始化w
24 np.random.seed(612)
25 W = np.random.randn(3,1)

技术图片

 

 

 1 #训练模型
 2 mse = []
 3 for i in range(iter+1):
 4     dL_dw = np.matmul(np.transpose(X),np.matmul(X,W)-Y)    #对W的偏导
 5     W = W-learn_rate*dL_dw                   #更新权值
 6     
 7     PREDIC = np.matmul(X,W)                 #房价估计值
 8     Loss = np.mean(np.square(Y-PREDIC))/2
 9     mse.append(Loss)
10     
11     if i % display_step ==0:
12         print(i: %i, Loss:%f%(i,mse[i]))
13         
14 #可视化结果
15 plt.figure(figsize=(20,8))
16 
17 plt.subplot(1,2,1)
18 plt.plot(mse)
19 plt.xlabel(迭代次数, fontsize = 25)
20 plt.ylabel(Loss, fontsize = 25)
21 
22 plt.subplot(1,2,2)
23 PREDIC = PREDIC.reshape(-1)
24 plt.plot(price,color = red, marker = o, label = 销售记录)
25 plt.plot(PREDIC, color = blue, marker = ., label=预测房价)
26 plt.xlabel(Sample, fontsize = 25)
27 plt.ylabel(Price, fontsize=25)
28 
29 plt.legend(fontsize=15)
30 plt.show()

技术图片

 

 技术图片

 

梯度下降法预测波士顿放假问题

标签:pre   ice   image   nbsp   marker   one   参数   tac   col   

原文地址:https://www.cnblogs.com/GouQ/p/12688830.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!