自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

FanJin的博客

奋战在肿瘤学领域的程序员

  • 博客(114)
  • 收藏
  • 关注

原创 Spring 实战小结

1 解耦合 及 设计模式解耦合在Spring中运用得淋漓尽致,AOP 和 IoC 是Spring项目中非常重要的设计思维。另外,各类 design pattern 也在Spring中充分地使用,因此这些知识是Spring的重要基础。2 MVC3Spring 中的 BeanSpring可以理解为 面向Bean 的编程(BOP,Bean Oriented Programming)。4 Spring 与 Spring MVCSpring 及 Spring MVC ...

2020-07-06 01:39:45 829 3

原创 项目设计中的解耦合

解耦,通俗理解就是:方便将代码分开写,不同程序员可以完全负责不同的模块代码,不需要关心别人怎么写,我只需要知道调用你的模块时需要什么参数和返回什么结果就行。或者说:方便扩展,方便换新的。解耦合主要分为两大流派:依赖注入(DI) 和 面向切面编程(AOP)。基本的概念这里就不重复写(抄)了,写写自己的思考。1 依赖注入依赖注入,Dependency Injection,又称为IoC(控制反转)。23种设计模式中,很多设计模式(behavior pattern)都使用了依赖注入的思想,用于管理类与类

2020-07-05 16:25:31 1844

原创 最大独立集和最大完全子图

定义最大独立集:当且仅当对于U 中任意点u 和v所构成的边(u , v) 不是G 的一条边时,U 定义了一个空子图。当且仅当一个子集不被包含在一个更大的点集中时,该点集是图G 的一个独立集(independent set ),同时它也定义了图G 的空子图。最大独立集是具有最大尺寸的独立集(摘自:百度百科:最大独立集)。最大完全子图:图中任意两顶点都直接相连的图,称为完全图,也称全连接图。图...

2020-03-22 00:35:40 10679

转载 马尔可夫聚类 MCL

本文转载自:聚类算法——MCLBackgroundDifferent ClusteringVector Clustering我们在描述一个人时,常常会使用他所拥有的特点来表示,比如说:张三,男,高个子,有点壮。那么,这就可以用四维向量来表示,如果再复杂一些,就是更高维的向量空间了。根据各个维度的特征进行聚类是常见的数据分析任务,这类聚类方法包括:系统聚类法、K均值聚类法等。Gr...

2020-03-17 22:05:16 4693

原创 R语音中的并行与分段技巧

在众多编程语言中,R语言是典型的运行慢和耗内存。当数据表比较庞大(比如一个数据集达100G),而内存有限时(比如一台普通电脑内存16G),使用R语言一次读入和处理,常规做法完全不可行。即使调大虚拟内存(swap空间),使用memory.limit(Windows系统)或 ulimit -s -v(Linux系统)等操作(虚拟内存其实很慢),即使再辅之以rm()和gc()及时清理内存(个人感觉效果甚...

2020-02-28 12:50:37 1043

原创 提高非参数检验功效的潜在方法

对于非正态分布的数据,当样本量不够大(如小于30)时,Wilcoxon 检验的功效较低。如何提高非参数检验的功效,这是个不容易的问题。Wilcoxon是一个特异度很高的检验方法,但小样本时灵敏度较低。如果简单放宽检验水准,将会迅速损失特异度,并不是上上策。小样本的差异分析一直是个头疼的问题,对于两组样本量都少于30的情况,各类非参数检验都很低效。除了尝试对数据log或开根号转化等数据预处理技巧外,...

2019-11-17 02:20:00 1904

原创 基于分布状态的两样本非参数检验

Fisher精确检验(基于超几何分布)的基本假设可以通俗理解为:如果当前分组方式是一种随机现象(无意义的分组),那么基于当前分组出现当前离散分布的可能性有多大(当然严格意义上应该这么说:比当前分布状态更极端的各分布状态的累积概率是多少 [包含与当前分布状态类似的状态] 。严格的描述有点拗口,以下仍采用这种简单懒惰的描述——“可能性”。这种懒惰的描述其实也让全文的描述显得很怪很不严谨)。那么,能...

2019-11-16 13:56:07 1121

原创 富集分析

说到富集分析,做生信的童鞋立刻就会想到GO/KEGG Enrichment、GSEA这两大类方法。但这只是富集分析的两种常见形式,富集分析的概念要更广。GO/KEGG Enrichment 这一类富集分析是最简单的富集方法,只关心基因集的富集比例;GSEA类方法更进一层,还关心基因集在打分排序中的分布情况。我们经常使用富集分析的p值以及FDR值,判断是否富集显著。然而对应的统计量如何计算?富集分析...

2019-11-14 18:00:01 16941 3

原创 内部验证

严格的建模流程,需要将数据划分成训练集和测试集,测试集不参与训练模型的参数(包括超参数)的过程。对于不需要选择超参数的模型(如广义线性模型或树模型的变量已确定时),直接使用训练集进行训练即可得到较为可靠的参数。但对于需要确定超参数的情况(比如SVM模型、广义线性模型或树模型需要筛选变量时),必须进一步将训练集划分成一部分验证集,以确定超参数。此时,内部验证是十分重要的环节。另外,当样本量不够大而缺...

2019-11-13 21:31:18 12819

原创 数据分析中的严谨问题

数据分析中,不少人存在或多或少的不严谨操作。本文大致列举一些关于Fold Change的计算Fold Change是差异biomarker筛选的一个常用步骤,一般大家都使用两组的均值相除进行计算。但是,对于非正态分布,使用均值相除是否合理?以下找几个特殊案例进行分析存在异常值时A组:1, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 6, 7, 10, 36, 均值为...

2019-11-06 18:31:22 3538

原创 相关性系数替代模型预测得分

我们知道,构建模型后(得到权重参数),预测某个样本的得分(输出),只需要将该样本的按照模型的转化公式计算即可。但是,笔者最近看到两篇CNS的转录组学文献,采用了另一种构建样本得分的方法,使用相关性系数替代预测得分。具体来讲,这些文献中,在求得模型的权重向量W后,对于样本X,其预测得分用替代。而常规做法中,预测得分采用的是。上述score与predict之间是否总是一致,一致性是否健壮?...

2019-11-04 11:13:31 1914

转载 PID控制算法

本文转自:一文读懂PID控制算法(抛弃公式,从原理上真正理解PID控制)最近讨论一个根据血糖监测值调整葡萄糖输注速度的问题,小伙伴考虑用PID实现,因此简单过了一遍PID算法。PID控制应该算是应用非常广泛的控制算法了。小到控制一个元件的温度,大到控制无人机的飞行姿态和飞行速度等等,都可以使用PID控制。这里我们从原理上来理解PID控制。PID(proportion integration...

2019-10-12 20:40:56 766

转载 贝叶斯学习笔记

概率编程允许在用户自定义的概率模型上进行自动贝叶斯推断。本文主要基于概率编程的一个常用框架——PyMC3进行操作。PyMC3使用Theano通过变分推理进行梯度计算,并使用了C实现加速运算。PyMC3具有先进的下一代MCMC采样算法如No-U-Turn Sampler (NUTS; Hoffman, 2014)和Hamiltonian Monte Carlo自整定变体(HMC; Duane, ...

2019-10-10 01:47:52 2222

转载 马尔可夫链蒙特卡罗算法 MCMC

马尔可夫链蒙特卡罗算法(MCMC)是贝叶斯推断中的明星算法,困惑笔者颇久,阅读了刘建平大佬的博客及知乎上的一些阅读笔记后,终于有了些自己的理解。本文基于刘建平大佬的博客进行梳理,复制粘贴较多(甚至截图),权且当成读书笔记。蒙特卡罗方法原文链接:MCMC(一)蒙特卡罗方法要理解好MCMC,得先从第二个MC——Monte Carlo开始说起。引入求解积分问题(即面积计算类问题,尤其...

2019-10-06 14:50:35 8587

原创 目标检测——深度学习算法

前文简单概述了目标检测的传统算法,本文将步入深度学习时代。ILSVRC 2012中AlexNet 的出现标志着计算机视觉进入深度学习阶段,目标检测算法随之在2014年问世了R-CNN算法框架。各传统算法的主要区别在于特征提取的思路不同,如果用CNN提取特征,我们便能得到一个粗略的基于CNN特征提取的目标检测算法:暴力搜索,从左到右、从上到下滑动窗口,利用分类识别目标。为了在不同观察距离处检测不...

2019-09-16 22:59:26 1773

原创 目标检测——传统算法

目标检测是计算机视觉中的重要任务之一。本系列博客将总结目标检测的各类算法,包括传统方法、基于CNN的算法(One stage、Two stage)。本文主要对传统方法进行概述,大部分思想源自网上的博客和论文。个人观点,广义的目标检测不仅包括物体检测(Object Detection),还包括边缘检测(Border Detection)及关键点检测(Landmark Detection)等。因此...

2019-09-16 21:01:02 5699

原创 BWT算法原理解读

测序数据alignment有一些不错的算法,其中Burrows–Wheeler transform算法(简称BWT)是非常高效的一种。本文简单总结下BWT算法思路和原理。BWT的计算与还原BWT计算及还原步骤此处不赘述,大致如下图(图1和图2)所示,详细讲解可参考其他资料。 图1:BWT计算(图片来自宾州大学王凯老师) ...

2019-07-31 12:17:21 10972 2

原创 辩证看待倾向性评分法

倾向性评分匹配法(Propensity Score Matching,PSM)是临床观察性研究中经常使用的一种控制混杂偏移的技巧。其出现的背景是:需要控制的混杂变量很多,采用分层法控制偏移会导致样本量严重缩水,因而采用一种替代的可以近似控制混杂因素的方法。混杂因素混杂因素(即混杂变量,confounding variables)的定义和条件如下(摘自百度百科):混杂因素是指与研究因素...

2019-07-21 02:03:30 15282 8

原创 共线性那些事儿

我们经常听说,建模时应当尽量避免共线性(collinearity),共线性会导致参数估计不稳定、模型不可靠等等。那么共线性究竟有多可怕?共线性具体会带来什么问题?共线性得到的模型是否真的不行?笔者通过自己的一些思考,结合模拟数据的测试,对共线性的问题进行了些探讨。笔者拙见,如有纰漏,烦请指教。其实很多变量都存在少量的共线性关系,但是对建模基本没有造成影响。本文主要探讨的是共线性较严重的情况。...

2019-07-06 18:24:42 18645 5

翻译 Restricted cubic splines

本文主要译自:Restricted cubic splines,翻译加上自己的理解,整理如下。在统计学里,splines 技术用来对变量进行转换。有时候我们会将连续性变量转化为分类变量(哑变量化),因为该连续性变量与结局变量之间的线性关系比较差。比如建立疾病预后模型时,年龄这个变量通常会被通过选取一个合适的界值转化为分类变量。然而,很多大佬并不推荐使用分类变量。生统大佬FrankHarr...

2019-06-30 20:55:21 9543 1

转载 高维数据中特征筛选方法的思考总结——多变量分析筛选法

前言:之前的文章(高维数据中特征筛选方法的思考总结——单变量分析筛选法)中,对单变量分析筛选变量进行了初步考量,本文将进一步总结多变量分析筛选法。由于本文多处摘录网上的博客,只是进行了归纳整理,因此笔者将本文定性为转载类(转载请注明出处:https://blog.csdn.net/fjsd155/article/details/93754257)。多变量分析方法根据建模特点可以分为线性降维和非...

2019-06-26 17:11:31 28294 2

转载 XGBoost

本文借鉴自多篇博客,非原创。XGBoost是机器学习领域最近几年比较火热的一种十分强大的集成学习方法(系统),全称为eXtreme Gradient Boosting,由大牛陈天奇博士开发(陈天奇,交大ACM班毕业,华盛顿大学计算机博士)。预备知识BoostingBoosting是一类可将弱学习器提升为强学习器的集成学习算法。集成学习主要分为两大类,第一类是以Boosting...

2019-06-25 00:53:07 5896

转载 GBDT

在网上看到两篇不错的讲解GBDT的文章,决定转载,但已无法追溯原创作者(第一篇目前最早追溯到2012年CSDN上的一篇转载博客:GBDT(MART) 迭代决策树入门教程 | 简介,第二篇目前最早追溯到2017年的知乎专栏上一篇文章:Learn R | GBDT of Data Mining(二)),无论如何,向原创作者致敬。 GBDT(GradientBoostingDecis...

2019-06-25 00:01:17 5377

转载 偏最小二乘法 Partial Least Squares

本文前部分摘自:偏最小二乘法回归(Partial Least Squares Regression),后半部分原创。诸如基因组学、转录组学、蛋白组学及代谢组学等高通量数据分析,由于自变量数目大于病例数(未知数大于方程个数),无法直接使用传统的统计分析模型。比如,线性回归的窘境:如果样例数m相比特征数n少(m<n)或者特征间线性相关时,由于(n*n矩阵)的秩小于特征个数(即不可逆)。因此最...

2019-06-24 00:15:58 67625 9

原创 高维数据中特征筛选方法的思考总结——单变量分析筛选法

基因组学、转录组学、蛋白组学及代谢组学等生信问题(高通量数据)中,面临的第一步往往就是降维(或者说筛选特征)。降维方法分为两大类:单变量分析降维法、多变量分析降维法。单变量降维常常使用FC值或者P值,多变量降维常常使用LASSO和PLS等方法。对于这个问题,将分为两篇文章进行探讨,本文着重探讨单变量分析筛选法。常规方法的问题常规的方法是使用P值法和FC值法。所谓P值法,就是对两组样本进行 ...

2019-06-11 21:06:44 4221

原创 生存模型的calibration需要注意的一个问题

建立一个模型后,我们常常会评价模型的区分度(discrimination)和校准度(calibration)。生存模型中,我们经常会看到使用calibration图来呈现模型的校准度。笔者近期查阅了网上许多绘制calibration图的R代码,发现很多代码忽略了time.inc参数的使用,甚至注释中提到了这个参数的重要性却仍然用错了。将愚见记录与此,若有理解错误,烦请大佬指正。发现这个问题是源...

2019-06-09 17:18:34 11458 40

原创 非靶向代谢组学数据分析方法总结

生物信息学早已不再局限于基因组学领域了,后基因组学越来越受到关注,并且这几年“多组学”的也研究越来越多。其中,代谢组学是相对比较年轻的一门学科,“代谢组”(metabolome)的概念于1998第一次被提出。基因组学和转录组学是生物信息的上游,更多的体现的是生物活动的内在本质因素,而代谢组学是生物信息的最下游,体现的是生物活动的表型结果。代谢组学分为靶向代谢组学和非靶向代谢组学,本文将结合本人的经...

2019-04-30 18:53:10 51432

转载 使用U-Net 进行图像分割

最近做病理AI的细胞计数问题,需要对图像中的各个细胞进行分类,若采用普通的CNN+普通图像分割,估计实现效果不佳。为了解决这个问题,大致有两种方案:目标检测 和 图像分割。目标检测的算法以Faster R-CNN、RetinaNet、YOLO3、SSD等算法为代表;图像分割则以U-Net 等为代表。本文将简述 U-Net。平时接触较多的是TensorFlow、PyTorch 和 Keras 三...

2019-04-11 00:35:07 17347 1

转载 Global Average Pooling

CNN的变种有很多,除了CNN进化史上经典的那几种Net,还有一些网络根据实际问题的不同需求,对其中某些Layer进行修改。本文的问题源于一篇关于肺部CT的CNN的文章(ShuoWang,et al. Predicting EGFR mutation status in lung adenocarcinoma on computed tomography image using deep ...

2019-04-01 18:05:24 19412 1

转载 决策曲线 Decision Curve

本文转自:决策曲线分析法(Decision Curve Analysis,DCA)简介评价一种诊断方法是否好用,一般是作ROC曲线,计算AUC。但是,ROC只是从该方法的特异性和敏感性考虑,追求的是准确。而临床上,准确就足够了吗?患者就一定受益吗?比如我通过某个生物标志物预测患者是否患了某病,无论选取哪个值为临界值,都会遇到假阳性和假阴性的可能,有时候避免假阳性受益更大,有时候则更希望...

2019-04-01 17:08:58 24629 21

原创 Linux系统搭建GPU加速的PyTorch环境

当前训练CNN最受欢迎的两个框架是TensorFlow和 pyTorch,搭建相应的环境其实不难,博主早先在笔记本的Ubuntu上很快就搭建了pyTorch环境及手写了ResNet 的Demo。但是最近台式机配上比较不错的显卡后,再次搭建带CUDA的 pyTorch开发环境时,遇到一些问题,故简略记录于此。博主一直使用的是Ubuntu+Windows双系统,此次一并将双系统(Win10+Ubu...

2019-03-29 15:27:09 5837

原创 动态规划常见类型总结

本文针对动态规划的常见类型进行总结。虽说总结的是动态规划,但顺便把递推也放了进来。严格来说,递推不属于动态规划问题,因为动态规划不仅有递推过程,还要有决策(即取最优),但广义的动态规划是可以包含递推的,递推是一类简单的、特殊的动态规划,毕竟动态规划与递推密不可分。动态规划类型主要分为纯粹动态规划问题和复合动态规划问题。几点说明:1、博主本人于2012年对信息学竞赛中的动态规划问题进行了总结...

2019-03-26 23:55:28 18275 3

转载 广义线性模型GLM

本文转自GLM(广义线性模型) 与 LR(逻辑回归) 详解(原作者:爱学习的段哥哥)GLM的内容,本应该较早之前就总结的,但一直觉得这种教科书上的基础知识不值得专门花时间copy到博客里来。直到某一天看到一篇不错的总结,在征求作者同意后,转载于此(本人比较懒啦)(然而公式重新排版竟然花了1个多小时TT)。原文如下George Box said: “All models are wro...

2019-03-11 16:57:19 9949

原创 统计学书籍推荐

简单推荐几本不错的高级统计学书籍1.《应用多元统计分析》 2.《多元统计分析》 3.《线性和广义线性混合模型及其统计诊断》 4.《独立成分分析》 5.《高级医学统计学》 6.《医学统计学》 此外,还有两本统计书也还可以:《SPSS统计分析高级教程》《SAS高级统计分析教程》。顺便推荐...

2019-03-10 14:09:24 14141

转载 似然与极大似然估计

本文转自:似然与极大似然估计似然与概率在统计学中,似然函数(likelihood function,通常简写为likelihood,似然)是一个非常重要的内容,在非正式场合似然和概率(Probability)几乎是一对同义词,但是在统计学中似然和概率却是两个不同的概念。概率是在特定环境下某件事情发生的可能性,也就是结果没有产生之前依据环境所对应的参数来预测某件事情发生的可能性,比如抛硬币,...

2019-03-10 00:56:29 3670

原创 广义线性混合模型GLMM

广义线性混合模型GLMM(Generalized Linear Mixed Model),是广义线性模型GLM 和线性混淆模型LMM 的扩展形式,于二十世纪九十年代被提出。GLMM因其借鉴了混合模型的思想,其在处理纵向数据(重复测量资料)时,被认为具有独特的优势。GLMM不仅擅长处理重复测量资料,还可以用于任何层次结构的数据(因为本质上又是多水平模型)。提到GLMM,有必要先介绍几个容易混淆的...

2019-03-09 22:46:44 74923 6

转载 广义估计方程GEE

本文大部分内容来源于书本和论文等资料,笔者将本文归为转载类,读者转载时请注明出处:https://blog.csdn.net/fjsd155/article/details/88318536广义估计方程(generalized estimating equation, GEE)用于估计广义线性模型的参数(其中线性模型的结果之间可能存在未知的相关性)。于1986年由Liang和Zeger首次提出...

2019-03-08 21:52:54 60132 15

原创 卷积神经网络CNN

卷积神经网络CNN可谓是深度学习领域中较为成功的一种网络,计算机视觉一直是人工智能领域的先锋部队。ILSVRC(ImageNet Large Scale Visual Recognition Challenge),又称ImageNet比赛,是近年来机器视觉领域最受追捧也是最具权威的学术竞赛之一。ImageNet数据集是ILSVRC竞赛使用的是数据集,由斯坦福大学李飞飞教授主导,包含了超过1400万...

2019-03-01 20:55:32 5105

原创 深度神经网络DNN

深度网络DNN的概念,是基于浅层网路——多层感知机MLP(或称人工神经网络ANN)的基础上发展而来。关于MLP或ANN的知识,此处不作赘述,网上有很多资料可以参考。DNN是一个很广的概念,大名鼎鼎的CNN、RNN、GAN等都属于其范畴之内。CNN多用于网络结构数据类型的任务,如图像、声音、文本等;RNN多用于时间序列类型的任务,如音频、文本(NLP)、视频等;GAN则主要用于“生成数据、以假乱...

2019-02-28 01:14:11 7185

转载 使用深度学习进行生存分析

本文转自:使用深度学习进行生存分析相关资源原论文地址:here论文中使用的深度生存分析库:DeepSurv,是基于Theano 和 Lasagne库实现的,支持训练网络模型,预测等功能。考虑到DeepSurv库中存在着一些错误以及未实现的功能,博主使用目前主流的深度学习框架Tensorflow实现了深度生存分析库:TFDeepSurv。欢迎有兴趣的同学Star和Fork,指出错误,相互交流...

2019-02-24 20:18:22 7244 4

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除