预测模型

[白话解析] 深入浅出最大熵模型

。_饼干妹妹 提交于 2020-01-31 16:35:42
[白话解析] 深入浅出最大熵模型 0x00 摘要 本文将尽量使用易懂的方式,尽可能不涉及数学公式,而是从整体的思路上来看,运用感性直觉的思考来解释最大熵模型。并且从名著中找了几个具体应用场景来帮助大家深入这个概念。 0x01 背景概念 1. 什么是熵? 熵这个概念可以从多个角度来理解。 1.1 从物理学角度理解熵 熵最早来原于物理学。德国物理学家鲁道夫·克劳修斯首次提出熵的概念,用来表示任何一种能量在空间中分布的均匀程度,能量分布得越均匀,熵就越大。即,熵是表示物质系统状态的一种度量,用它来表征系统的无序程度。 熵越大,系统越无序,意味着系统结构和运动的不确定和无规则; 熵越小,系统越有序,意味着系统具有确定和有规则的运动状态。 1.2 从系统复杂度理解熵 信息熵还可以作为一个系统复杂程度的度量,即物质系统有序化,组织化,复杂化状态的一种度量。 如果系统越复杂,出现不同情况的种类越多,那么他的信息熵是比较大的。 如果一个系统越简单,出现情况种类很少(极端情况为1种情况,那么对应概率为1,对应的信息熵为0),此时的信息熵较小。 熵越大则该系统不确定性就越大,该系统未来发展就存在越多的可能性。 1.3 熵的推导&定义 熵的定义是:𝐇(𝐱) = −𝒔𝒖𝒎(𝒑(𝒙)𝒍𝒐𝒈𝟐𝒑(𝒙)) 其中,𝑝(𝑥)代表随机事件𝑥的概率,H(X) 就被称为随机变量 x 的熵,它是表示随机变量不确定的度量

PythonML-Day02: k-近邻、朴素贝叶斯、决策树、随机森林、交叉验证、网格搜索

核能气质少年 提交于 2020-01-30 20:41:55
ML-Day02: k-近邻、朴素贝叶斯、决策树、随机森林、交叉验证、网格搜索 1.数据分类 离散型数据:可以列举出 连续型数据:在区间内可任意划分,不可一一列举 2.机器学习算法分类 监督学习(预测):有特征值和目标值,有标准答案 分类[离散]:k近邻、贝叶斯、决策树与随机森林、逻辑回归、神经网络 回归[连续]:线性回归、岭回归 非监督学习: 只有特征值,没有保准答案 聚类:k-means 3.机器学习开发流程 - 原始数据: 公司本身有数据/ 合作数据/ 购买数据/ - 明确公司要做什么: 建立模型,是分类还是回归? - 数据基本的处理: pd 去处理数据(缺失值,合并表等等) - 特征工程:特征抽取/ 归一化/ 标准化/ 特征选择/ 主成分分析 - 找对应的算法去生产模型: 模型 = 算法 + 数据 - 模型的评估: 判定效果 - 评估优秀,上线使用,进行数据预测 - 评估失败,特征工程是否有问题、调参数、换算法等 4.划分数据集 - 训练集 75% - 用于训练,构建模型 - 测试集 25% - 用于检测模型,评估模型是否有效 - sklearn.model_selection.train_test_split - li = load_iris() # 注意返回值的顺序 # 训练特征值x_train # 测试特征值x_test # 训练目标值y_train # 测试目标值y

《Sequence Models》课堂笔记

拜拜、爱过 提交于 2020-01-29 16:37:01
Lesson 5 Sequence Models 这篇文章其实是 Coursera 上吴恩达老师的深度学习专业课程的第五门课程的课程笔记。 参考了其他人的笔记继续归纳的。 符号定义 假如我们想要建立一个能够自动识别句中人名地名等位置的序列模型,也就是一个命名实体识别问题,这常用于搜索引擎。命名实体识别系统可以用来查找不同类型的文本中的人名、公司名、时间、地点、国家名和货币名等等。 我们输入语句 "Harry Potter and Herminoe Granger invented a new spell." 作为输入数据 \(x\) ,我们想要这个序列模型输出 \(y\) ,使得输入的每个单词都对应一个输出值,同时这个 \(y\) 能够表明输入的单词是否是人名的一部分。技术上来说,还有更加复杂的输出形式,它不仅能够表明输入词是否是人名的一部分,它还能够告诉你这个人名在这个句子里从哪里开始到哪里结束。 以简单的输出形式为例。这个输入数据是 9 个单词组成的序列,所以最终我们会有 9 个特征集合来表示这 9 个单词,并按序列中的位置进行索引, \(x^{<1>},x^{<2>}\) 直到 \(x^{<9>}\) 来索引不同的位置。 输出数据也是一样,用 \(y^{<1>},y^{<2>}\) 到 \(y^{<9>}\) 来表示输出数据。同时使用 \(T_x\) 来表示输入序列的长度,

数学建模时间序列分析

喜你入骨 提交于 2020-01-29 04:29:46
代码 移动平均法 用公式 指数平滑法 一次,二次,三次 预测模型 看书 加权系数选择 波动不大小一些,波动大大一些 平均值为初始值 差分指数平滑法 具有季节性的时间序列预测 p179 平稳时间序列 ARMA序列自回归移动平均序列 来源: CSDN 作者: hyoer 链接: https://blog.csdn.net/weixin_44853593/article/details/104088102

【深度之眼cs231n第七期】笔记(二)

做~自己de王妃 提交于 2020-01-28 17:06:52
目录 数据驱动方法 语义鸿沟 数据驱动方法 k最临近算法(KNN) 距离度量方法 L1距离 L2距离 K的选择 超参数 KNN的问题 测试时非常慢 距离度量的问题 维度灾难 总结 数据驱动方法 语义鸿沟 对于一幅图像,人眼看到的是猫,计算机看到的是数字矩阵。猫的标签和数字矩阵间的差距就是语义鸿沟。 如何把标签和数字矩阵联系起来(事实上就是图片分类)对计算机来说是一个很难的问题。 问题1:如何把它们联系起来? 问题2:当我们移动相机,从另一个方向拍摄猫的照片时,图像上的数字几乎都改变了,但是它还是表示同一只猫。如何才能把变化后的图像也认成猫? 光线改变时,它还是猫 这些不同姿势的还是猫 我们没有直接的方法识别一只猫。一个较直接的想法就是,先识别出耳朵,眼睛等,然后写一些方法来识别它。比如耳朵、眼睛等符合一定条件的就是猫。 但这并不是一个很好的方法。首先,这种算法很容易出错(看上面神奇的姿势);其次,识别其他的东西又需要设计新的算法。 所以我们考虑用数据驱动的方法。 数据驱动方法 首先获取带标签的数据集,然后训练分类器,得出一个模型,模型已经总结出识别的要素。最后用模型识别新的图片。 函数不再是只有一个(输入图片,识别它是否是猫),而是有两个,一个训练函数(用数据集来训练模型),一个预测函数(使用模型来识别这是不是一只猫)。 k最临近算法(KNN)

ValueError: Expected target size (64, 31), got torch.Size([64, 63])

折月煮酒 提交于 2020-01-27 18:49:52
Pred-Esti介绍 Preictor-Estimator是一个两阶段的神经质量评估模型,它包括两个神经模型: a predictor:词预测器,使用额外的大规模平行语料进行训练 an estimator:质量评估器,使用质量标注了的平行语料(QE data)训练 问题 在训练estimator模型时出现了这样的问题: 这是因为 pred_tags 和 tags 的维度不同的。 如图所示:使用的wmt19数据中给出的标注的tags文件中包括 MT tags 和 Gap tags ,而预测的tags中只有 MT tags pred_tags = [1, 0, 0, 0, 0, 0, 1, 0, 0] # OK:0;BAD:1 tags = [BAD, BAD, OK, BAD, BAD, OK, OK, OK, OK, OK, OK, OK, OK, BAD, OK, BAD, OK, OK, OK] 解决方法 # path_tags:MT tags + Gap tags # path_target_tags:生成的MT tags path_tags = "openkiwi/data/WMT19/wordsent_level/dev.tags" path_target_tags = "openkiwi/data/WMT19/wordsent_level/dev.target

学习《机器学习实战》四

送分小仙女□ 提交于 2020-01-27 15:59:51
训练模型 训练模型就是搜寻使成本函数(在训练集上)最小化的参数组合。 有助于快速定位到合适的模型、正确的训练算法,以及一套适当的超参数。 一、线性回归(LinearRegression) 线性模型就是对输入特征加权求和,再加上一个偏置项的常数,以此进行预测。 线性回归模型预测: 衡量一个回归模型性能指标:均方根误差(RMSE),但求均方误差(MSE)更方便 我们生成一些线性数据来测试这个公式 import numpy as np X = 2 * np.random.rand(100, 1) y = 4 + 3 * X + np.random.randn(100, 1) X表示100个数据的1个特征属性 以点的形式来表示100个数据: 生成的线性函数是y=4+3x from matplotlib import pyplot as plt plt.xlabel("X") plt.ylabel("y") plt.scatter(X, y, marker = 'o', color = 'green', s = 40) plt.show() 现在,我们使用标准方程来计算θ。使用Numpy的线性代数模块(np.linalg)中的inv()函数来对矩阵求逆,并用dot()方法计算矩阵内积: X_b = np.c_[np.ones((100, 1)), X] theta_best = np

[论文学习]TDN: An Integrated Representation Learning Model of Knowledge Graphs

十年热恋 提交于 2020-01-27 04:07:12
[论文学习以及翻译]TDN: An Integrated Representation Learning Model of Knowledge Graphs 文章主要内容 摘要 前言 相关工作 基于TDN的表示的框架结构 方法 文本信息的表示 网络结构的embedding方法 模型训练过程 定义 训练 过程 实验 数据集 实验的参数设置 链接预测 实验结果分析 结论 读后感 文章下载链接:https://github.com/ciecus/papers/blob/master/%E7%9F%A5%E8%AF%86%E5%92%8C%E8%AF%AD%E4%B9%89%E7%BB%93%E5%90%882019%E5%B9%B4%E6%96%B0%E6%96%87%E7%AB%A0/TDN-%20An%20Integrated%20Representation%20Learning%20Model%20of%20Knowledge%20Graphs.pdf 文章代码链接:暂无 文章主要内容 摘要 知识图谱在人工智能领域起到了非常重要的作用。知识图谱致力于将实体和关系投影到连续的低维空间中。这种表示学习的方法可以通过预测潜在的三元组(head,relation,tail)用来完善知识图。在现有的方法种,人们主要集中于利用已有的三元组知识,但是忽略了融合文本信息和知识网的拓扑结构

scala-MLlib官方文档---spark.mllib package--classification and regression

ⅰ亾dé卋堺 提交于 2020-01-26 07:55:42
三、Classification and regression Spark.mllib包为二分类、多分类和回归分析提供了多样的支持工具 linear models(线性模型) 1)Mathematical formulation(数学公式) 很多标准的机器学习方法都可以表述为凸优化问题,例如:找到依赖于变量向量w的凸函数f的极小值的任务(在代码中被称为权重),通常含有d个输入。形式上,我们可以将其写为优化问题minw∈ℝdf(w),,具有如下形式的目标方程 这里的向量 这里向量xi∈ℝd 是训练数据示例, 其中1≤i≤n, 并且 yi∈ℝ是他们相应的标签, 也是我们想要预测的。我们称方法是线性的如果L(w;x,y) 可以被表示称方程 wTx and y。spark.mllib的几种分类和回归算法都属于此类,在此进行讨论。 目标方程f具有两部分: The objective function f has two parts: 控制模型复杂度的正则化器,以及测量训练数据上模型误差的损失。损失函数L(w ;.)通常是w中的凸函数。固定的正则化参数λ≥0(代码中的regParam)定义了两个目标之间的权衡,这两个目标是最小化损失(即训练误差)和最小化模型复杂度(即避免过度拟合)。 (1)损失方程 下表总结了spark.mllib支持的方法的损失函数及其梯度或子梯度: 注意

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

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