目标函数

机器人入门必看,三分钟掌握基础!

余生长醉 提交于 2020-04-07 12:18:07
作者简介:白朔天,前滴滴算法专家,中科院博士,拉勾教育专栏作者。本文选自专栏: 《机器学习入门21讲》 。 你好,我是白朔天,今天给大家分享到的,是机器学习的必备基础,也就是数学基础。本课时我们主要学习极值,以及如何通过梯度下降法求解极值。 毋庸置疑, 人工智能技术可以让机器帮助人类做出更正确的决策。 而在做决策的时刻,机器就必然会面对在多个决策之间进行抉择的情形。这个决策通常是在有某些限定条件下的选择取舍。 例如,小明在填写高考志愿时,需要在多所目标高校中选择最合适自己的那所。假设在这个过程中,小明的决策依据是学校综合实力和被录取可能性的求和。对于北大、北理工、北大青鸟,三所学校的综合实力排名是递减的关系;而对于小明而言,他被录取的可能性是递增的关系。因此, 在决策志愿时,就需要综合考虑这两个因素,以保证自己的考学利益最大化。 此时,这个问题就是一个最优化决策的数学问题。 本文选自专栏:《机器学习入门21讲》 这个例子非常简单,可能简单扫一眼,人们就能得到最优决策的结果。能够快速决策的一个重要原因是它的决策变量只有选择某个学校这一个。而对于更加复杂的最优化决策问题,假设其决策变量有成千上万个,而决策结果受这成千上万个变量的共同影响时, 人们作出最优决策将会变得非常困难。此时就是人工智能发挥作用的重要场景。 不管是简单还是复杂的最优化决策,其本质都是个数学问题

判断目标函数的凹凸性

大城市里の小女人 提交于 2020-04-05 22:25:06
1 梯度法 就是直接对目标函数进行计算,然后判断其是否凸。具体地,就是计算目标函数的一阶导数和二阶导数。然后作出判断。 凸函数的一阶充要条件 等号右边是对函数在x点的一阶近似。这个条件的意义是,对于函数在定义域的任意取值,函数的值都大于或者等于对函数在这点的一阶近似。用图来说明就是: 通过图可以很清楚地理解这个充要条件,但是,具体在应用中,我们不可能对每一个点都去计算函数的一阶导数吧,因此下面这个充要条件更加实用。 凸函数的二阶充要条件 很简单,如果一个函数的二阶导数大于等于零,那么这个函数就是凸函数。图就不上了,很好理解,函数的一阶导数具有递增性,那么函数本身就是凸函数。 通过暴力计算法,可以很快地判断函数是不是凸函数。凹函数同理。 2 结构分析法 有时候我们不必通过暴力计算,可以通过分析目标函数的结构,就能在一些情况下判断函数是否是凸函数。下面给出一些结论: 指数函数是凸函数; 对数函数是凹函数,然后负对数函数就是凸函数; 对于一个凸函数进行仿射变换,可以理解为线性变换,结果还是凸函数; 二次函数是凸函数(二次项系数为正); 高斯分布函数是凹函数; 多个凸函数的线性加权,如果权值是大于等于零的,那么整个加权结果函数是凸函数。 下面出一道题目:如何判断最大似然函数一定有最大值? 思路:最大似然函数是求最大值,那么函数必须是凹函数。就拿我们常用的对数似然函数

04-02 AdaBoost算法

℡╲_俬逩灬. 提交于 2020-03-03 10:11:48
文章目录 AdaBoost算法 AdaBoost算法学习目标 AdaBoost算法详解 Boosting算法回顾 AdaBoost算法 AdaBoost算法目标函数优化 AdaBoost算法流程 输入 输出 强分类器流程 强回归器流程 AdaBoost算法优缺点 优点 缺点 小结 AdaBoost算法   集成学习中弱学习器之间有强依赖关系的,称之为Boosting系列算法,而AdaBoost则是Boosting系列算法中最著名的算法之一。   AdaBoost算法强大之处在于既可以解决分类问题,又可以解决回归问题。 AdaBoost算法学习目标 AdaBoost算法目标函数优化 强分类器和强回归器流程 AdaBoost算法优缺点 AdaBoost算法详解 Boosting算法回顾   Boosting算法的流程是:首先训练处一个弱学习器,根据弱学习器的误差率更新训练样本的权重,然后基于调整权重后的训练集训练第二个弱学习器,直到弱学习器达到事先指定的数目T,停止算法。   对于Boosting算法的流程,可以看到如果我们解决以下4个问题,既可以得到完整的Boosting算法 弱学习器的误差率 训练样本的权重 w w w 更新方法 更新样本权重的方法 结合策略 AdaBoost算法   上面讲到了Boosting算法需要解决的4个问题

02-31 线性支持向量机

跟風遠走 提交于 2020-03-02 10:34:49
文章目录 线性支持向量机 线性支持向量机学习目标 线性支持向量机详解 硬件隔最大化和软间隔最大化 硬间隔最大化 软间隔最大化 线性支持向量机定义 软间隔最大化即目标函数的优化 支持向量 硬间隔最大化支持向量 软间隔最大化支持向量 合页损失函数 线性支持向量机流程 输入 输出 流程 线性支持向量机优缺点 优点 缺点 小结 线性支持向量机   在线性可分支持向量机中说到线性可分支持向量机有一个缺点是无法对异常点做处理,也正是因为这些异常点导致数据变得线性不可分或者会因为它的正好被判断为支持向量导致模型的泛化能力变差。 # 异常点导致数据线性不可分图例 import matplotlib . pyplot as plt from matplotlib . font_manager import FontProperties % matplotlib inline font = FontProperties ( fname = '/Library/Fonts/Heiti.ttc' ) x1 = [ 2 , 2.5 , 3.2 , 6.5 ] x11 = [ 1 , 4.5 , 5 , 6 ] x2 = [ 1.2 , 1.4 , 1.5 , 1.2 ] x22 = [ 1 , 1.5 , 1.3 , 1 ] plt . scatter ( x1 , x2 , s = 50 , color

D2L-pytorch版 Task07笔记

情到浓时终转凉″ 提交于 2020-02-27 10:45:59
优化算法进阶 1.Momentum 目标函数有关自变量的梯度代表了目标函数在自变量当前位置下降最快的方向。因此,梯度下降也叫作最陡下降(steepest descent)。在每次迭代中,梯度下降根据自变量当前位置,沿着当前位置的梯度更新自变量。然而,如果自变量的迭代方向仅仅取决于自变量当前位置,这可能会带来一些问题。对于noisy gradient,我们需要谨慎的选取学习率和batch size, 来控制梯度方差和收敛的结果。 g t = ∂ w 1 ∣ B t ∣ ∑ i ∈ B t f ( x i , w t − 1 ) = 1 ∣ B t ∣ ∑ i ∈ B t g i , t − 1 . \mathbf{g}_t = \partial_{\mathbf{w}} \frac{1}{|\mathcal{B}_t|} \sum_{i \in \mathcal{B}_t} f(\mathbf{x}_{i}, \mathbf{w}_{t-1}) = \frac{1}{|\mathcal{B}_t|} \sum_{i \in \mathcal{B}_t} \mathbf{g}_{i, t-1}. g t ​ = ∂ w ​ ∣ B t ​ ∣ 1 ​ i ∈ B t ​ ∑ ​ f ( x i ​ , w t − 1 ​ ) = ∣ B t ​ ∣ 1 ​ i ∈ B t ​ ∑ ​

02-12 Logistic(逻辑)回归

*爱你&永不变心* 提交于 2020-02-26 23:29:50
文章目录 逻辑回归 逻辑回归学习目标 逻辑回归引入 逻辑回归详解 线性回归与逻辑回归 二元逻辑回归的假设函数 让步比 Sigmoid函数图像 二元逻辑回归的目标函数 不同样本分类的代价 二元逻辑回归目标函数最大化 梯度上升法 线性回归和逻辑回归的参数更新 拟牛顿法 二元逻辑回归模型 二元逻辑回归的正则化 L1正则化 L2正则化 多元逻辑回归 OvR MvM 逻辑回归流程 输入 输出 流程 逻辑回归优缺点 优点 缺点 小结 逻辑回归   虽然逻辑回归的名字里有“回归”两个字,但是它并不是一个回归算法,事实上它是一个分类算法。 逻辑回归学习目标 二元逻辑回归的目标函数 最小化二元逻辑回归目标函数 二元逻辑回归的正则化 多元逻辑回归 逻辑回归的流程 逻辑回归的优缺点 逻辑回归引入 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1O9UxwXA-1582719512430)(…/新配图/恶搞图/06-09-操场2.jpg)]   曾经在感知机引入时我们讲过,操场上男生和女生由于受传统思想的影响,男生和女生分开站着,并且因为男生和女生散乱在操场上呈线性可分的状态,因此我们总可以通过感知机算法找到一条直线把男生和女生分开,并且最终可以得到感知机模型为 f ( x ) = s i g n ( ( w ∗ ) T x ) f(x)=sign((w^*)^Tx) f

02-01 感知机

删除回忆录丶 提交于 2020-02-26 02:09:14
文章目录 感知机 感知机学习目标 感知机引入 线性可分和线性不可分 感知机详解 感知机模型 感知机损失函数 感知机目标函数 感知机最小化目标函数原始形式 感知机最小化目标函数对偶形式 感知机算法的收敛性 感知机流程 输入 输出 原始形式流程 对偶形式流程 感知机优缺点 优点 缺点 小结 感知机   感知机在1957年被提出,算是最古老的分类方法之一。   虽然感知机泛化能力不及其他的分类模型,但是如果能够对感知机的原理有一定的认识,在之后学习支持向量机、神经网络等机器学习算法的时候会轻松很多。 感知机学习目标 感知机模型 感知机的损失函数和目标函数 感知机原始形式和对偶形式 感知机流程 感知机优缺点 感知机引入 线性可分和线性不可分   每逢下午有体育课,总会有男孩和女孩在学校的操场上玩耍。   假设由于传统思想的影响,男孩总会和男孩一起打打篮球,女孩总会和女孩一起踢毽子、跳跳绳,如下图所示。 # 感知机引入图例 import numpy as np import matplotlib . pyplot as plt from matplotlib . font_manager import FontProperties % matplotlib inline font = FontProperties ( fname = '/Library/Fonts/Heiti.ttc' )

02-04 线性回归

大憨熊 提交于 2020-02-25 21:30:00
文章目录 线性回归 线性回归学习目标 线性回归引入 线性回归详解 线性模型 一元线性回归 一元线性回归的目标函数 均方误差最小化——最小二乘法 多元线性回归 均方误差最小化——最小二乘法 均方误差最小化——牛顿法 均方误差最小化——拟牛顿法 多项式回归 对数线性回归 局部加权线性回归 正则化 L1正则化 L2正则化 弹性网络 线性回归流程 输入 输出 流程 线性回归优缺点 优点 缺点 小结 线性回归   线性回归是比较经典的线性模型,属于监督学习中预测值为连续值的回归问题。   线性回归针对的是一个或多个特征与连续目标变量之间的关系建模,即线性回归分析的主要目标是在连续尺度上预测输出,而非分类标签,即预测值为连续值。 线性回归学习目标 线性模型 一元线性回归和多元线性回归 多项式回归和对数线性回归 线性回归的L1正则化和L2正则化 线性回归流程 线性回归优缺点 线性回归引入   相信我们很多人可能都有去售楼处买房而无奈回家的行为,就算你没去过售楼处,相信你也应该听说过那令人叹而惊止的房价吧?对于高房价你没有想过这房价是怎么算出来的呢?难道就是房地产商拍拍脑门,北京的一概1000万,上海的一概800万,杭州的一概600万吗?看到这相信你应该有动力想要学好机器学习走向人生巅峰了。   其实仔细想想这房价大有来头,首先房价不可能只和地区有关,北京有1000万的房子,又会有800万

深度学习 day1

空扰寡人 提交于 2020-02-15 08:28:49
书籍链接: http://tangshusen.me/Dive-into-DL-PyTorch/#/ 一、线性回归 对于「线性模型」的内容,那我们就来看看「西瓜书」「统计学习方法」「ESL」「PRML」这几本书大概是怎么来讲解这部分内容的。 (1)「西瓜书」 「西瓜书」在第三章中展开了对「线性模型」的讨论,首先是介绍了线性模型「基本形式」,无论是线性回归还是线性分类,都是基于这个基本的线性模型的形式而来。 然后,「西瓜书」介绍了在「基本形式」的基础上,如何来构建「一元线性回归」问题的目标函数,其中的关键点在于如何衡量模型输出的预测值y_hat与数据真实的真实label值y的差距。这里「西瓜书」默认使用了均方误差的距离估计指标,但是我们要知道这并不是唯一的选择。在构建好「一元线性回归」的目标函数后,我们就可以来尝试进行求解了。我们的目标是找到对应的w 和b 使得我们minE()的目标实现,而这里介绍了一种解析解的求法,也就是最小二乘法。 在介绍完一元的情况后,「西瓜书」开始介绍多元的情景,这里值得注意的是(3.10)与(3.11)之间的那个XTX的满秩假设或者正定假设通常是不成立的,因此实际上我们需要在这个地方加入正则化方法,这种方法在我们面对最优化问题的时候也非常常用。 接着,「西瓜书」开始讲解「线性分类」模型。也就是所谓的对数几率回归(log odds)

集成学习之Boosting —— XGBoost

醉酒当歌 提交于 2020-02-03 10:31:10
集成学习之Boosting —— AdaBoost 集成学习之Boosting —— Gradient Boosting 集成学习之Boosting —— XGBoost Gradient Boosting 可以看做是一个总体的算法框架,起始于Friedman 的论文 [ Greedy Function Approximation: A Gradient Boosting Machine ] 。XGBoost (eXtreme Gradient Boosting) 是于2015年提出的一个新的 Gradient Boosting 实现,由华盛顿大学的 陈天奇 等人开发,在速度和精度上都有显著提升,因而近年来在 Kaggle 等各大数据科学比赛中都得到了广泛应用。本文主要对其原理进行阐述,并将其与传统的 GBDT 进行比较。 大体来看,XGBoost 在原理方面的改进主要就是在损失函数上作文章。一是在原损失函数的基础上添加了正则化项产生了新的目标函数,这类似于对每棵树进行了剪枝并限制了叶结点上的分数来防止过拟合。二是对目标函数进行二阶泰勒展开,以类似牛顿法的方式来进行优化(事实上早在 [ Friedman, J., Hastie, T. and Tibshirani, R., 1999 ] 中就已有类似方案,即利用二阶导信息来最小化目标函数,陈天奇在论文中也提到了这一点)。