1. 奇异值分解 (SVD) 及其应用1.1. SVD算法矩阵A可以如下分解成三个矩阵的乘积: $$A_{MN}=X_{MM} \times B_{MN} \times Y_{NN}$$ 其中X是一个酉矩阵 (Unitary Matrix),Y则是一个酉矩阵的共轭矩阵 与其共轭矩阵转置相乘等于单位阵的矩阵是酉矩阵,因此酉矩阵及其共轭矩阵都是方阵 B是一个对角阵,即只有对角线上是非0值 维基百科上给出了下面的例子: $$A_{4 \times 5}=\begin{bmatrix}1 & 0 & 0 & 0 & 2 \\0 & 0 & 3 & 0 & 0 \\0 & 0 & 0 & 0 & 0 \\0 & 4 & 0 & 0 & 0\end{bmatrix}\quadX_{4 \times 5}=\begin{bmatrix}0 & 0 & 1 & 0 \\0 & 1 & 0 & 0 \\0 & 0 &a ...
机器学习在生物信息学中的应用
1. 根据免疫组库TCRβ预测病人的CMV感染状态这个项目用到了641个样本(cohort 1),包括352 例CMV阴性(CMV-)和289例CMV阳性(CMV+) 外部验证用到了120个样本(cohort 2) 该机器学习的任务为: 讨论 TCRβ 免疫组的数据特点: 可能出现的TCRβ的集合非常大,而单个样本只能从中检测到稀疏的少数几个; 一个新样本中很可能会出现训练样本集合中未出现的TCRβ克隆类型; 对于一个给定的TCR,它对给定抗原肽的结合亲和力会受到HLA类型的调控,因此原始的用于判别分析的特征集合还受到隐变量——HLA类型的影响; 特征选择:鉴定表型相关的TCRβs 使用Fisher精确检验(单尾检验,具体实现过程请查看文末 *2.1. Fisher检验筛选CMV阳性(CMV+)相关克隆): Fisher检验的阈值设为:$P<1\times 10^{-4}$,FDR<0.14(该FDR的计算方法见文末 *3. FDR的计算方法,且阈值的选择问题本质上是一个模型选择问题 (model selection) ,该问题会在这部分靠 ...
Linux进阶笔记
安装LCD驱动2017-03-02-raspbian-jessie以前版本在/boot目录下,下载 LCD-show-161112.tar.gz : http://blog.lxx1.com/wp-content/uploads/2017/03/LCD-show-161112.tar.gz 然后解压,并赋予./LCD-show/LCD-show可执行权限 chmod +x ./LCD-show/LCD35-show 安装完成后,树莓派会重启,然后3.5寸屏幕上就可以正常显示了。 2017-03-02-raspbian-jessie版本安装过程同上,安装包地址: wget http://blog.lxx1.com/wp-content/uploads/2017/03/LCD-show-170309.tar.gz LCD和HDMI相互切换 在正常使用LCD的情况下,外接HDMI是没有显示的,如需启用HDMI输出,需执行以下命令,树莓派会自动重启。再等待约30秒,HDMI显示屏开始显示。 ./LCD-show/LCD-hdmi 如需切换回LCD显示方式,则需执行以下命令: ./LCD ...
python3爬虫笔记
1. 搭建爬虫环境如果是在Linux操作系统下,建议建立一个私人的python开发环境 可以virtalenv也可以用anaconda/miniconda 注意:由于树莓派系统是基于ARM架构,在一些软件/安装包的安装上可能会出现一些问题 1.1. 树莓派中安装Anaconda/Miniconda树莓派的CPU是基于ARM构架,不同于常用的Intel的X86构架,因此在Anaconda/Miniconda官网上直接下载的安装文件,在树莓派上安装会报错,此时的解决方案是获取专门为ARM编写的安装文件: $ wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-armv7l.sh$ bash Miniconda3-latest-Linux-armv7l.sh 1.2. 安装请求库1.2.1. 安装requests、selenium:pip用pip安装python包,若安装失败,可以尝试升级pip 升级pip的方法: >$ curl https://bootstrap.pypa.io/get-pip.py -o ...
学习笔记:树莓派用户指南(第3版)
Linux系统管理GUI与控制台切换加载GUI: startx 控制台:Ctrl+Alt+F1 使用外部存储设备1. 查看已连接驱动器列表: sudo fdisk -l /dev/sdXN中,X是驱动器号,N是分区编号 2. 创建挂载点: sudo mkdir /media/externaldrive 3. 开放用户访问权限: # 设置该文件夹所归属的组chgrp -R group /media/externaldrive# 给组分配该文件夹的写权限chmod -R g+w /media/externaldrive 4. 挂载USB存储设备: mount /dev/sdXN /media/externaldrive -o=rw 磁盘物理分布第一个分区很小,为VFAT格式,与Windows使用的分区一致,可被windows识别。该分区挂载在/boot目录下 第二个分区大很多,是EXT4格式(Linux原生文件系统) 软件管理 更新apt缓存: apt-get update 查找软件: apt-cache search keyword 安装软件: apt-get install ap ...
Perl进阶笔记
1. pod文档使用pod文档可以实现程序usage说明 =head1 part1 doc in part1=head2 part2 doc in part2...=cut # pod文档结束的标志 注意:每个=标签上下必须隔一行,否则就会错误解析。 用pod2doc $0可以将程序中的文档打印出来,不过一般用在程序内部,当程序参数设定错误时打印pod文档: die `pod2doc $0` if (...); 2. 用Getopt::Long模块传参首先需要在脚本开头加上对该模块的引用 use Getopt::Long; 使用GetOptions函数承接传递的参数: my ($var1,$var2,$var3,$var4); # 若使用"use strict"模式,则需要提前定义变量GetOptions( "i:s"=>\$var1, "o:s"=>\$var2, "n:i"=>\$var3, "m:i"=>\$var4 ); 3. perl单行执行perl - ...
每周一道初中数学题
最近在给面临中考的表妹补课,补的是数学和物理(化学尝试过,表示hold不住),补课会遇到了一些还挺有意思,稍有难度的题,就把它们的解题过程记录了下来 人到油腻中年,只能拿这样的东西练练脑子了,主要为了防止老年痴呆 Week-1题目是这样的: 正五边形广场ABCDE的边长为80m,甲、乙两个同学做游戏,分别从A、C两点处同时出发,沿A-B-C-D-E-A的方向绕广场行走,甲的速度为50m/min,乙的速度为46m/min,则两人第一次刚走到同一条边上时,( ) A. 甲在顶点A处 B. 甲在顶点B处 C. 甲在顶点C处 D. 甲在顶点D处 求解思路: 这本质上是一个同向同时的追击问题 想象一下,甲追上乙即两者相遇时的场景,两人第一次刚走到同一条边上的场景肯定发生在两者相遇之前,也就是说题目要求的那个时刻那个场景是发生在追击过程中的 可以很容易地想到,两人第一次刚走到同一条边上时,落在后面的甲肯定刚好落在这个五边形的某一个顶点上,这意味着甲此时刚好完整地走完了x条边,则此时甲移动的路程为80x 由于此时,乙与甲在同一条边上,则可设此时甲乙之间的距离为k,则此时乙移动的路程 ...
线性代数学习笔记
1. 理解向量与向量空间1.1. 向量及向量的运算法则向量的表示方式: 将有向线段的起点与终点分别表示为字母$A$、$B$。则向量表示为$\overrightarrow{AB}$,头上的箭头方向表示由A指向$B$; 只要长短相同、方向一致,向量就相等,否则不等: 在数学中,始终把向量的起点放在原点O,那么就可以用终点的坐标来表示向量,则 $$\vec u=(m,n)$$ 向量的运算法则: 向量加法 $$\vec a=\begin{pmatrix}a_1\\a_2\\ .\\ .\\ .\\a_n\end{pmatrix}\quad \vec b=\begin{pmatrix}b_1\\b_2\\ .\\ .\\ .\\b_n\end{pmatrix}$$ $$\vec a + vec b=\begin{pmatrix}a_1\\a_2\\ .\\ .\\ .\\a_n\end{pmatrix} + \begin{pmatrix}b_1\\b_2\\ .\\ .\\ .\\b_n\end{pmatrix}=\begin{pmatrix}a_1+b_1\\a_2+b_2\ ...
Markdown+LaTex Math
实践出一整套便于互联网传播分享的数学公式跨平台编辑、跨环境显示是非常有必要的,如果还是停留在Word或PDF时代,那数学就会被限制在文档或图片里而无法通过最流行的网页方式进行传播,而且Word、PDF等文件处理软件里的数学公式编辑既麻烦,而且最重要的是与编程脱节。 数学公式的编辑与显示常用的文本编辑用Markdown就能高效地完成,但是Markdown有一个实现不了的功能——编辑数学公式,当然也不是说完全不能解决,折中一下,编辑成图片,以图片形式插入也行,但这毕竟不太高效和方便,也不利于传播,而在出版界用得比较多的LaTex语法虽然在数字的编辑上有一套成熟的解决方案,LaTex math,但是在普通文本的编辑上,它的语法格式与Markdown相比又显得太过复杂 那么,有没有一种方法,可以分别将Markdown的文本编辑优势和LaTex的数学公式编辑优势相互结合起来呢? 有,就是Markdown+LaTex 与LaTex文档的比较 虽然很多数学学术论文整个文档就像使用Markdown一样是直接使用的LaTex语法来编辑的,但是仔细比对之后发现直接用LaTex语法来写整个文档来,它的效果 ...
无监督聚类算法
1. 谱聚类1.1. 一堆基础概念 单位矩阵 在矩阵中,n阶单位矩阵,是一个 nxn 的方形矩阵,其主对角线元素为1,其余元素为0。单位矩阵以 In 表示;如果阶数可忽略,或可由前后文确定的话,也可简记为I(或者E)。 如下图所示,便是一些单位矩阵: 单位矩阵中的第i列即为单位向量vi,单位向量同时也是单位矩阵的特征向量,特征值皆为1,因此这是唯一的特征值,且具有重数n。由此可见,单位矩阵的行列式为1,且迹数为n。 单位向量 向量空间中的单位向量就是长度为 1 的向量 两个单位向量的点积就是它们之间角度的余弦(因为它们的长度都是 1): 补充知识——向量的乘法运算 一个非零向量u→的正规化向量(即单位向量)u^就是平行于u→的单位向量,记作: 这里||u→||是u→的范数(长度) 正交与正交矩阵 正交是垂直这一直观概念的推广,若内积空间中两向量的内积(即点积)为0,则称它们是正交的,相当于这两向量垂直,换言之,如果能够定义向量间的夹角,则正交可以直观的理解为垂直 正交矩阵(orthogonal matrix)是一个元素为实数, ...