预测模型

概率统计——期望、方差与最小二乘法

一个人想着一个人 提交于 2020-01-24 17:22:34
本文始发于个人公众号: TechFlow 今天这篇文章和大家聊聊 期望和方差 。 期望 期望这个概念我们很早就在课本里接触了,维基百科的定义是: 它表示的是一个随机变量的值在每次实验当中可能出现的结果乘上结果概率的总和 。换句话说,期望值衡量的是多次实验下,所有可能得到的状态的平均结果。 我们举两个简单的例子,第一个例子是掷骰子。 我们都知道一个骰子有6个面,分别是1,2,3,4,5,6。我们每次投掷得到其中每一个面朝上的概率都是一样的,是1/6。对于投骰子这个事件而言,它的期望应该是: \[E(X) = 1 * \frac{1}{6} + 2 * \frac{1}{6} + \cdots + 6 * \frac{1}{6} = 3.5\] 也就是说,我们如果投掷大量的骰子,得到的平均结果应该是3.5,但是骰子上并没有这个点数可以被掷出来。 另一个经典的例子就是 博弈游戏 ,老赌徒们水平各有高低,但一定深谙期望这个概念。举个最简单的例子,比如美国轮盘当中一个有38个数字,每次可以押一个数字。如果押中了,赌徒可以获得35倍的奖金,如果押不中,钱打水漂。我们来算下期望: \[E(X) = -1 * \frac{37}{38} + 35 * \frac{1}{38}= -\frac{3}{38}\] 我们可以发现这个期望是一个 负值 ,也就是说短期内可能是盈利的,如果我们多次游戏

1. 2 监督学习

雨燕双飞 提交于 2020-01-23 05:15:34
个人随感,不可轻信,如有意见,欢迎指点。 统计学习包括监督学习、非监督学习、半监督学习及强化学习。 1.2.1 监督学习 监督学习的任务是学习一个模型,使模型能够对任意给定的输入,对其相应的输出做出一个好的预测,计算机的基本操作就是给定一个输入,产生一个输出。 1.2.1 基本概念: 1、 输出空间、特征空间与输出空间 在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间与输出空间,输入与输出空间可以是有限元素的集合, 也可以是整个欧式空间,输入空间与输出空间可以是同一个空间,也可以是不同的空间,但通常输出空间远远小于输入空间。 每个具体的输入是一个实例(instance),通常由特征向量(feature vector)表示, 这时,所有的特征向量存在的空间称为特征空间(feature space)。特征空间的每一维对应于一个特征。 在监督学习过程中,将输入与输出看做是定义在输入(特征)空间与输出空间上的随机变量的取值,输入、输出变量用大写字母表示,习惯上输入变量写作 X,输出变量写作 Y, 变量可以是标量或向量,都用相同类型字母表示,输入实例 x 的特征向量记作: x = (x^(1),^, x ^(2)^, …… x^(n)^ ) ^T^ 输入空间可以看做由 n 维特征构成的空间,如输入有两个特征组成,那么输入空间就可以看成 由 x 和 y 轴构成的二维平面

百分点认知智能实验室出品:深度迁移学习十八问

那年仲夏 提交于 2020-01-22 23:13:40
编者按 深度迁移学习是基于深度神经网络的迁移学习方法,BERT通过预训练模型达到深度迁移学习的效果,自从2018年底BERT横空出世以来,就以势不可挡的姿态横扫了众多榜单,甚至在阅读理解任务SQuAD 中超越人类水平。BERT在公检法、媒体出版、军工、快消零售等工业界也迅速落地,如百分点智能对话系统、百分点智能审校系统和百分点智能翻译系统等。BERT几乎在所有的下游任务中效果都获得了明显提升,BERT自此开创了一个NLP的新时代,那就是pre-train + fine-tuning的时代。 基于BERT的各种改进版预训练模型层出不穷,令人眼花缭乱,似乎一不小心就会落伍。但是万变不离其宗,只要掌握了一些最基本的的思想、技术,就能让自己紧跟大神们的脚步,让更优秀的算法模型在工业界持续落地。百分点认知智能实验室梳理了以BERT为代表的基于fine-tuning模式的深度迁移学习中一些疑难问题,整理出18个典型的问题,对理解BERT论文和源代码有明显的帮助,因此分享给大家。 本文作者:崔丙剑 苏海波 基本概念 1.如何正确理解深度迁移学习? 答:迁移学习是机器学习的一个重要分支,是指利用数据、任务、或模型之间的相似性,将在源领域学习过的模型,应用于新领域的一种学习过程。 图1: 迁移学习示意图 迁移学习主要有几种形式:基于样本的迁移、基于特征的迁移、基于模型的迁移和基于关系的迁移

百分点认知智能实验室出品:深度迁移学习十八问

扶醉桌前 提交于 2020-01-22 23:06:48
编者按 深度迁移学习是基于深度神经网络的迁移学习方法,BERT通过预训练模型达到深度迁移学习的效果,自从2018年底BERT横空出世以来,就以势不可挡的姿态横扫了众多榜单,甚至在阅读理解任务SQuAD 中超越人类水平。BERT在公检法、媒体出版、军工、快消零售等工业界也迅速落地,如百分点智能对话系统、百分点智能审校系统和百分点智能翻译系统等。BERT几乎在所有的下游任务中效果都获得了明显提升,BERT自此开创了一个NLP的新时代,那就是pre-train + fine-tuning的时代。 基于BERT的各种改进版预训练模型层出不穷,令人眼花缭乱,似乎一不小心就会落伍。但是万变不离其宗,只要掌握了一些最基本的的思想、技术,就能让自己紧跟大神们的脚步,让更优秀的算法模型在工业界持续落地。百分点认知智能实验室梳理了以BERT为代表的基于fine-tuning模式的深度迁移学习中一些疑难问题,整理出18个典型的问题,对理解BERT论文和源代码有明显的帮助,因此分享给大家。 本文作者:崔丙剑 苏海波 基本概念 1.如何正确理解深度迁移学习? 答:迁移学习是机器学习的一个重要分支,是指利用数据、任务、或模型之间的相似性,将在源领域学习过的模型,应用于新领域的一种学习过程。 图1: 迁移学习示意图 迁移学习主要有几种形式:基于样本的迁移、基于特征的迁移、基于模型的迁移和基于关系的迁移

监督学习

早过忘川 提交于 2020-01-22 21:08:15
1 监督学习   利用一组带标签的数据, 学习 从输入到输出的映射 , 然后将这种映射关系应用到未知数据, 达到 分类 或者 回归 的目的   (1) 分类: 当输出是离散的, 学习任务为分类任务          输入: 一组有标签的训练数据(也叫观察和评估), 标签 表明了这些数据(观察)的所属类别, 图中"猫"和"狗"就是标签     输出: 分类模型根据这些训练数据, 训练自己的模型参数, 学习出一个适合这组数据的分类器, 当有新数据(非训练数据)需要进行类别判断, 就可以将这组数据作为输入送给学习好的 分类器 进行判断(得到标签)     训练集: 训练模型已经标注的数据, 用来建立模型发现规律     测试集: 已标注的数据, 只不过把标注隐藏了, 再送给训练好的模型, 比对结果与原来的标注, 评判该模型的学习能力       一般来说, 获得了一组标注好的数据, 70%当做训练集, 30%当做测试集 , 另外还有交叉验证法, 自助法来评估学习模型     评价标准       1) 准确率         所有预测对的         把正类预测成正类(TP)         把负类预测成负类(TN)         准确率 = (TP+TN)/总数量       2) 精确率         以二分类为例         预测为正的样本是真的正样本        

推荐系统评价指标:AUC和GAUC

白昼怎懂夜的黑 提交于 2020-01-21 23:59:03
AUC是推荐系统中最常用的模型评价指标。基础概念要常看常新,最近复习了一遍AUC的概念,在此做个笔记。本文力求简洁系统地理解AUC的概念和计算方法,AUC在推荐/广告领域的局限性以及解决这一问题的另一个指标:Group AUC(GAUC) 1. 分类任务与混淆矩阵 认识auc的第一步,是看懂混淆矩阵: 预测\真实 1 0 1 TP FP 0 FN TN True/False代表预测的正确/错误; Positive/Negative代表预测值为1/0. TP是真1;FP是假1;FN是假0; TN是真0。 真阳率: T P R = T P T P + F N TPR = \frac{TP}{TP+FN} T P R = T P + F N T P ​ ,正样本被预测为1的概率; 假阳率: F P R = F P F P + T N FPR = \frac{FP}{FP+TN} F P R = F P + T N F P ​ ,负样本被预测为1的概率; 2. ROC曲线与AUC 以x轴为FPR, y轴为TPR,做出图称为ROC曲线 AUC的定义:Area Under ROC Curve,即ROC曲线下的面积 AUC的意义:随机抽取一对正负样本,AUC是 把正样本预测为1的概率大于把负样本预测为1的概率的概率 。这句话有点拗口,用公式写就是: A U C = P ( P 正 > P 负 )

从机器学习谈起

前提是你 提交于 2020-01-20 10:56:09
本文原地址 https://www.cnblogs.com/subconscious/p/4107357.html 拜读原文之后,无比喜欢,怕以后找不到,所以转载,大家喜欢可以去看原文,真的很精彩。 从机器学习谈起   在本篇文章中,我将对机器学习做个概要的介绍。本文的目的是能让即便完全不了解机器学习的人也能了解机器学习,并且上手相关的实践。这篇文档也算是EasyPR开发的番外篇,从这里开始,必须对机器学习了解才能进一步介绍EasyPR的内核。当然,本文也面对一般读者,不会对阅读有相关的前提要求。   在进入正题前,我想读者心中可能会有一个疑惑:机器学习有什么重要性,以至于要阅读完这篇非常长的文章呢?   我并不直接回答这个问题前。相反,我想请大家看两张图,下图是图一: 图1 机器学习界的执牛耳者与互联网界的大鳄的联姻     这幅图上上的三人是当今机器学习界的执牛耳者。中间的是Geoffrey Hinton, 加拿大多伦多大学的教授,如今被聘为“Google大脑”的负责人。右边的是Yann LeCun, 纽约大学教授,如今是Facebook人工智能实验室的主任。而左边的大家都很熟悉,Andrew Ng,中文名吴恩达,斯坦福大学副教授,如今也是“百度大脑”的负责人与百度首席科学家。这三位都是目前业界炙手可热的大牛,被互联网界大鳄求贤若渴的聘请,足见他们的重要性。而他们的研究方向

循环神经网络(RNN, Recurrent Neural Networks)介绍

谁说我不能喝 提交于 2020-01-20 04:45:27
原文地址: http://blog.csdn.net/heyongluoyao8/article/details/48636251# 循环神经网络(RNN, Recurrent Neural Networks)介绍    这篇文章很多内容是参考: http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/ ,在这篇文章中,加入了一些新的内容与一些自己的理解。   循环神经网络(Recurrent Neural Networks,RNNs)已经在众多 自然语言 处理(Natural Language Processing, NLP)中取得了巨大成功以及广泛应用。但是,目前网上与RNNs有关的学习资料很少,因此该系列便是介绍RNNs的原理以及如何实现。主要分成以下几个部分对RNNs进行介绍: 1. RNNs的基本介绍以及一些常见的RNNs(本文内容); 2. 详细介绍RNNs中一些经常使用的训练 算法 ,如Back Propagation Through Time(BPTT)、Real-time Recurrent Learning(RTRL)、Extended Kalman Filter(EKF)等学习算法,以及梯度消失问题(vanishing

循环神经网络(Recurrent Neural Networks, RNN)介绍

情到浓时终转凉″ 提交于 2020-01-20 04:44:32
目录 1 什么是RNNs 2 RNNs能干什么   2.1 语言模型与文本生成Language Modeling and Generating Text   2.2 机器翻译Machine Translation   2.3 语音识别Speech Recognition   2.4 图像描述生成 Generating Image Descriptions 3 如何训练RNNs 4 RNNs扩展和改进模型   4.1 Simple RNNsSRNs2   4.2 Bidirectional RNNs3   4.3 DeepBidirectionalRNNs4   4.4 Echo State Networks5   4.5 Gated Recurrent Unit Recurrent Neural Networks6   4.6 LSTM Netwoorks7   4.7 Clockwork RNNsCW-RNNs9 5 总结 6 参考博文 7 参考文献   这篇文章很多内容是参考: http://www.wildml.com/2015/09/recurrent-neural-networks-tutorial-part-1-introduction-to-rnns/ ,在这篇文章中,加入了一些新的内容与一些自己的理解。   循环神经网络(Recurrent Neural

数据竞赛(五)-模型融合

末鹿安然 提交于 2020-01-19 22:47:00
sklearn 交叉验证 K折交叉验证: sklearn.model_selection.KFold(n_splits=3, shuffle=False, random_state=None) 思路:将训练/测试数据集划分n_splits个互斥子集,每次用其中一个子集当作验证集,剩下的n_splits-1个作为训练集,进行n_splits次训练和测试,得到n_splits个结果 注意点:对于不能均等份的数据集,其前n_samples % n_splits子集拥有n_samples // n_splits + 1个样本,其余子集都只有n_samples // n_splits样本 参数说明: n_splits:表示划分几等份 shuffle:在每次划分时,是否进行洗牌 ①若为Falses时,其效果等同于random_state等于整数,每次划分的结果相同 ②若为True时,每次划分的结果都不一样,表示经过洗牌,随机取样的 random_state:随机种子数 属性: ①get_n_splits(X=None, y=None, groups=None):获取参数n_splits的值 ②split(X, y=None, groups=None):将数据集划分成训练集和测试集,返回索引生成器 通过一个不能均等划分的栗子,设置不同参数值,观察其结果 ①设置shuffle=False,运行两次