当前位置: 首页 > news >正文

自己怎么制作假山搜索引擎优化入门

自己怎么制作假山,搜索引擎优化入门,阜阳微网站建设多少钱,上海网站建设yuue文章目录 一、线性回归的基本原理1.相关与回归2.线性回归的原理分析①线性回归的一般公式②线性回归的损失函数③线性回归方程的参数求解方法A.最小二乘法B.梯度下降法 一、线性回归的基本原理 1.相关与回归 相关描述的是变量之间的一种关系。 从统计角度看#xff0c;变量之… 文章目录 一、线性回归的基本原理1.相关与回归2.线性回归的原理分析①线性回归的一般公式②线性回归的损失函数③线性回归方程的参数求解方法A.最小二乘法B.梯度下降法 一、线性回归的基本原理 1.相关与回归 相关描述的是变量之间的一种关系。 从统计角度看变量之间的关系有函数关系和相关关系两种。 函数关系即当一个或多个变量取一定值时另一个变量有唯一确定值与之对应。 在实际生活中有些变量之间并不像函数关系那样有明确的关系但又的确存在一定的关系。 例如二手房的房价与面积这两个变量之间不存在完全确定的关系但却存在一定的趋势即面积会对房价有一定影响但又存在很大的不确定性。。 通常把变量之间的这种不确定的相互依存关系称为相关关系如果两个变量之间存在相关关系则可以用回归方法研究一个变量对另一个变量的影响如图所示 补充相关分析与回归分析的联系与区别 相关分析与回归分析既有联系又有区别其联系在于相关分析是回归分析的基础和前提回归分析是相关分析的深入和继续。其区别主要包含以下3点。 相关分析所研究的两个变量是对等关系不区分自变量和因变量而回归分析所研究的两个变量不是对等关系必须根据研究目的确定其中的自变量和因变量。对于变量x和y来说相关分析只能计算出一个反映两个变量间相关密切程度的相关系数不能估计或推算出具体数值。而回归分析则可以用自变量数值推算因变量的估计值。相关分析中两个变量都是随机的或者一个变量是随机的另一个变量是非随机的。而回归分析中自变量是可以控制的变量给定的变量因变量是随机变量。 2.线性回归的原理分析 ①线性回归的一般公式 回归是研究一组随机变量与另一组变量之间关系的统计分析方法通常用y表示因变量而x被看成是影响y的因素称为自变量。 线性回归就是运用直线来描述数据之间关系的一种算法。 直线的方程式可以表示为 f ( x ) w x b f(x)wxb f(x)wxb w表示直线的斜率b表示直线的截距x表示自变量即数据集中的特征变量, f ( x ) f(x) f(x)表示因变量即模型对于数据结果的预测值。 在上述方程式中只有一个x和一个 f ( x ) f(x) f(x) 说明训练样本数据集中的特征变量只有一个这种只有一个自变量和一个因变量组成的模型称为一元线性回归。 如果训练样本的数据集中有多个特征变量则线性回归的一般预测公式为 f ( x ) w 1 x 1 w 2 x 2 . . . . w n x n b f(x)w_1x_1w_2x_2....w_nx_nb f(x)w1​x1​w2​x2​....wn​xn​b x1,x2,x3…表示数据集中的特征变量数据集中共有n个特征 f ( x ) f(x) f(x)表示模型对于数据结果的预测值w1,w2…和b表示模型的参数每个 w值对应一条特征直线的斜率。 像这样由有线性关系的多个自变量和一个因变量组成的模型称为多元线性回归。线性模型的一般公式也可以这样理解模型给出的预测值可以看作各个特征的加权和 w i w_i wi​表示各个特征的权重。 ②线性回归的损失函数 众所周知平面上的两个点可以确定一条直线。假设训练数据集中只有两个样本如表1所示。运用这两个样本很容易就可以得到一条拟合直线如图所示。 序 号x 值y 值151521535 如果训练数据集中增加一个样本这个样本在坐标系中所表示的点的坐标是1015 。怎样画一条直线来拟合这3个点呢 在坐标系中先随机画出多条直线如图。接下来通过计算来寻找最合适的拟合直线 模型输出的预测值与真实值越接近说明模型越好。如果用 f ( x ) f(x) f(x)表示模型的预测值y表示训练样本的真实值。那么 f ( x ) f(x) f(x)与y的接近程度就可以用“ y- f ( x ) f(x) f(x) ”来表示实际应用中通常用平方误差度量 f ( x ) f(x) f(x)与y的接近程度即 e [ f ( X ) − y ] 2 e[f(X)-y]^2 e[f(X)−y]2 单个样本的误差度量为 e [ f ( X ) − y ] 2 e[f(X)-y]^2 e[f(X)−y]2 则3个样本所产生的误差总和为 J [ y 1 − f ( x 1 ) ] 2 [ y 2 − f ( x 2 ) ] 2 [ y 3 − f ( x 3 ) ] 2 ] J [y_ {1}-f(x_ {1})]^ {2} [y_ {2}-f(x_ {2})]^ {2} [y_ {3}-f(x_ {3})]^ {2}] J[y1​−f(x1​)]2[y2​−f(x2​)]2[y3​−f(x3​)]2] 显然只要计算出总误差J的最小值就能找到其对应的直线求得对应方程的参数从而找到最合适的线性回归方程。 在机器学习的训练集中通常有多个样本可将上述3个样本的情况扩展到多个样本将所有训练样本所产生的误差总和看成线性回归模型的总误差。因此对于任意给定的n个训练样本x1…xn其标签分别为y1…yn所有样本的总误差为 J [ y 1 − f ( x 1 ) ] 2 [ y 2 − f ( x 2 ) ] 2 ⋯ [ y n − f ( x n ) ] 2 ] J [y_ {1}-f(x_ {1})]^ {2} [y_ {2}-f(x_ {2})]^ {2} \cdots [y_ {n}-f(x_ {n})]^ {2}] J[y1​−f(x1​)]2[y2​−f(x2​)]2⋯[yn​−f(xn​)]2] 在机器学习中我们把上述函数J称为损失函数loss function。 损失函数又称错误函数或 J 函数用来对模型的预测误差进行评估 (损失函数有很多种这种损失函数叫做MSE均方误差) ③线性回归方程的参数求解方法 线性回归的基本思想是先求出损失函数的最小值然后找出对应的直线进而求出直线方程的参数w和b的值得到线性回归方程。 求参数w和b的值有两种方法最小二乘法和梯度下降法。 A.最小二乘法 最小二乘法又称最小平方法它通过最小化误差的平方和寻找数据的最佳函数匹配。Sklearn的linear_model模块中提供了LinearRegression类该类使用最小二乘法实现线性回归可通过下面语句导入线性回归模型。 from sklearn.linear_model import LinearRegression LinearRegression类提供了如下两个属性 “coef_”表示回归系数即斜率_intercept”表示截距 使用最小二乘法训练线性回归模型预测面积为200 m2的房屋售价。二手房房屋销售数据如表所示 面积/m2售价/万元面积/m2售价/万元1003011133249028589296602007026050300451205518078245 #导入NumPy与线性回归模型 import numpy as np from sklearn.linear_model import LinearRegression #输入训练集数据 #这里输入二维数组是为了表示两个维度第一个维度就是样本数第二维度是特征数 xnp.array([[100],[113],[90],[89],[60],[70],[50],[45],[55],[78]]) #房屋面积 ynp.array([[301],[324],[285],[296],[200],[260],[300],[120],[180],[245]]) #售价 #建立模型训练模型 modelLinearRegression() #建立基于最小二乘法的线性回归模型 model.fit(x,y) #开始训练模型 #求解线性回归方程参数 print(w,model.coef_[0],b,model.intercept_) #使用逗号将不同的字符串和变量连接在一起 ① 在机器学习中如果数据集比较小一般可将其保存成数组直接写在程序中然后让程序读取该数组的内容即可。NumPy用于创建数组对象[1,2,3]表示一维数组[[1,2],[3,4]]表示二维数组本例中的数据集就是利用NumPy创建的二维数组。另外获取数组中的数据时下标要从0开始本例中x[0][0]表示数据100 ② fit(x,y)表示传入数据x与标签y训练模型。 为了便于观察将原始数据与求得的方程用图表示出来 #导入画图工具 import matplotlib.pyplot as plt #求模型预测值 y2model.predict(x) #model.predict(x)的作用是将输入数据x传递给已经训练好的模型model然后模型会根据学习到的参数和规律对输入数据进行预测并返回预测结果y2 #设置坐标轴 plt.xlabel(面积) #图形横轴的标签名称 plt.ylabel(售价) #图形纵轴的标签名称 plt.rcParams[font.sans-serif]Simhei #中文文字设置为黑体 plt.axis([40,125,100,400]) #设置图像横轴与纵轴的最大值与最小值 #绘制并显示图形 plt.scatter(x,y,s60,ck,markero) #绘制散点图 plt.plot(x,y2,r-) #绘制直线第3个参数表示红色实线 plt.show() #显示图形 amodel.predict([[200]]) print(200平方米二手房的预测房价是,a[0][0])程序运行结果如图所示.。 程序说明 ① 得到线性回归方程后可用predict()函数求解横坐标的预测值 ② Matplotlib中的axis([40,125,100,400])函数用于设置图像横轴和纵轴的最大值与最小值其中40和125分别表示横轴的最小值和最大值100和400分别表示纵轴的最小值和最大值 ③ Matplotlib中的scatter()函数用于画散点图前两个参数表示横轴和纵轴的坐标值第3个参数s表示散点的大小s值越大点越大c表示散点的颜色“k”表示黑色marker表示散点的样式“o”表示圆点。 使用训练好的线性回归模型预测面积为200 m2的房屋售价 amodel.predict([[200]]) print(200平方米二手房的预测房价是,a[0][0]) B.梯度下降法 在机器学习中梯度下降法是很普遍的算法不仅可用于线性回归问题还可用于神经网络等模型中。梯度下降法适用于特征个数较多训练样本较多内存无法满足要求时使用是一种比较高效的优化方法。Sklearn中提供的SGDRegressor()函数可以实现基于梯度下降法的回归分析该函数的语法如下。 SGDRegressor(loss’squared_loss’,n_iter_no_change5,max_iter1000)#导入NumPy与线性回归及梯度下降法模型 import numpy as np from sklearn.linear_model import LinearRegression,SGDRegressor #输入训练集数据 xnp.array([[100],[113],[90],[89],[60],[70],[50],[45],[55],[78]]) #房屋面积 ynp.array([[301],[324],[285],[296],[200],[260],[300],[120],[180],[245]]) #售价 #建立模型训练模型 modelSGDRegressor(losshuber,max_iter5000,random_state42) #建立基于梯度下降法的线性回归模型 #huber代表调用huber损失函数 #5000代表迭代5000次 #random_state42是设置随机数种子 model.fit(x,y.ravel()) #ravel()函数可以扁平化数组即将二维数组转换为一维数组 #开始训练模型 #求解线性回归方程参数 print(w,model.coef_,b,model.intercept_) import matplotlib.pyplot as plt #求模型预测值 y2model.predict(x) #设置坐标轴 plt.xlabel(面积) #图形横轴的标签名称 plt.ylabel(售价) #图形纵轴的标签名称 plt.rcParams[font.sans-serif]Simhei‘ #中文文字设置为黑体 plt.axis([40,125,100,400]) #设置图像横轴与纵轴的最大值与最小值 #绘制并显示图形 plt.scatter(x,y,s60,ck,markero) #绘制散点图 plt.plot(x,y2,r-) #绘制直线第3个参数表示红色实线 plt.legend([真实值,预测值]) #显示图例 plt.show() #显示图形 amodel.predict([[200]]) print(200平方米二手房的预测房价是,a[0]) 梯度下降法通过不断 迭代更新模型参数的方式沿着损失函数的梯度方向逐步逼近或达到最优解。在每次迭代中根据损失函数对参数的梯度即损失函数对各个参数的偏导数来更新参数使得损失函数值逐渐减小直到达到最小值或收敛到一个可以接受的范围内 梯度下降法的基本思想可以用以下步骤概括 初始化模型参数例如权重和偏置的数值。计算损失函数对参数的梯度。根据梯度的方向和大小更新参数。重复步骤2和3直到满足停止条件如达到最大迭代次数或损失函数变化很小 在机器学习和深度学习中权重weights和偏置bias是模型中的两个重要参数用于构建模型并进行预测。 权重weights也就是w 在线性模型中权重用于衡量输入特征对输出的影响程度。每个输入特征都与一个权重相关联通过乘以对应的权重并求和得到模型的输出。在神经网络中权重用于连接神经元之间的信号传递。每个连接都有一个权重控制着信号在神经网络中的传播。权重决定了模型的学习能力和拟合能力通过调整权重可以使模型更好地拟合训练数据。 偏置bias也就是b 偏置是模型中的一个常数项用于调整模型的输出使其更符合实际情况。在线性模型中偏置相当于截距用于调整模型在没有输入特征时的输出值。在神经网络中每个神经元都有一个偏置项用于调整神经元的激活阈值。 在模型训练过1程中权重和偏置是需要不断调整和优化的参数以使模型在训练数据上达到最佳的拟合效果。通过梯度下降等优化算法可以更新权重和偏置使模型逐步收敛到最优解。 总的来说权重和偏置是机器学习和深度学习模型中的关键参数通过调整它们可以控制模型的表现。 补充 Huber损失函数定义 [ L δ ( y , y ^ ) { 1 2 ( y − y ^ ) 2 , for  ∣ y − y ^ ∣ ≤ δ δ ( ∣ y − y ^ ∣ − 1 2 δ 2 ) , otherwise ] [ L_{\delta}(y, \hat{y}) \begin{cases} \frac{1}{2}(y - \hat{y})^2, \text{for } |y - \hat{y}| \leq \delta \\ \delta(|y - \hat{y}| - \frac{1}{2}\delta^2), \text{otherwise} \end{cases} ] [Lδ​(y,y^​){21​(y−y^​)2,δ(∣y−y^​∣−21​δ2),​for ∣y−y^​∣≤δotherwise​] 其中( y ) 是真实值ground truth( y ^ \hat{y} y^​ ) 是模型预测值( δ \delta δ ) 是一个阈值参数用于控制绝对误差和均方误差之间的平衡。当预测值与真实值之间的绝对差小于等于阈值 ( δ \delta δ ) 时采用均方误差(MAE)否则采用绝对误差(MSE)。 为何使用Huber损失函数 使用MAE用于训练神经网络的一个大问题就是它的梯度始终很大这会导致使用梯度下降训练模型时在结束时遗漏最小值。对于MSE梯度会随着损失值接近其最小值逐渐减少从而使其更准确。 在这些情况下Huber损失函数真的会非常有帮助因为它围绕的最小值会减小梯度。而且相比MSE它对异常值更具鲁棒性。因此它同时具备MSE和MAE这两种损失函数的优点。不过Huber损失函数也存在一个问题我们可能需要训练超参数δ而且这个过程需要不断迭代。
http://www.pierceye.com/news/183805/

相关文章:

  • 八年级微机网站怎么做wordpress 链接转换
  • ppt做的模板下载网站有哪些内容wordpress 4.5.3中
  • 网站开发需求文档prd模板iis wordpress 404
  • 灰色链网站建设偃师建网站那家公司好
  • 文化网站前置审批网站运营系统
  • 现在做网站用什么学校网站的建设需求
  • 网页制作与网站建设技术大全 pdfhtml5移动端网站开发教程
  • 做任务可以给钱的网站php响应式网站模板下载
  • 平面素材设计网站东莞房价2023年最新房价走势
  • 做一个网站建设需要多少钱天津企业网站排名优化
  • 有关网站开发的论文网站建设哪公司
  • wordpress网站500导航 网站 分析
  • 软件网站开发市场前景试论述网上商城的推广技巧
  • 海洋生态文明建设的网站名廊坊网站建设电话
  • 做外贸在哪个网站比较好视频网站搭建源码
  • 网站代码优化视频教程动画制作专业大学排名
  • 安阳网站推广优化网站导航条背景图片
  • 静态网站需要数据库吗广州近期流行的传染病
  • 如何做国外的网站页面设计感想
  • 征婚网站认识的男人做定投保wordpress 中文 cms
  • 淄博百度网站建设上虞网站建设哪家好
  • 网站菜单导航怎么做的网站没有备案怎么做支付
  • wordpress主题小程序如何做优化排名
  • 中企动力做网站费用多个域名 指向同一个网站
  • 怎么搭建小程序平台网站营销优化
  • 建设网站员工招聘策划方案软件开发的八个步骤
  • 怎样做cms电影网站赚钱网络营销需要学什么
  • wordpress快速仿站视频教程没有备案的网站会怎么样
  • 美团先做网站还是app惠州惠阳网站建设
  • 可以更改上传到网站的文件内容吗信用 网站 建设方案