分类器

Softmax回归

醉酒当歌 提交于 2020-01-14 04:56:31
简介 在本节中,我们介绍Softmax回归模型,该模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签 可以取两个以上的值。 Softmax回归模型对于诸如MNIST手写数字分类等问题是很有用的,该问题的目的是辨识10个不同的单个数字。Softmax回归是有监督的,不过 后面也会介绍它与深度学习/无监督学习方法的结合。(译者注: MNIST 是一个手写数字识别库,由NYU 的Yann LeCun 等人维护。 http://yann.lecun.com/exdb/mnist/ ) 回想一下在 logistic 回归中,我们的训练集由 个已标记的样本构成: ,其中输入特征 。(我们对符号的约定如下:特征向量 的维度为 ,其中 对应截距项 。) 由于 logistic 回归是针对二分类问题的,因此类标记 。假设函数(hypothesis function) 如下: 我们将训练模型参数 ,使其能够最小化代价函数 : 在 softmax回归中,我们解决的是多分类问题(相对于 logistic 回归解决的二分类问题),类标 可以取 个不同的值(而不是 2 个)。因此,对于训练集 ,我们有 。(注意此处的类别下标从 1 开始,而不是 0)。例如,在 MNIST 数字识别任务中,我们有 个不同的类别。 对于给定的测试输入 ,我们想用假设函数针对每一个类别j估算出概率值

FM算法解析及Python实现

女生的网名这么多〃 提交于 2020-01-14 02:13:18
1. GBDT + LR 是什么 本质上GBDT+LR是一种具有stacking思想的二分类器模型,所以可以用来解决二分类问题。这个方法出自于Facebook 2014年的论文 Practical Lessons from Predicting Clicks on Ads at Facebook 。 2. GBDT + LR 用在哪 GBDT+LR 使用最广泛的场景是CTR点击率预估,即预测当给用户推送的广告会不会被用户点击。 点击率预估模型涉及的训练样本一般是上亿级别,样本量大,模型常采用速度较快的LR。但LR是线性模型,学习能力有限,此时特征工程尤其重要。现有的特征工程实验,主要集中在寻找到有区分度的特征、特征组合,折腾一圈未必会带来效果提升。GBDT算法的特点正好可以用来发掘有区分度的特征、特征组合,减少特征工程中人力成本。 从知乎 https://zhuanlan.zhihu.com/p/29053940 上看到了一个关于CTR的流程,如下图所示: 如上图,主要包括两大部分:离线部分、在线部分,其中离线部分目标主要是训练出可用模型,而在线部分则考虑模型上线后,性能可能随时间而出现下降,弱出现这种情况,可选择使用Online-Learning来在线更新模型: 2.1 离线部分 数据收集:主要收集和业务相关的数据,通常会有专门的同事在app位置进行埋点,拿到业务数据 预处理

机器学习关键的6点

∥☆過路亽.° 提交于 2020-01-13 17:15:47
导读 机器学习是未来,因为它将广泛应用于计算机和其他领域。尽管如此,开发有效的机器学习应用需要大量的“黑魔法”,这在手册中很难找到。 在机器人技术、智能家电、智能零售店、自动驾驶汽车技术等的推动下,我们正步入一个新时期。机器学习是所有这些新时代技术进步的前沿。在不久的将来,自动化机器的发展将使得机器与人类智能相当甚至超过人类智能。机器学习无疑是下一个“大”事件。而且,人们相信,未来的大多数技术都将与之挂钩。 为什么机器学习这么重要? 机器学习非常重要,因为它有助于预测人类无法预测的行为和模式。机器学习有无数非常有用的实际应用。通过机器学习,有可能管理以前令人困惑的场景。在理解了具有高效泛化能力的机器学习模型之后,可以使用它做出相应的重要决策。机器学习使个人能够根据大量场景做出决策。显然,现在还不能编写出能够用于所有新场景的代码。 人工智能能够执行各种需要学习和判断的活动。从自动驾驶汽车、投资银行、许多医疗相关功能到招聘,人工智能已经被用于完成不同领域的各种任务。 6 个关于机器学习的革命性教训 机器学习算法能够简单地从场景中泛化,得到执行必要任务的方法。这样更切实可行和而且具有成本效益,然而,手工编程并不那么具有成本效益和可行性。“可用数据”数量的增加肯定会导致出现更多的与获取数据相关的问题。因此,机器学习是未来,因为它将广泛应用于计算机和其他领域。尽管如此

从负无穷学习机器学习(五)支持向量机SVM

天大地大妈咪最大 提交于 2020-01-13 14:15:18
文章目录 一、支持向量机 二、支持向量机的核函数 (一)、线性(linear)内核的SVM的分类器 (二)、RBF内核的SVM的分类器 三、SVM核函数和参数选择 (一)、不同核函数的对比 (二)、不同参数的对比 四、SVM示例——波士顿房价回归分析 (一)、查看数据集 (二)、使用SVR建模 一、支持向量机 如果样本数据是线性不可分的,之前的分类器处理这类数据效果不太好,而SVM(Support Vector Machine)是一种专门处理线性不可分数据的算法。 SVM算法中,训练模型的过程实际上是对每个数据点对于 数据分类决定边界的重要性 进行判断。也就是说在训练数据集中, 只有一部分数据对于边界的确定是有作用的 ,而这些数据点 正好在决定边界上 ,这些数据被称为“ 支持向量 ”。 二、支持向量机的核函数 SVM可以将 二维数据 (2 Dimension)转变成 三维数据 (3 Dimension),这称为 将数据投射至高维空间 。 这正是SVM算法的核函数(kernel trick)功能,用的最普遍的用于将数据投射到高维空间的方法是 多项式内核 (Polynomial kernel)和 径向基内核 (Radial Basis Function kernel,RBF)多项式内核就是 将不同的特征乘方处理 。而RBF内核也称为 高斯内核 (Gaussian kernel)

机器学习实战笔记7(Adaboost)

时光毁灭记忆、已成空白 提交于 2020-01-13 03:43:30
1:简单概念描写叙述 Adaboost是一种弱学习算法到强学习算法,这里的弱和强学习算法,指的当然都是分类器,首先我们须要简介几个概念。 1:弱学习器:在二分情况下弱分类器的错误率会低于50%。 事实上随意的分类器都能够做为弱分类器,比方之前介绍的KNN、决策树、Naïve Bayes、logiostic回归和SVM都能够。这里我们採用的弱分类器是单层决策树,它是一个单节点的决策树。 它是adaboost中最流行的弱分类器,当然并不是唯一可用的弱分类器。即从特征中选择一个特征来进行分类。该特征能使错误率达到最低。注意这里的错误率是加权错误率,为错分样本(1)与该样本的权重的乘积之和(不明确看后面代码)。 更为严格点的定义: 强学习:一个概念假设存在一个多项式的学习算法可以学习它,而且正确率非常高。那么。这个概念是强可学习的; 弱学习:一个概念假设存在一个多项式的学习算法可以学习它,而且学习的正确率仅比随机推測略好(高于50%)。那么。这个概念是弱可学习的; 强可学习与弱可学习是等价的。 而且理论证明能够将若干个弱学习分类器通过线性叠加提升为强学习分类器。 2:强学习器:识别准确率非常高并能在多项式时间内完毕的学习算法 3:集成方法:就是将不同的分类器组合在一起。这样的组合的结果就是集成方法或者称为元算法。 它能够是不同算法的集成。也能够是同一算法在不同设置下的集成

机器学习7—AdaBoost学习笔记

我只是一个虾纸丫 提交于 2020-01-13 03:36:17
Adaboost算法原理分析和实例+代码(简明易懂) (转载) 【尊重原创,转载请注明出处】 http://blog.csdn.net/guyuealian/article/details/70995333 本人最初了解AdaBoost算法着实是花了几天时间,才明白他的基本原理。也许是自己能力有限吧,很多资料也是看得懵懵懂懂。网上找了一下关于Adaboost算法原理分析,大都是你复制我,我摘抄你,反正我也搞不清谁是原创。有些资料给出的Adaboost实例,要么是没有代码,要么省略很多步骤,让初学者很难看懂AdaBoost过程。 本博客将会详细介绍AdaBoost算法过程,并给出了一个Adaboost例子的详细求解过程,当然也给出了Matlab代码求解过程。碍于太多复杂公式,文章是在电脑Word文档写好再复制上博客的,为了排版好看,有些地方给出了截图。 下面给出几个我认为不错的博客资料: 【1】http://blog.csdn.net/v_july_v/article/details/40718799 感谢这位博主给出了 Adaboost 算法的原理与推导,本文章很多地方都参考了他的内容 【2】http://blog.csdn.net/m0_37407756/article/details/67637400 该博客有一个Adaboost 算法的例子,但其过程简略太多,初学者很难看懂

《转》Logistic回归 多分类问题的推广算法--Softmax回归

*爱你&永不变心* 提交于 2020-01-12 18:50:00
转自 http://ufldl.stanford.edu/wiki/index.php/Softmax%E5%9B%9E%E5%BD%92 简介 在本节中,我们介绍Softmax回归模型,该模型是logistic回归模型在多分类问题上的推广,在多分类问题中,类标签 可以取两个以上的值。 Softmax回归模型对于诸如MNIST手写数字分类等问题是很有用的,该问题的目的是辨识10个不同的单个数字。Softmax回归是有监督的,不过后面也会介绍它与深度学习/无监督学习方法的结合。(译者注: MNIST 是一个手写数字识别库,由NYU 的Yann LeCun 等人维护。 http://yann.lecun.com/exdb/mnist/ ) 回想一下在 logistic 回归中,我们的训练集由 个已标记的样本构成: ,其中输入特征 。(我们对符号的约定如下:特征向量 的维度为 ,其中 对应截距项 。) 由于 logistic 回归是针对二分类问题的,因此类标记 。假设函数(hypothesis function) 如下: 我们将训练模型参数 ,使其能够最小化代价函数 : 在 softmax回归中,我们解决的是多分类问题(相对于 logistic 回归解决的二分类问题),类标 可以取 个不同的值(而不是 2 个)。因此,对于训练集 ,我们有 。(注意此处的类别下标从 1 开始,而不是 0)

AutoML论文调研

谁都会走 提交于 2020-01-12 18:49:17
AutoLearn - Automated Feature Generation and Selection - 2017 ICDM 核心思想: 用特征之间两两回归的方法,发现相关特征的额外信息。 主要流程如下: 第一,特征预处理阶段,对原始特征的信息增益进行判断,剔除低于某个阈值的特征; 第二,挖掘相关特征阶段,对于两两的特征,判断相关性,保留高于某个阈值的特征对; 第三,特征生成阶段,根据两个特征之间的相关关系(线性或者非线性),使用领回归或者核领回归的方法,用一个特征去预测另外一个特征,新特征可以用如下方法获得,首先,预测出的特征可以作为新特征,其次,预测特征与原特征的差值可以作为新特征; 第四,特征选择阶段,根据稳定性要求(对数据集随机抽样,在不同的样本上选择特征,最终选择在多个样本上都被选择的特征,通常使用lasso回归选择特征),和信息增益,选择最终特征。 评价: 比较繁琐,不是很聪明,感觉效果不好。 Learning feature engineering for classification - 2017 IJCAI 核心思想: 根据特征本身的分布情况,选择最合适的特征工程方法。 主要内容: 特征工程分为两类,一类是针对单个特征,比如平方,求平方根等,一类是针对组合特征(一般是两两组合),组合方式可以是加减乘除等等。本文提出了一种基于分类目标的对特征分布的表示方法

【机器学习面试题】——集成学习

旧时模样 提交于 2020-01-12 02:13:02
文章目录 1. 什么是集成学习算法? 2. 集成学习主要有哪几种框架? 3. 简单介绍一下bagging,常用bagging算法有哪些? 4. 简单介绍一下boosting,常用boosting算法有哪些? 5. boosting思想的数学表达式是什么? 6. 简单介绍一下stacking,常用stacking算法有哪些? 7. 你意识到你的模型受到低偏差和高方差问题的困扰,应该使用哪种算法来解决问题呢?为什么? 8. 常用的基分类器是什么? 9. 可否将随机森林中的基分类器,由决策树替换为线性分类器或K-近邻?请解释为什么? 1. 什么是集成学习算法? 集成学习算法是一种优化手段或者策略 ,不算是一种机器学习算法。 集成方法是由多个较弱的模型集成模型组,一般的弱分类器可以是决策树,SVM,KNN等构成。其中的模型可以单独进行训练,并且它们的预测能以某种方式结合起来去做出一个总体预测。 该算法主要的问题是要找出哪些较弱的模型可以结合起来,以及如何结合的方法。 2. 集成学习主要有哪几种框架? 集成学习从集成思想的架构分为Bagging,Boosting,Stacking三种。 3. 简单介绍一下bagging,常用bagging算法有哪些? Bagging 多次采样,训练多个分类器,集体投票,旨在减小方差 , 基于数据 随机重抽样 的分类器构建方法

SVM的损失函数(Hinge Loss)

社会主义新天地 提交于 2020-01-10 11:28:27
损失函数 是用来衡量一个预测器在对输入数据进行分类预测时的质量好坏。损失值越小,分类器的效果越好,越能反映输入数据与输出类别标签的关系(虽然我们的模型有时候会过拟合——这是由于训练数据被过度拟合,导致我们的模型失去了泛化能力)。 相反,损失值越大,我们需要花更多的精力来提升模型的准确率。就参数化学习而言,这涉及到调整参数,比如需要调节权重矩阵W或偏置向量B,以提高分类的精度。 Hinge Loss 多分类svm: 损失函数的计算方法为: ,其中i代表第i个样品,j代表第j个种类,那么y_i代表第i个 样品的真实种类。 其中,常用的数学表达式为: ,但为了与代码中的统一,从而稍微变动以下 ,对于y_i来说同理。 计算正确类的预测值,和其他类的预测值之间的差距,如果正确类的预测值大于所有不正确的预测值则损失函数为0,证明当前的W和b所计算得到的效果很好。 当把损失值推广到整个训练数据集,则应为: 两分类SVM: 在二分类情况下,铰链函数公式如下: L(y) = max(0 , 1 – t⋅y) 其中,y是预测值(-1到1之间),t为目标值(1或 -1)。其含义为:y的值在 -1到1之间即可,并不鼓励 |y|>1,即让某个样本能够正确分类就可以了,不鼓励分类器过度自信,当样本与分割线的距离超过1时并不会有任何奖励。目的在于使分类器更专注于整体的分类误差。 计算案例