目标函数

动手学深度学习(MXNet)4:优化算法

你。 提交于 2019-11-29 06:30:16
优化算法通常只考虑最小化目标函数。其实,任何最大化问题都可以很容易地转化为最小化问题,只需令目标函数的相反数为新的目标函数即可。 由于优化算法的目标函数通常是一个基于训练数据集的损失函数,优化的目标在于降低训练误差。而深度学习的目标在于降低泛化误差。为了降低泛化误差,除了使用优化算法降低训练误差以外,还需要注意应对过拟合。 深度学习中绝大多数目标函数都很复杂。因此,很多优化问题并不存在解析解,而需要使用基于数值方法的优化算法找到近似解,即数值解。本书中讨论的优化算法都是这类基于数值方法的算法。为了求得最小化目标函数的数值解,我们将通过优化算法有限次迭代模型参数来尽可能降低损失函数的值。 两个挑战 ,即局部最小值和鞍点。 梯度下降和随机梯度下降 def train_2d(trainer): # 本函数将保存在d2lzh包中方便以后使用 x1, x2, s1, s2 = -5, -2, 0, 0 # s1和s2是自变量状态,本章后续几节会使用 results = [(x1, x2)] for i in range(20): x1, x2, s1, s2 = trainer(x1, x2, s1, s2) results.append((x1, x2)) print('epoch %d, x1 %f, x2 %f' % (i + 1, x1, x2)) return results

XGBoost学习总结(二)

别等时光非礼了梦想. 提交于 2019-11-27 08:33:23
1_XGBoost原理 \[ \begin{align} X\!G\!Boost&=eXtreme+GBDT\\ &=eXtreme+(Gradient+BDT) \\ &=eXtreme+Gradient+(Boosting+DecisionTree) \end{align} \] \[Boosting \to BDT \to GBDT \to X\!G\!Boost\]   * 提升方法boosting + 决策树DecisionTree --> BDT提升决策树   * BDT + Gradient梯度拟合残差 --> GBDT梯度提升决策树   * GBDT + eXtreme工程优化 --> XGBoost 决策树的表示形式: (1)树形结构,由根结点到叶结点 (2)规则集表示方法,if--else--- (3)回归树 在坐标系中画出回归决策树 (4)用公式表示 决策树的特征选择方法 决策树的剪枝方法 1_1_提升方法(Boosting)   提升方法使用 加法模型 和 前向分步算法 。   加法模型:要求模型要具备可加性(如:决策树)     加法模型 \[f\left(x\right)=\sum_{m=1}^M\beta_m b\left(x;\gamma_m\right) \tag{1.1}\] 其中, \(b\left(x;\gamma_m\right)\)

5.6算法-分类-svm-支持向量机

血红的双手。 提交于 2019-11-26 22:37:51
https://blog.csdn.net/u011630575/article/details/78916747 SVM SVM:Support Vector Machine 中文名:支持向量机 学习模型 有监督学习:需要事先对数据打上分类标签,这样机器就知道数据属于哪一类。 无监督学习:数据没有打上分类标签,有可能因为不具备先验知识,或打标签的成本很高,需要机器代替我们部分完成改工作,比如将数据进行聚类,方便后人工对每个类进行分析。 SVM 是有监督的学习模型:可以进行模式识别、分类以及回归分析。 SVM工作原理 示例: 桌面上有两种颜色混乱的小球,我们将这两种小球来区分开,我们猛拍桌子小球会腾起,在腾空的那一刹那,会出现一个水平切面,将两种颜色的球分开来。 原因: 二维平面无法找出一条直线来区分小球颜色,但是在三位空间。我们可以找到一个平面来区分小球颜色,该平面我们叫做超平面。 SVM计算过程: 就是帮我们找到一个超平面的过程,该超平面就是 SVM分类器。 分类间隔 我们在示例中,会找到一个决策面来将小球颜色分离,在保证决策面C不变,且分类不产生错误的情况下,我们可以移动决策面,来产生两个极限位置:决策面A和决策面B,分界线C就是最优决策面,极限位置到最优决策面的距离就是 分类间隔 。 我们可以转动最优决策面,会发现存在多个最优决策面,它们都能把数据集正确分开

转:退火算法 Simulate Anneal Arithmetic (SAA,模拟退火算法)

|▌冷眼眸甩不掉的悲伤 提交于 2019-11-26 19:26:01
早些天被问到退火算法,了解了一下,做个记录。 退火算法 Simulate Anneal Arithmetic (SAA,模拟退火算法)   模拟退火算法   模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随温升变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据Metropolis准则,粒子在温度T时趋于平衡的概率为e-ΔE/(kT),其中E为温度T时的内能,ΔE为其改变量,k为Boltzmann常数。用固体退火模拟组合优化问题,将内能E模拟为目标函数值f,温度T演化成控制参数t,即得到解组合优化问题的模拟退火算法:由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→接受或舍弃”的迭代,并逐步衰减t值,算法终止时的当前解即为所得近似最优解,这是基于蒙特卡罗迭代求解法的一种启发式随机搜索过程。退火过程由冷却进度表(Cooling Schedule)控制,包括控制参数的初值t及其衰减因子Δt、每个t值时的迭代次数L和停止条件S。   模拟退火算法起源于物理退火。   ??物理退火过程:   (1) 加温过程   (2) 等温过程   (3) 冷却过程   1 . 模拟退火算法的模型   模拟退火算法可以分解为解空间、目标函数和初始解三部分。   模拟退火的基本思想:

机器学习系列 | 线性回归模型(简单线性回归、局部线性回归、非线性关系)

爷,独闯天下 提交于 2019-11-26 15:50:54
1.什么是线性回归? 线性回归是试图在一堆数据中训练得到自变量x和因变量y中一组线性关系,如 y = w x + b y=wx+b y = w x + b 。例如把人脚底板长度作为自变量,身高作为因变量,那么在这两种数据之间就可以做一个简单线性回归,可以得到脚底板长度和身高的关系式。 维基百科:线性回归 在统计学中,线性回归是利用称为线性回归方程的最小二乘函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。 周志华:机器学习 基于均方误差最小化来进行模型求解的方法称为“最小二乘法”,线性回归中最小二乘法就是试图找到一条直线,使所有样本到直线上的欧氏距离之和最小。 2. 线性回归的目标函数 要想求得这组线性关系,即求得相应的回归系数的值。那么先讲解一下线性回归的目标函数。 假设一堆数据中因变量为y,自变量为 x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x 1 ​ , x 2 ​ , . . . , x n ​ ,对其进行线性回归,求得结果会如下所示: y = w 0 + w 1 x 1 + w 2 x 2 + . . . + w n x n = ∑ i = 0 n w i x i = w T x y=w_0+w_1x_1+w_2x_2+...+w_nx_n=\sum_{i=0}^nw_ix_i=w^Tx y = w 0 ​ + w 1 ​