损失函数

Keras神经网络的学习与使用(2)

爱⌒轻易说出口 提交于 2019-11-28 10:35:54
Keras中函数与优化器的学习 激活函数 Sigmoid函数 防止梯度弥散现象的发生 Softmax激活函数 ReLU函数 Keras激活函数的使用 优化器 SGD优化器 学习率 Adadelta优化器 损失函数 均方误差 交叉熵损失函数 激活函数 机器学习模型的学习过程就是一个不断地通过数据集来修正自身数学模型中参数的过程。 引入激活函数可以增加神经网络模型的 非线性 ,以便增强对样本非线性关系的拟合能力。如果没有激活函数,那么神经网络的每一层都只相当于矩阵相乘,即便叠加了若干层,也只相当于将这些矩阵连续相乘而已。 激活函数有很多,例如ReLU、Sigmoid、tanh、elu等。 Sigmoid函数 Sigmoid激活函数是一个非线性函数,它的定义域可以是全体实数,而值域却是(0, 1)。也就是说,使用Sigmoid函数通常用在回归预测和二分类(即按照是否大于0.5进行分类)模型的输出层中。 Sigmoid函数的公式如下: S ( x ) = 1 1 + e − x S(x) = \frac{1}{1+e^{-x}} S ( x ) = 1 + e − x 1 ​ 该函数在python下画图 import numpy as np from math import * import matplotlib . pyplot as plt x = np . arange ( - 10

目标检测算法之YOLOv2损失函数详解

自作多情 提交于 2019-11-28 10:07:46
前言 前面的YOLOv2推文详细讲解了YOLOv2的算法原理,但官方论文没有像YOLOv1那样提供YOLOv2的损失函数,难怪Ng说YOLO是目标检测中最难懂的算法。今天我们尝试结合DarkNet的源码来分析YOLOv2的损失函数。 关键点回顾 直接位置预测 YOLOv2借鉴RPN网络使用Anchor boxes来预测边界框相对于先验框的offsets。边界框的实际中心位置 ( x , y ) (x,y) ( x , y ) 需要利用预测的坐标偏移值 ( t x , t y ) (t_x,t_y) ( t x ​ , t y ​ ) ,先验框的尺度 ( w a , h a ) (w_a,h_a) ( w a ​ , h a ​ ) 以及中心坐标 ( x a , y a ) (x_a,y_a) ( x a ​ , y a ​ ) 来计算,这里的 x a x_a x a ​ 和 y a y_a y a ​ 也即是特征图每个位置的中心点: 上面的公式也是Faster-RCNN中预测边界框的方式。但上面的预测方式是没有约束的,预测的边界框容易向任何方向偏移,例如当 t x = 1 t_x=1 t x ​ = 1 时边界框将向右偏移Anchor的一个宽度大小,导致每个位置预测的边界框可以落在图片的任意位置,这就导致模型训练的不稳定性,在训练的时候要花很长时间才可以得到正确的offsets。以

机器学习简介

我是研究僧i 提交于 2019-11-28 09:41:56
主要内容 • 机器学习的概念 • 机器学习主要分类 • 监督 学习 三要素 • 监督学习模型评估策略 • 监督学习模型求解算法 一、机器学习的概念 • 机器学习 是什么 • 机器学习的开端 • 机器学习的定义 • 机器学习的过程 • 机器学习示例 机器学习是什么 • 什么是学习 – 从人的学习说起 – 学习理论 ;从实践经验中 总结 – 在理论上推导;在实践中检验 – 通过各种手段获取知识或技能的过程 • 机器怎么学习? – 处理某个特定的任务,以大量的“经验”为基础 – 对任务完成的好坏,给予一定的评判标准 – 通过分析经验数据,任务完成得更好了 机器学习的定义 • 机器学习 (Machine Learning, ML) 主要研究 计算机系统 对于特定任务的性能, 逐步 进行 改善的算法和统计模型 。 • 通过输入海量训练数据对模型进行训练,使模型掌握数据所蕴含的潜在规律,进而对新输入的数据进行准确的分类或预测 。 • 是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸优化、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 机器学习的过程 二 、机器学习的分类 • 机器学习的主要分类 • 无监督学习 • 无监督学习应用 • 监督学习 • 监督学习应用 机器学习主要分类 • 有监督学习

机器学习概述

匆匆过客 提交于 2019-11-28 09:41:36
机器学习概述 @(机器学习) 什么是机器学习? 机器学习主要是研究如何使计算机从给定的数据中学习规律,即从观测数据(样本)中寻找规律,并利用学习到的规律(模型)对位置或无法观测的数据进行预测。 机器学习基本概念 1、机器学习算法类型   根据训练数据提供的信息以及反馈方式的不同,可以分为: * 有监督学习(Supervised Learning):每组训练数据都有一个明确的标签和结果,利用这些已知的数据来学习模型的参数,使得模型预测的目标标签和真实标签尽可能接近。涉及的应用:预测房屋的价格,股票的涨停,垃圾邮件检测。神经网络也是一种监督学习的方式。常见算法有逻辑回归(Logistic Regression)和反向传递神经网络(Back Propagation Neural Network)。根据目标标签的类型不同,又可以分为: * 回归 (Regression)问题:目标标签y是连续值(实数或连续整数),f(x)的输出也是连续值。 * 分类 (Classification)问题:目标标签y是离散的类别(符号)。在此问题中,通过学习得到的决策函数也叫 分类器 。 无监督学习(Unsupervised Learning):学习的数据不包含目标标签,需要学习算法自动学习到一些有价值的信息。一个典型的问题就是 聚类 ,常见算法包括Apriori算法以及k-Means算法。 半监督学习

3.梯度下降法

对着背影说爱祢 提交于 2019-11-28 07:10:03
(一)什么是梯度下降法 梯度下降法 和之前介绍的k近邻算法和线性回归法不同,梯度下降法不是一个机器学习算法。它既不能解决分类问题也不能解决回归问题,那梯度下降是什么呢?以及它的作用又是什么呢? 其实,梯度下降法是一种基于搜索的最优化方法。 作用就是最小化一个损失函数,或者最大化一个效用函数,当然最大化一个效用函数就不是梯度下降了,而是梯度上升,但是本质都是一样的。 为什么会有梯度下降 我们在线性回归中,我们可以求出最小化一个函数所对应的参数的解。但是后面我们会看到,很多算法我们是没办法直接求到解的。那么基于这样的模型,我们就需要使用搜索的策略,来找到这个最优解。那么梯度下降法就是在机器学习领域,最小化损失函数的一个最常用的方法。 图解梯度下降 图中描述了损失函数J和参数θ之间的变化关系,图像上每一个点都会对应一个切线,或者说是导数。由于我们这里是一维的,所以就用导数来描述了,如果是多维的,那么就要对每一个维度上进行求导,组合起来就叫做梯度。 我们发现当蓝色的点在左边的时候,那么随着θ的减小,J对应的取值就会变大。θ增大,J对应的取值就会减少。而我们的目的,是希望找到一个合适的θ,使得J能取到最小值。首先我们要知道,梯度(这里是导数)代表方向,代表J增大的方向,所以我们要沿着梯度的反方向(所以才叫梯度下降啊,如果是梯度上升,那么这里的函数就是效用函数),才能找到一个最小值

传统推荐算法(五)LR+GBDT(1)剑指GBDT

大城市里の小女人 提交于 2019-11-28 05:55:27
文章目录 写在前面 1. GBM 1.1 从参数空间到函数空间: 1.2 从非参估计到参数估计 1.3 泰勒展开近似 2. GBM的基学习器 2.1 基学习器选择 2.2 CART回归树 3. GBDT之回归 4. GBDT之分类 4.1 二类逻辑回归和分类 4.2 多类逻辑回归和分类 5. 反思总结 5.1 样本权重调整 5.2 GBDT优缺点 6. GBDT资料推荐 参考 公众号 写在前面 学习GBDT的时候,被网上的几篇文章搞晕了,就去看了下GBDT的论文,整理了一些思路,结合参考中的一些内容,整理了这篇文章。本文将循序渐进,从GB,DT讲到GBDT,细致分析下GBDT的原理。本人才疏学浅,有些地方可能理解得不对,欢迎指出错误。学习过程中,薛大佬的这篇文章给了我很多启发:http://xtf615.com/paper/GBM.html。他本人也很热心地帮我解答疑问,在此特别感谢。 机器学习中的 Boosting 算法族有两大类,一类是 weight_boosting,其中以 adaboost 为主要代表,另一类是 gradient_boosting,其中以 gbdt 为主要代表[1]。GBDT是机器学习竞赛中常用的一种算法,据统计,Kaggle比赛中50%以上的冠军方案都是基于GBDT算法[2]。有人称之为机器学习TOP3算法。 1999年,Jerome Harold

yolov1-yolov3原理

断了今生、忘了曾经 提交于 2019-11-28 01:26:09
YOLOv3原理 YOLO发展概述 2015 年,R-CNN 横空出世,目标检测 DL 世代大幕拉开。 各路豪杰快速迭代,陆续有了 SPP,fast,faster 版本,至 R-FCN,速度与精度齐飞,区域推荐类网络大放异彩。 奈何,未达实时检测之,难获工业应用之青睐。 此时,凭速度之长,网格类检测异军突起,先有 YOLO,继而 SSD,更是摘实时检测之桂冠,与区域推荐类二分天下。然却时遭世人诟病。 遂有 JR 一鼓作气,并 coco,推 v2,增加输出类别,成就 9000。此后一年,作者隐遁江湖,逍遥 twitter。偶获灵感,终推 v3,横扫武林! YOLO不断吸收同化对手,进化自己,提升战斗力:YOLOv1 吸收了 SSD 的长处(加了 BN 层,扩大输入维度,使用了 Anchor,训练的时候数据增强),进化到了 YOLOv2; 吸收 DSSD 和 FPN 的长处,仿 ResNet 的 Darknet-53,仿 SqueezeNet 的纵横交叉网络,又进化到 YOLO 第三形态。 但是,我相信这一定不是最终形态。让我们拭目以待吧! YOLO v1~v3的设计历程 Yolov1 这是继RCNN,fast-RCNN和faster-RCNN之后,rbg(RossGirshick)针对DL目标检测速度问题提出的另外一种框架。YOLO V1其增强版本GPU中能跑45fps

cs231N_课程笔记 (转)

本秂侑毒 提交于 2019-11-28 00:03:14
本文转载自:https://zhuanlan.zhihu.com/p/21560667?refer=intelligentunit 译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Neural Nets notes 2,课程教师Andrej Karpathy授权翻译。本篇教程由杜客翻译完成,堃堃进行校对修改。译文含公式和代码,建议PC端阅读。 原文如下 内容列表: 设置数据和模型 数据预处理 权重初始化 批量归一化(Batch Normalization) 正则化(L2/L1/Maxnorm/Dropout) 损失函数 小结 设置数据和模型 在上一节中介绍了神经元的模型,它在计算内积后进行非线性激活函数计算,神经网络将这些神经元组织成各个层。这些做法共同定义了评分函数(score function)的新形式,该形式是从前面线性分类章节中的简单线性映射发展而来的。具体来说,神经网络就是进行了一系列的线性映射与非线性激活函数交织的运算。本节将讨论更多的算法设计选项,比如数据预处理,权重初始化和损失函数。 数据预处理 关于数据预处理我们有3个常用的符号,数据矩阵X,假设其尺寸是[N x D](N是数据样本的数量,D是数据的维度)。 均值减法(Mean subtraction)是预处理最常用的形式。它对数据中每个独立特征减去平均值

机器学习——SVM

不打扰是莪最后的温柔 提交于 2019-11-27 22:03:05
文章目录 SVM介绍 SVM理论 线性可分性(linear separability) 损失函数(loss function) 经验风险(empirical risk)与结构风险(structural risk) 核方法 常见的核函数 核函数与松弛变量 问题描述 解答与分析 SVM算法步骤 问题 解答与分析 其他扩展问题 其他参考 SVM(Support Vector Machine, 支持向量机)是众多监督式学习方法中十分出色的一种,几乎所有的讲述经典机器学习方法的教材都会介绍。 SVM介绍 支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类(binary classification)的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)。 SVM使用铰链损失函数(hinge loss)计算经验风险(empirical risk)并在求解系统中加入了正则化项以优化结构风险(structural risk),是一个具有稀疏性和稳健性的分类器。SVM可以通过核方法(kernel method)进行非线性分类,是常见的核学习(kernel learning)方法之一