预测模型

用隐马尔可夫模型做基因预测

末鹿安然 提交于 2019-12-04 04:24:22
什么是隐马尔可夫模型 隐马尔可夫模型(Hidden Markov Model,HMM) 是统计模型,它用来描述一个含有隐含未知参数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。然后利用这些参数来作进一步的分析,例如模式识别,特别是我们今天要讲的基因预测。是在被建模的系统被认为是一个马尔可夫过程【一段组装好的序列】与未观测到的(隐藏的)的状态【哪些是编码区哪些不是】的统计马尔可夫模型。 下面用一个简单的例子来阐述: 假设我手里有两个颜色不同的骰子,一个是橘色(Coding,C)的另一个是蓝色(Noncoding,N)的。但是和平常的骰子不同的是,他们稳定下来只要有四种可能,也就是上下是固定的(你可以理解为他们只会平行旋转)。这样每个骰子出现ATCG的概率都是1/4. 两条链,在一起 假设我们开始投骰子,我们先从两种颜色选一个,挑到每种骰子的概率都是1/2。然后我们掷骰子,我们得到ATCG中的一个。不停地重复以上过程,我们将会得到一串序列,每个字符都是ATCG中的一个。例如CGAAAAAATCG 这串序列就叫做可见状态链。但是在隐马尔可夫模型中,我们不仅仅有这么一串可见状态链,还有一串隐含状态链。在这个例子里,这串隐含状态链就是你用的骰子的序列。比如,隐含状态链有可能是:C C N N N N N N N C C C。 一般来说

高冷贵族: 隐马尔可夫模型

旧街凉风 提交于 2019-12-04 04:12:24
高冷贵族: 隐马尔可夫模型 https://www.cnblogs.com/vpegasus/p/hmm.html 引言 大家都用过Siri,Cortana之类的语音助手吧? 当你对着手机说出'我的女朋友温柔吗?',Siri 或Cortana就会根据你说的这句话翻译成一段文字,然后再作应答. 先不管应答部分, 你可曾想过: Siri是如何将你说的话翻译成一段文字的?嗯,猜对了, 这里就用到了隐马尔可夫模型(Hiden Markov Model, HMM). 例子 假设你有三个女朋友(嘿~,现实不可以,想想总可以吧~,/躲拖鞋…), 你每周末只能选择陪其中一位(为了世界和平…). 而作为程序员的你,也没有什么情调,只会与女朋友做二种事情: 吃饭,看电影, 而因为工作繁忙,你每周也只能做其中一件事,三位美丽的女士也很理解,体谅你,也都很配合,很高兴. 那么问题来了, 你是如何选择周末去陪哪个女朋友呢? 三位女士都很可爱,你不想冷落每一个人,但第一个女朋友(记为A女朋友)有点聒噪,因此你会稍微少去一点她那里. 第二,第三个女朋友去都比较安静(分别记为B,C). 于是,你在心里默默地(或者是潜意识地)定下了去陪三位女朋友的概率: 女朋友 A B C 概率 0.2 0.4 0.4 比如,陪A女朋友的概率是0.2,可简单的理解为十次大约有二次会去陪她. 然而这只是你刚开始考虑的事

机器学习之欠拟合和过拟合(一)

让人想犯罪 __ 提交于 2019-12-04 02:01:34
1.欠拟合(underfitting)与过拟合(overfitting) 在机器学习中,我们的主要思想是通过对数据集的学习来生成我们的假设模型。在对数据集进行拟合的过程中,我们可能会遇到欠拟合和过拟合的问题。以身高预测的例子为例,这里给出7-18岁男生的身高标准(数据来源: 7 岁~18 岁儿童青少年身高发育等级评价 ),如图1: 将中位数随年龄的变化绘制成散点图,如图2: 由图2中的散点可知,先开始身高随年龄几乎成一条直线关系,后来增长率逐渐下降。如果我们采用线性函数取拟合,这显然是不合理的(线性函数的增长率不会发生变化)。如果我们用一个多项式函数去拟合,虽然这个多项式可能会很复杂,但是我们总可能找到一个多项式函数使得该函数完美经过图中的散点,如图3: 现在,我们来看一下线性拟合(图3红线):年龄大于18岁以后,按照散点图的趋势,身高应该逐渐趋于稳定,但是线性拟合的结果是身高随年龄增长依旧保持很高的增长率。显然这并不是一种很好的拟合方式,对于这种情况,我们称之为欠拟合,即高偏差(high bias)。 接下来,我们来看一下“完美的多项式拟合”(图3蓝线):蓝线的损失函数为0,在回归问题中,我们求解参数矩阵的方法就是尽可能地让损失函数的值最小化。这是否意味着当损失函数为0时,这时我们的学习模型最好呢?并不是这样子的。在”完美的多项式拟合“当中,我们的假设函数通常情况下会非常复杂

基于会话的最优推荐模型SR-GNN

被刻印的时光 ゝ 提交于 2019-12-03 23:46:39
PaddlePaddle于近期开源了基于会话(session-based)的推荐系统模型(SR-GNN)。 相较于之前通过循环神经网络(RNN)来对会话进行序列化建模导致的不能够得到用户的精确表征以及忽略了items中复杂的转换特性,SR-GNN通过将序列化的问题转换为图的问题,对所有的会话序列通过有向图进行建模,然后通过图神经网络(GNN)来学习每个item的隐向量表示,进而通过一个注意力网络(Attention Network)架构模型来捕捉用户的短期兴趣,以达到捕获长期与短期兴趣共存的向量表示。 SR-GNN模型明显优于一些最先进的基于会话的推荐方法。 项目地址: https://github.com/PaddlePaddle/models/tree/develop/PaddleRec/gnn 应用背景 随着互联网上信息量的快速增长,推荐系统能够帮助用户缓解信息过载的问题,进而有效帮助用户在众多Web应用程序中(比如:搜索、电子商务、媒体流网站等)选择自己感兴趣的信息。大多数现有的推荐系统都假设一个前提:用户画像(user profile)和历史活动信息是被不断记录的。 然而实际上,在许多服务中,用户的信息可能是未知的,并且只有处于当前正在进行的会话中的用户历史行为可用。 因此,在一个会话中,能对有限的行为进行建模并相应地生成推荐是非常重要的。但是在这种场景下

基于会话的最优推荐模型:SR-GNN的PaddlePaddle实现

北慕城南 提交于 2019-12-03 23:42:41
来源商业新知网,原标题:基于会话的最优推荐模型:SR-GNN的PaddlePaddle实现 百度深度学习平台PaddlePaddle于近期开源了基于会话(session-based)的推荐系统模型(SR-GNN)。 相较于之前通过循环神经网络(RNN)来对会话进行序列化建模导致的不能够得到用户的精确表征以及忽略了items中复杂的转换特性,SR-GNN通过将序列化的问题转换为图的问题,对所有的会话序列通过有向图进行建模,然后通过图神经网络(GNN)来学习每个item的隐向量表示,进而通过一个注意力网络(Attention Network)架构模型来捕捉用户的短期兴趣,以达到捕获长期与短期兴趣共存的向量表示。 SR-GNN模型明显优于一些最先进的基于会话的推荐方法。 项目地址:https://github.com/PaddlePaddle/models/tree/develop/PaddleRec/gnn 应用背景 随着互联网上信息量的快速增长,推荐系统能够帮助用户缓解信息过载的问题,进而有效帮助用户在众多Web应用程序中(比如:搜索、电子商务、媒体流网站等)选择自己感兴趣的信息。大多数现有的推荐系统都假设一个前提:用户画像(user profile)和历史活动信息是被不断记录的。 然而实际上,在许多服务中,用户的信息可能是未知的,并且只有处于当前正在进行的会话中的用户历史行为可用。

开源 | 基于会话的最优推荐模型:SR-GNN的PaddlePaddle实现

…衆ロ難τιáo~ 提交于 2019-12-03 23:42:30
https://www.toutiao.com/a6690696657228530187/ 2019-05-14 10:00:09 本文转载自百度 PaddlePaddle 百度深度学习平台PaddlePaddle于近期开源了基于会话(session-based)的推荐系统模型(SR-GNN)。 相较于之前通过循环神经网络(RNN)来对会话进行序列化建模导致的不能够得到用户的精确表征以及忽略了items中复杂的转换特性,SR-GNN通过将序列化的问题转换为图的问题,对所有的会话序列通过有向图进行建模,然后通过图神经网络(GNN)来学习每个item的隐向量表示,进而通过一个注意力网络(Attention Network)架构模型来捕捉用户的短期兴趣,以达到捕获长期与短期兴趣共存的向量表示。 SR-GNN模型明显优于一些最先进的基于会话的推荐方法。 项目地址:https://github.com/PaddlePaddle/models/tree/develop/PaddleRec/gnn 应用背景 随着互联网上信息量的快速增长,推荐系统能够帮助用户缓解信息过载的问题,进而有效帮助用户在众多Web应用程序中(比如:搜索、电子商务、媒体流网站等)选择自己感兴趣的信息。大多数现有的推荐系统都假设一个前提:用户画像(user profile)和历史活动信息是被不断记录的。 然而实际上

机器学习可视化:模型评估和参数调优

被刻印的时光 ゝ 提交于 2019-12-03 17:30:20
本篇文章详细阐述机器学习模型评估和参数调优。将主要围绕两个问题来阐述: “知其所以然”:当你选择的一个机器学习模型运行时,你要知道它是如何工作的; “青出于蓝”:更进一步,你得知道如何让此机器学习模型工作的更优。 模型评估的方法 一般情况来说,F1评分或者R平方(R-Squared value)等数值评分可以告诉我们训练的机器学习模型的好坏。也有其它许多度量方式来评估拟合模型。 你应该猜出来,我将提出使用可视化的方法结合数值评分来更直观的评判机器学习模型。接下来的几个部分将分享一些有用的工具。 首先想声明的,单单一个评分或者一条线,是无法完全评估一个机器学习模型。偏离真实场景来评估机器学习模型('good' or 'bad')都是“耍流氓”。某个机器学习模型若可“驾驭”小样本数据集生成最多预测模型(即,命中更多预测数据集)。如果一个拟合模型比其它拟合过的模型形式或者你昨天的预测模型能够得到更好的结果,那即是好('good')。 下面是一些标准指标: confusion_matrix , mean_squared_error , r2_score ,这些可以用来评判分类器或者回归的好坏。表格中给出的是 Scikit-Learn 中的函数以及描述: 评估分类模型 : 指标 描述 Scikit-learn函数 Precision 精准度 from sklearn.metrics

动手深度学习7-从零开始完成softmax分类

百般思念 提交于 2019-12-03 14:37:11
获取和读取数据 初始化模型参数 实现softmax运算 定义模型 定义损失函数 计算分类准确率 训练模型 小结 import torch import torchvision import numpy as np import sys import torchvision.transforms as transforms sys.path.append('..') import d2lzh_pytorch as d2l 获取和读取数据 我们将使用Fahsion_MNIST数据集,并设置批量大小为256 batch_size= 256 mnist_train= torchvision.datasets.FashionMNIST(root='~/Datasets/FashionMNIST',download=True,train=True,transform=transforms.ToTensor()) mnist_test = torchvision.datasets.FashionMNIST(root='~/Datasets/FashionMNIST',download=True,train=False,transform=transforms.ToTensor()) if sys.platform.startswith('win'): num_worker=0 #

yolov2

折月煮酒 提交于 2019-12-03 14:16:54
在这篇文章中,作者首先在YOLOv1的基础上提出了改进的YOLOv2,然后提出了一种检测与分类联合训练方法,使用这种联合训练方法在COCO检测数据集(用于检测)和ImageNet分类数据集(用于分类)上训练出了YOLO9000模型,其可以检测超过9000多类物体。 所以,这篇文章其实包含两个模型:YOLOv2和YOLO9000,不过后者是在前者基础上提出的,两者模型主体结构是一致的。 YOLOv2相比YOLOv1做了很多方面的改进,这也使得YOLOv2的mAP有显著的提升,并且YOLOv2的速度依然很快,保持着自己作为one-stage方法的优势,YOLOv2和Faster R-CNN, SSD等模型的对比如图1所示。 可以看到在速度比Faster RCNN快的情况下,YOLOV2的精度可以比Faster RCNN高。 1 YOLOv2的改进策略 YOLOv1虽然检测速度很快,但是在检测精度上却不如R-CNN系检测方法,YOLOv1在物体定位方面(localization)不够准确,并且召回率(recall)较低。YOLOv2共提出了几种改进策略来提升YOLO模型的定位准确度和召回率,从而提高mAP,YOLOv2在改进中遵循一个原则:保持检测速度,这也是YOLO模型的一大优势。YOLOv2的改进策略如图2所示,可以看出,大部分的改进方法都可以比较显著提升模型的mAP

分类与预测算法的评价

左心房为你撑大大i 提交于 2019-12-03 13:37:43
分类与预测的任务是在数据挖掘中经常完成的任务,那么这带来的一个问题是我们如何对一个分类与预测的模型进行评价那? 评价有很多的方式,你比如说:均方误差法,这应该是误差分析的综合指标的方式之一,这在神经网络是经常用到的. 这里我们主要关注分类或者预测的结果与实际值之间的差距,有一个很重要的模型,是经常用到关于其分类的评价的,即 ROC曲线 . ROC曲线在我以前的博客中已经有实现的具体代码,这里要详细展开详细分析. ROC的模型的构建的基础是 混淆矩阵 .从混淆矩阵中,混淆矩阵是模式识别领域中一种常用的表达形式,它描绘了样本数据的真实属性与识别结果之间类型的关系。(如果评价结果合理,其对角线上的值总是非常大的)* ROC曲线的横轴与纵轴就是基于混淆矩阵而产生。纵轴称为“真正例率(TPR)”,横轴称为“假正例率(FPR)” 对应的混淆矩阵如下; 其对应的定义为: 其绘制的评价的ROC曲线为: 上面的大多数东西在网上都能够找到,那么我们怎么样评价模型的好坏那? 即引出AUC的概念,它的意思是曲线与横轴围成的面积,直观一点说就是,如果曲线越靠近我们的y轴,那么其模型的评价就是越好的.,因为越靠近y轴,其面积也就越大..(具体计算可以积分) 这带来的一个启发就是,我们针对一个分类与预测问题,可以分别用不同的算法是对其实现(比如可以用决策树与神经网络分别对其实现),分别构造这两者的 混淆矩阵