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

公众号开发是不是网站开发公司网站建设分录

公众号开发是不是网站开发,公司网站建设分录,营销推广策略,网站建设多少价格“学习”是指从训练数据中自动获取最优权重参数的过程。引入损失函数指标#xff0c;学习的目的是以该损失函数为基准#xff0c;找出尽可能小的损失函数的值。 1、从数据中学习 从数据中学习规律#xff0c;模式#xff0c;避免人为介入。 先从图像中提取特征量#x…“学习”是指从训练数据中自动获取最优权重参数的过程。引入损失函数指标学习的目的是以该损失函数为基准找出尽可能小的损失函数的值。 1、从数据中学习 从数据中学习规律模式避免人为介入。 先从图像中提取特征量再用机器学习技术学习这些特征量的模式。 常用的特征量包括SIFT、SURF和HOG等使用特征量将图像数据转换为向量然后对转换后的向量使用SVM、KNN等分类器进行学习。 这种方法也需要人工设计特征量。 深度学习是将图片输入由算法提取特征量。 图1 人工设计规律到从数据学习 端对端end-to-end从原始数据输入中获取目标结果输出的过程。 1.1 训练数据和测试数据 为了提高模型的泛化能力必须将数据划分为训练集和测试集。 泛化能力处理未被观察过的数据的能力。 获得泛化能力是机器学习的最终目标。当然对某个数据集过度拟合就会出现过拟合。 避免过拟合也是机器学习的重要课题。 2、损失函数loss function) 神经网络的学习通过某个指标表示现在的状态然后以这个指标为基准寻找最优权重参数。神经网络学习中所用的这个指标为损失函数。一般用均方误差和交叉熵误差。 损失函数表示神经网络性能的“恶劣程度”的指标。即网络对数据再多大程度上不拟合。 2.1 均方误差mean squared error) (1-1) 其中 y为神经网络的输出t为监督数据k为维数。 比如10个元素 y[0.1,0.05,0.6,0,0.05,0.1,0,0.1,0,0] t[0,0,1,0,0,0,0,0,0,0] y输出为概率即0的概率为0.11的概率为0.052的概率为0.6等 t的表示方法称为one-hot表示。即只有正确标签为1其余标签都为0的表示方法。 实现方法 def mean_squared_error(y,t):returen 0.5*np.sum((y-t)**2) 例1: t[0,0,1,0,0,0,0,0,0,0] y[0.1,0.05,0.6,0,0.05,0.1,0,0.1,0,0] mean_squared_error(np.array(y),np.array(t)) t标签为2y2的概率也是最高。均值误差97.5%。 例2正确标签为2预测为7 t[0,0,1,0,0,0,0,0,0,0] y[0.1,0.05,0.1,0,0.05,0.1,0,0.6,0,0] mean_squared_error(np.array(y),np.array(t)) 计算结果59.75%。 例1的误差较小即输出结果与监督数据更加吻合。 2.2 交叉熵误差(cross entropy error) (1-2) 交叉熵误差的值是由正确解标签对应的输出结果决定。 代码实现 def cross_entropy_error(y,t):delta1e-7return -np.sum(t*np.log(ydelta)) 添加一个delta微小值可以防止负无限大的发生。 重复上面的例子 t[0,0,1,0,0,0,0,0,0,0] y[0.1,0.05,0.6,0,0.05,0.1,0,0.1,0,0] cross_entropy_error(np.array(y),np.array(t)) 输出为0.51. t[0,0,1,0,0,0,0,0,0,0] y[0.1,0.05,0.1,0,0.05,0.1,0,0.6,0,0] cross_entropy_error(np.array(y),np.array(t)) 输出为2.3. 2.3 mini-batch学习 前面的介绍中只考虑是针对单个数据的损失函数。如果需要对N个数据进行计算就要对前面的公式1-1和1-2除以N即求数据的“平均损失函数”。但是如果数据量达到成百上千万计算平均值计算量太大。所以从数据中选出一批数据mini-batch小批量然后对mini-batch学习。这种方法称为mini-batch学习。 mini-batch版交叉熵误差实现代码 def cross_entropy_error(y,t):if y.dim1:tt.reshape(1,t.size)yy.reshape(1,y.size)batch_sizey.shape[0]return -np.sum(t*np.log(y1e-7))/batch_size 当监督数据为非ont-hot表示时代码如下 def cross_entropy_error(y,t):if y.ndim1:tt.reshape(1,t.size)yy.reshape(1,y.size)batch_sizey.shape[0]return -np.sum(np.log(y[np.arange(batch_size),1]1e-7))/batch_size 2.4 为什么要设定损失函数 既然目标是提高精度为什么不把精度作为指标 1、因为要去求最小值需要求函数的导数。不用精度作为指标是因为精度导数很多为0导致参数无法更新。 2、精度微调参数精度变化很小有变化也会变成不连续、离散的值而损失函数可以发生连续性的变化。 神经网络不使用阶跃函数作为激活函数也是同样的道理。 3、数值微分 3.1 梯度法 机器学习的任务是再学习时寻找最优参数神经网络也在学习时找到最优参数权重和偏置。即损失函数取最小值时的参数。 利用梯度来寻找函数最小值的方法就是梯度法。 梯度表示的是各点处的函数值减小最多的方向。复杂函数中梯度指示的方向基本上都不是函数值最小处但是沿着它的方向能够最大限度地减小函数的值。所以寻找函数最小值要以梯度信息为线索决定前进的方向。 通过不断沿梯度方向前进逐渐减小函数值的过程就是梯度法。 寻找最小值的梯度法称为梯度下降法gradient descent method)寻找最大值的梯度法称为梯度上升法gradient ascent method)。深度学习中梯度法主要是指梯度下降法。 1-3 表示更新量称为学习率。 梯度下降法实现代码 #梯度 def numerical_gradient(f,x):h1e-4gradnp.zeros_like(x)for idx in range(x.size):tmp_valx[idx]x[idx]tmp_valhfxh1f(x)x[idx]tmp_val-hfxh2f(x)grad[idx](fxh1-fxh2)/(2*h)x[idx]tmp_valreturn grad#梯度下降法 #lr学习率 #init_x初始值 #step_num:重复次数 def gradient_descent(f,init_,lr0.01,step_num100):xinit_xfor i in range(step_num):gradnumerical_gradient(f,x)x-lr*gradreturn x 设定合适的学习率很重要。学习率称为超参数。超参数由人工设定。 4、神经网络的学习步骤 4.1 设置 mini-batch 由于mini-batach是随机选取的又称为随机梯度下降法(stochastic gradient descent,SGD)。 4.2 计算梯度 4.3 更新参数 4.4 重复4.1~4.3
http://www.pierceye.com/news/305645/

相关文章:

  • 小贷做网站深圳手机app软件开发
  • 上海平台网站建设费用页面模板不存在怎么办
  • 西安网站排名公司上海工商网查询官网
  • 网站建设协调机制建网站 可以看到访客吗
  • 学生做网站的工作室南和住房和城乡建设局网站
  • 潍坊网站制作案例广东十大网站建设排名
  • 网站建设市场调研框架网站建设流程步骤怎么样
  • 喜茶品牌策划全案案例seo技术
  • 简速做网站中国企业网站建设案例
  • 做网站不给源码莱州网站建设包年多少钱
  • 好玩有趣的网站贵州省城乡建设厅网站材料价
  • 投资公司网站设计上海自动seo
  • 网络营销导向网站建设的基础是什么创新驱动发展战略的内容
  • 银狐鑫诺科技 网站建设深圳画册设计价格
  • 邵阳网站建设推广优化游戏性能的软件
  • wp做网站难吗销售产品单页面网站模板
  • 网站子域名 更换网站开发什么方式
  • 学做面食最好的网站设计公司logo大全
  • wordpress建站入门手机网站跳转怎么办
  • 好网站开发培训wordpress是否免费
  • 建设国际互联网网站网站建设制作流程
  • 开发一个网站做爬虫手机网站建设视频
  • 网站搜索功能模块公众号开发菜单
  • 公司想做个自己的网站怎么做网络营销与管理专业
  • 网站设计中国内优秀企业网站欣赏深圳商城网站设计公司
  • 泌阳县住房和城乡建设局网站wordpress注册去掉电子邮件
  • 电商网站设计目的活动策划怎么写
  • 做网站有限公司智慧团建官方网站
  • 南京建设网站公司哪家好科技创新论文800字
  • 网站app的区别是什么深圳沙井做网站公司