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

城市建设厅官方网站wordpress模板推荐

城市建设厅官方网站,wordpress模板推荐,电商运营公司排名,简约风格网站正规方程与梯度下降API及案例预测 文章目录 正规方程与梯度下降API及案例预测1. 正规方程与梯度下降正规方程(Normal Equation)梯度下降(Gradient Descent) 2. API3. 波士顿房价预测 1. 正规方程与梯度下降 回归模型是机器学习中…

正规方程与梯度下降API及案例预测

文章目录

  • 正规方程与梯度下降API及案例预测
    • 1. 正规方程与梯度下降
      • 正规方程(Normal Equation)
      • 梯度下降(Gradient Descent)
    • 2. API
    • 3. 波士顿房价预测

1. 正规方程与梯度下降

回归模型是机器学习中用于预测连续数值(实数)的模型,通常用于解决回归问题。两种常见的回归模型求解方法是正规方程和梯度下降。

正规方程(Normal Equation)

正规方程是一种封闭解法,用于直接计算线性回归模型的权重(系数)。

原理
给定一个线性回归模型的数据集,我们的目标是找到最佳的权重(系数)w,使得模型的预测值尽可能接近实际值。正规方程的原理是通过最小化损失函数来找到最佳权重。对于线性回归问题,损失函数通常是均方误差(Mean Squared Error):
J ( w ) = 1 2 m ∑ i = 1 m ( h w ( x ( i ) ) − y ( i ) ) 2 J(w) = \frac{1}{2m} \sum_{i=1}^{m} (h_w(x^{(i)}) - y^{(i)})^2 J(w)=2m1i=1m(hw(x(i))y(i))2

其中,m 是训练样本数量,
h w ( x ( i ) ) h_w(x^{(i)}) hw(x(i))
是模型的预测值,
y ( i ) y^{(i)} y(i)
是实际值。

正规方程的目标是找到权重w,使损失函数J(w)最小化。通过求解损失函数的梯度等于零的方程,可以得到权重w的解析解:

∇ J ( w ) = 0 \nabla J(w) = 0 J(w)=0

这个方程的解即为最佳权重w,从而得到线性回归模型。

优点

  • 正规方程提供了封闭解,不需要手动选择学习率或迭代次数。
  • 适用于小型数据集,通常在特征数量较少时表现良好。

缺点

  • 对于大型数据集,计算复杂度高,需要计算特征矩阵的逆,时间复杂度较高。
  • 不适用于非线性模型。

梯度下降(Gradient Descent)

梯度下降是一种迭代优化算法,用于调整模型的参数,使损失函数最小化。

原理
梯度下降的核心思想是通过迭代来更新模型参数,使损失函数逐渐减小。对于线性回归,梯度下降的损失函数是均方误差(Mean Squared Error),目标是最小化这个损失函数。

梯度下降的迭代过程如下:

  1. 初始化权重w。
  2. 计算损失函数J(w)关于权重 w w w的梯度
    ∇ J ( w ) \nabla J(w) J(w)
  3. 更新权重w,通常按照以下规则更新:
    w = w − α ∇ J ( w ) w = w - \alpha \nabla J(w) w=wαJ(w)
    ,其中α是学习率,控制每次更新的步长。
  4. 重复步骤2和3,直到满足停止条件(例如,达到最大迭代次数或损失函数收敛)。

梯度下降的关键是学习率α的选择,过大的学习率可能导致算法不收敛,过小的学习率可能导致收敛速度慢。

优点

  • 适用于大型数据集和高维特征,计算复杂度较低。
  • 可以用于各种不同类型的模型和损失函数,包括非线性模型。

缺点

  • 需要手动选择学习率和迭代次数,选择不当可能导致收敛问题或性能下降。
  • 对特征缩放和初始化敏感。

2. API

sklearn.linear_model.LinearRegression(fit_intercept=True)

  • 通过正规方程优化
  • fit_intercept:是否计算偏置
  • LinearRegression.coef_:回归系数
  • LinearRegression.intercept_:偏执

sklearn.linear_model.SGDRegressor(loss=“squared_loss”,fit_intercept=True,learning_rate=“invscaling”,eta0=0.01)

  • SGDRegressor类实现了随机梯度下降学习,它支持不同的loss函数和正则化惩罚项来拟合线性回归模型
  • loss:损失类型
    • loss=“squared_loss”:普通最小二乘法
  • fit_intercept:是否计算偏置
  • learning_rate:string,optional
    • 学习率填充
    • “constant”:eta=eta0
    • “optimal”:eta=1.0/(alpha*(t+t0))[default]
    • “invscaling”:eta=eta0/pow(t,power_t),power_t存在父类之中
    • 对于一个常数值的学习率来说,可以使用learning_rate=“constant”,并使用eta0来指定学习率
  • SGDRegressor.coef_:回归系数
  • SGDRegressor.intercept_:偏置

3. 波士顿房价预测

  • 实例数量:506,属性数量:13数值型或类别墅,帮助预测的属性
  • 属性信息:
    • CRIM城镇人均犯罪率
    • ZN占地面积超过2.5万平方英尺的住宅用地比例
    • INDUS城镇非零售业务地区的比例
    • CHAS查尔斯河虚拟变量(=1,如果土地在河边;否则是0)
    • NOX一氧化氮浓度(每1000万份)
    • RM平均每居民房数
    • AGE在1940年之前建成的所有者占用单位的比例
    • DIS与五个波士顿就业中心的加权距离
    • RAD辐射状公路的可达性指数
    • TAX每10000美元的全额物业税率
    • PTRATIO城镇师生比例
    • B 1000(Bk-0.63)^2其中Bk是城镇中的黑人比例
    • LSTAT人口中地位较低人群的百分数
    • MEDV以1000美元计算的自由住房的中位数
  • 缺失属性值:无

流程:

  • 获取数据集
  • 划分数据集
  • 特征工程:无量纲化处理–标准化
  • 预估器流程,fit()–>模型:coef_,intercept_
  • 模型评估
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LinearRegressiondef linear_demo():"""正规方程的方法对波士顿房价进行预测:return:"""# 1. 获取数据boston = load_boston()# 2. 划分数据集x_train, x_test, y_train,y_test = train_test_split(boston.data, boston.target, random_state= 22)# 3. 标准化transfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.transform(x_test)# 4. 预估器estimator = LinearRegression()estimator.fit(x_train, y_train)# 5. 得出模型print("权重系数为:\n", estimator.coef_)print("偏置为:\n", estimator.intercept_)# 6. 模型评估y_predict = estimator.predict(x_test)print("y_predict:\n", y_predict)print("直接对比真实值和预测值:\n", y_test == y_predict)score = estimator.score(x_test, y_test)print("准确率为:\n", score)
from sklearn.datasets import load_boston
from sklearn.model_selection import train_test_split
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import SGDRegressordef linear_demo():"""梯度下降的方法对波士顿房价进行预测:return:"""# 1. 获取数据boston = load_boston()# 2. 划分数据集x_train, x_test, y_train,y_test = train_test_split(boston.data, boston.target, random_state= 22)# 3. 标准化transfer = StandardScaler()x_train = transfer.fit_transform(x_train)x_test = transfer.transform(x_test)# 4. 预估器estimator = SGDRegressor()estimator.fit(x_train, y_train)# 5. 得出模型print("权重系数为:\n", estimator.coef_)print("偏置为:\n", estimator.intercept_)# 6. 模型评估y_predict = estimator.predict(x_test)print("y_predict:\n", y_predict)print("直接对比真实值和预测值:\n", y_test == y_predict)score = estimator.score(x_test, y_test)print("准确率为:\n", score)
http://www.yayakq.cn/news/628996/

相关文章:

  • 邯郸网站建设包括哪些微信群营销方案
  • 做网站需要考虑什么wordpress不显示中文图片不显示
  • 优秀设计师网站建设的网站百度搜不到
  • 做京东电脑端首页链接的网站在线代理软件
  • 网站开发支持上传gif连云港市海州区建设局网站
  • 沈阳正规制作网站公司做宣传网站大概多少钱
  • 电商平台网站运营方案网站动态背景欣赏
  • 网站结构优化建议一个网站建设需要什么
  • 一般网站海报做一张多久wordpress 置顶文章加图标
  • 学校网站建设板块分析小程序源码免费
  • pc 手机网站网站建设公司招聘
  • 电子商务网站预算个人网站建设挂载下载链接
  • 做学术论文的网站越秀金融大厦
  • 邢台网站制作哪里做湖州设计公司
  • 单位网站建设总结WordPress 短码转换
  • 天元建设集团怎么样seo排名第一的企业
  • 专业网站设计发展前景wordpress静态规则
  • 舟山高端网站建设娄底市建设网站
  • 石柱网站制作网页培训
  • 昆明移动网站建设dw网页制作论文
  • 网站开发的工作经验windows与wordpress
  • 厦门 网站设计腾讯云服务器如何建设网站
  • 设计一个官方网站推广广告网页制造基础课程
  • 惠州做网站建设做的网站每年都要收费吗
  • 烟台网站快速优化排名杭州旅游团购网站建设
  • 乐清网站制作推荐网站建设预算方案模板
  • 怎样做网站推销产品网站建设的内容要怎么写
  • 企业网站网络营销上海平台推广的公司
  • 自己做网站要服务器吗响水做网站需要多少钱
  • zedu小语种网站建设陕西科技网站建设