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

江门seo网站推广跳动爱心代码html教程

江门seo网站推广,跳动爱心代码html教程,动态ip可以做网站吗,华为品牌策划方案模型之母#xff1a;简单线性回归的代码实现关于作者#xff1a;饼干同学#xff0c;某人工智能公司交付开发工程师/建模科学家。专注于AI工程化及场景落地#xff0c;希望和大家分享成长中的专业知识与思考感悟。0x00 前言 在《模型之母#xff1a;简单线性回归最小… 模型之母简单线性回归的代码实现关于作者饼干同学某人工智能公司交付开发工程师/建模科学家。专注于AI工程化及场景落地希望和大家分享成长中的专业知识与思考感悟。0x00 前言 在《模型之母简单线性回归最小二乘法》中我们从数学的角度理解了简单线性回归并且推导了最小二乘法。本文内容完全承接于上一篇我们来以代码的方式实现简单线性回归。话不多说码起来0x01 简单线性回归算法的实现 首先我们自己构造一组数据然后画图import numpy as npimport matplotlib.pyplot as pltx np.array([1.,2.,3.,4.,5.])y np.array([1.,3.,2.,3.,5,])plt.scatter(x,y)plt.axis([0,6,0,6])plt.show()下面我们就可以根据样本真实值来进行预测。实际上我们是假设线性关系为 这根直线然后再根据最小二乘法算a、b的值。我们还可以假设为二次函数。可以通过最小二乘法算出a、b、c实际上同一组数据选择不同的f(x)即模型通过最小二乘法可以得到不一样的拟合曲线。不同的数据更可以选择不同的函数通过最小二乘法可以得到不一样的拟合曲线。下面让我们回到简单线性回归。我们直接假设是一条直线模型是根据最小二乘法推导求出a、b的表达式下面我们用代码计算a、b# 首先要计算x和y的均值x_mean np.mean(x)y_mean np.mean(y)# a的分子num、分母dnum 0.0d 0.0for x_i,y_i in zip(x,y): # zip函数打包成[(x_i,y_i)...]的形式 num num (x_i - x_mean) * (y_i - y_mean) d d (x_i - x_mean) ** 2a num / db y_mean - a * x_mean在求出a、b之后可以计算出y的预测值首先绘制模型直线y_hat a * x bplt.scatter(x,y) # 绘制散点图plt.plot(x,y_hat,colorr) # 绘制直线plt.axis([0,6,0,6])plt.show()然后进行预测x_predict 6y_predict a * x_predict bprint(y_predict)5.20x02 向量化运算 我们注意到在计算参数a时# a的分子num、分母dnum 0.0d 0.0for x_i,y_i in zip(x,y): # zip函数打包成[(x_i,y_i)...]的形式 num num (x_i - x_mean) * (y_i - y_mean) d d (x_i - x_mean) ** 2a num / d我们发现有这样一个步骤向量w和向量v每个向量的对应项相乘再相加。其实这就是两个向量“点乘”这样我们就可以使用numpy中的dot运算非常快速地进行向量化运算。总的来说向量化是非常常用的加速计算的方式特别适合深度学习等需要训练大数据的领域。对于 y wx b,  若 w, x都是向量那么可以用两种方式来计算第一是for循环y 0for i in range(n): y w[i]*x[i] y b另一种方法就是用向量化的方式实现y np.dot(w,x) b二者计算速度相差几百倍测试结果如下import numpy as npimport timea np.random.rand(1000000)b np.random.rand(1000000)tic time.time()c np.dot(a, b)toc time.time()print(c: %f % c)print(vectorized version: str(1000*(toc-tic)) ms)c 0tic time.time()for i in range(1000000): c a[i] * b[i]toc time.time()print(c: %f % c)print(for loop: str(1000*(toc-tic)) ms)运行结果c: 249981.256724vectorized version:0.998973846436msc: 249981.256724for loop:276.798963547ms对于独立的样本用for循环串行计算的效率远远低于向量化后用矩阵方式并行计算的效率。因此只要有其他可能就不要使用显示for循环。0x03 自实现的工程文件 3.1 代码还记得我们之前的工程文件吗创建一个SimpleLinearRegression.py实现自己的工程文件并调用import numpy as npclass SimpleLinearRegression: def __init__(self): 模型初始化函数 self.a_ None self.b_ None def fit(self, x_train, y_train): 根据训练数据集x_train,y_train训练模型 assert x_train.ndim 1, \ 简单线性回归模型仅能够处理一维特征向量 assert len(x_train) len(y_train), \ 特征向量的长度和标签的长度相同 x_mean np.mean(x_train) y_mean np.mean(y_train) num (x_train - x_mean).dot(y_train - y_mean) # 分子 d (x_train - x_mean).dot(x_train - x_mean) # 分母 self.a_ num / d self.b_ y_mean - self.a_ * x_mean return self def predict(self, x_predict): 给定待预测数据集x_predict返回表示x_predict的结果向量 assert x_predict.ndim 1, \ 简单线性回归模型仅能够处理一维特征向量 assert self.a_ is not None and self.b_ is not None, \ 先训练之后才能预测 return np.array([self._predict(x) for x in x_predict]) def _predict(self, x_single): 给定单个待预测数据x_single返回x_single的预测结果值 return self.a_ * x_single self.b_ def __repr__(self): 返回一个可以用来表示对象的可打印字符串 return SimpleLinearRegression()3.2 调用下面我们在jupyter中调用我们自己写的程序首先创建一组数据然后生成SimpleLinearRegression()的对象reg1然后调用一下from myAlgorithm.SimpleLinearRegression import SimpleLinearRegressionx np.array([1.,2.,3.,4.,5.])y np.array([1.,3.,2.,3.,5,])x_predict np.array([6])reg SimpleLinearRegression()reg.fit(x,y)输出SimpleLinearRegression()reg.predict(x_predict)reg.a_reg.a_输出array([5.2]) 0.8 0.39999999999999947y_hat reg.predict(x)plt.scatter(x,y)plt.plot(x,y_hat,colorr)plt.axis([0,6,0,6])plt.show()0xFF 总结 在本篇文章中我们实现了简单线性回归算法的代码并且使用了向量化运算事实证明向量化运算能够提高运算效率。同时我们发现只要数学公式推导清楚了实际写代码时没有太多难度的。那么我们思考一个问题在之前的kNN算法(分类问题)中使用分类准确度来评价算法的好坏那么回归问题中如何评价好坏呢热门文章直戳泪点数据从业者权威嘲讽指南AI研发工程师成长指南数据分析师做成了提数工程师该如何破局算法工程师应该具备哪些工程能力数据团队思考如何优雅地启动一个数据项目数据团队思考数据驱动业务比技术更重要的是思维的转变
http://www.pierceye.com/news/712230/

相关文章:

  • 网站退出率网易搜索引擎入口
  • 企业网站建设方讯长沙城乡建设网站
  • 手机网站建设优化软件做网站空间费用是什么意思
  • 网站透明效果工厂网站建设流程图
  • 崇安网站建设广州本地门户网站
  • 网站建设公司河南郑州wordpress 单栏
  • 盐城市城镇化建设投资集团网站深圳专业企业网站制作哪家好
  • 绵阳做网站哪家公司好青岛手工活外发加工网
  • 如何调用网站列表页河北建基官网
  • 灰系网站wordpress 谷歌收录
  • 怎么把网站关掉wordpress小白
  • 开发网站合作协议网站建设团购
  • 管理手机网站网站规划与建设重要性理解与体会
  • 小辰青岛网站建设自己怎么开网站
  • 天津市建设工程合同备案网站网站建设 开发 模板
  • 外贸网站建设公司报价jsp网站建设技术案例
  • 旅行社英文模板网站织梦 网站迁移
  • 北京网站开发不限年龄伊春建设银行网站
  • 通辽公司做网站网站常规seo优化步骤
  • 成都集团网站设计推荐夫唯seo系统培训
  • 服务器有了网站怎么做的零食进货渠道网
  • 网站建设的学习方法桔子建站
  • 公司网站开通长沙免费网站建站模板
  • 汕头手机建站模板建设工程合同司法解释一
  • 品牌网站建设基本流程中山外发加工网
  • 网站迁移教材xyz域名的网站有哪些
  • 茂名公司网站开发tp框架做视频网站
  • 专门做家教的网站优秀网站设计赏析
  • 美食网站的建设背景婚庆网站建设
  • 榆社网站建设销售新品牌如何推广