梯度下降法预测波士顿放假问题(代码片段)

gouq gouq     2023-04-04     139

关键词:

技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 技术图片

 

 

 

 

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

 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()

技术图片

 

 技术图片

 

一元线性回归-梯度下降法-房价预测(代码片段)

数据32.502345269453031,31.7070058465699253.426804033275019,68.7775959816389161.530358025636438,62.56238229794580347.475639634786098,71.54663223356777759.813207869512318,87.23092513368739355.142188413943 查看详情

正规方程,梯度下降,岭回归——机器学习(代码片段)

...;mini-batch)2.4随机平均梯度下降算法(SAG)三.波士顿房价预测——正规方程( 查看详情

线性回归案例:波士顿房价预测(代码片段)

波士顿房价预测1.背景介绍2.案例分析3.回归性能评估4.代码实现4.1正规方程4.2梯度下降法5.小结1.背景介绍数据介绍给定的这些特征,是专家们得出的影响房价的结果属性。我们此阶段不需要自己去探究特征是否有用,只... 查看详情

梯度下降法,二维空间三维空间代码实现(代码片段)

目录二维空间梯度下降法问题定义算法思想和推导一维问题就是不断求导,直到达到我们设置的精度Python代码实现一维问题三维空间梯度下降代码展示补充:泰勒展开式的意义泰勒展示的作用二维空间梯度下降法Python实... 查看详情

机器学习算法:波士顿房价预测|黑马程序员(代码片段)

学习目标:通过案例掌握正规方程和梯度下降法api的使用1案例背景介绍数据介绍   给定的这些特征,是专家们得出的影响房价的结果属性。我们此阶段不需要自己去探究特征是否有用,只需要使用这些特征。到后... 查看详情

梯度下降法(代码片段)

在应用机器学习算法时,我们通常采用梯度下降法来对采用的算法进行训练。其实,常用的梯度下降法还具体包含有三种不同的形式,它们也各自有着不同的优缺点。下面我们以线性回归算法来对三种梯度下降法进行比较。一般... 查看详情

梯度下降法及其python实现(代码片段)

梯度下降法(gradientdescent),又名最速下降法(steepestdescent)是求解无约束最优化问题最常用的方法,它是一种迭代方法,每一步主要的操作是求解目标函数的梯度向量,将当前位置的负梯度方向... 查看详情

机器学习:随机梯度下降法(线性回归中的应用)(代码片段)

一、随机梯度下降法基础 #梯度中的每一项计算:,要计算所有样本(共m个); #批量梯度下降法的思路:计算损失函数的梯度,找到优化损失函数的最近距离,或者称最直接的方向;  #批量梯度下降法的梯度计算:... 查看详情

sparkmlib:梯度下降算法实现(代码片段)

声明:本文参考《 大数据:Sparkmlib(三)GradientDescent梯度下降算法之Spark实现》1.什么是梯度下降?梯度下降法(英语:Gradientdescent)是一个一阶最优化算法,通常也称为最速下降法。要使用梯度下降法找到一个函数的局部极小... 查看详情

02_有监督学习--简单线性回归模型(梯度下降法代码实现)(代码片段)

有监督学习--简单线性回归模型(梯度下降法代码实现)0.引入依赖1.导入数据(data.csv)2.定义损失函数3.定义模型的超参数4.定义核心梯度下降模型函数5.测试:运行梯度下降算法,计算最优的w和b6.画出拟合曲线7.附录-测试数据... 查看详情

随机梯度下降法实例(代码片段)

...参数收敛缓慢。在训练过程中,参数的更新向着损失函数梯度下降的方向。参数的更新公式为:????+??=????−????????????????_??????????假设损失函数为loss=(w+1)2。梯度是损失函数loss的导数为&nabl 查看详情

梯度下降法求解线性回归(代码片段)

梯度下降法梯度下降法(英语:Gradientdescent)是一个一阶最优化算法,通常也称为最速下降法。要使用梯度下降法找到一个函数的局部极小值,必须向函数上当前点对应梯度(或者是近似梯度)的反方向的规定步长距离点进行迭... 查看详情

(梯度下降法)作业(代码片段)

第三题程序和结果:importnumpyasnpfromsympyimport*importmathimportmatplotlib.pyplotasplt#定义符号x1,x2,t=symbols('x1,x2,t')#sympy符号数学相当于代数式deffunc():#自定义一个函数return0.5*pow(x1,2)+pow(x2,2)defgr 查看详情

优化算法—梯度下降(代码片段)

转自:https://www.cnblogs.com/shixiangwan/p/7532858.html梯度下降法,是当今最流行的优化(optimization)算法,亦是至今最常用的优化神经网络的方法。本文旨在让你对不同的优化梯度下降法的算法有一个直观认识,以帮助你使用这些算法... 查看详情

机器学习:梯度下降

作者|RenuKhandelwal编译|VK来源|Medium什么是梯度下降?梯度下降法是一种减少成本函数的迭代机器学习优化算法,使我们的模型能够做出准确的预测。成本函数(C)或损失函数度量模型的实际输出和预测输出之间的差异。成本函数是一... 查看详情

线性回归预测波士顿房价(代码片段)

 预测波士顿的房价,上次已经通过房间数目预测了房价,这次用多元线性回归预测。根据之前推导的多元线性回归的参数 接下来是多元线性回归的代码实现defLinearRegression_(x,y):np.array(x)np.array(y)a=(np.linalg.inv(x.T.dot(x))).dot(x.... 查看详情

lr梯度下降法mse演练(代码片段)

...一波网上代码搬砖,先来个入门的线性回归模型训练,基于梯度下降法来,优化用MSE来做.理论部分就不讲了,网上一大堆,我自己也是理解好多年了,什么偏导数,梯度(多远函数一阶偏导数组成的向量),方向导数,反方向(梯度下降)这些基... 查看详情

python与r语言手推logistic回归(梯度下降法/牛顿法)(代码片段)

...)作为目标函数,利用最优化方法(牛顿法、梯度下降法)进行求解 查看详情