1. 最小二乘法1.1. 最小二乘法与算术平均数引出问题: 来看一个生活中的例子。比如说,有五把尺子: 用它们来分别测量一线段的长度,得到的数值分别为(颜色指不同的尺子): 之所以出现不同的值可能因为: 不同厂家的尺子的生产精度不同 尺子材质不同,热胀冷缩不一样 测量的时候心情起伏不定 …… 这种情况下,一般取平均值来作为线段的长度: $$\overline x=\frac 1n \sum_i^n x_i$$ 这样做有道理吗? 我们猜测线段的实际长度为X,则任意一个测量值的误差为$|x-x_i|$ 由于取绝对值计算起来比较麻烦,大家一般用平方差来表示误差,为$(x-x_i)^2$ 则总的误差的平方为: $$\sum_i^n (x-x_i)^2$$ 当猜测的x值取不同的值时,得到的总误差平方会发生改变 而法国数学家,阿德里安-马里·勒让德提出让总误差的平方最小的x就是真值 这就是最小二乘法,即: $$\epsilon=\sum_i^n (x-x_i)^2 \quad \begin{matrix} \text{最小} \\ \Rightarrow\end{matrix} ...
接触Kaggle
1. Kaggle 基本介绍Kaggle 于 2010 年创立,专注数据科学,机器学习竞赛的举办,是全球最大的数据科学社区和数据竞赛平台 在 Kaggle 上,企业或者研究机构发布商业和科研难题,悬赏吸引全球的数据科学家,通过众包的方式解决建模问题。而参赛者可以接触到丰富的真实数据,解决实际问题,角逐名次,赢取奖金。诸如 Google,Facebook,Microsoft 等知名科技公司均在 Kaggle 上面举办过数据挖掘比赛 2017年3月,Kaggle 被 Google CloudNext 收购 1.1. 参赛方式可以以个人或者组队的形式参加比赛 组队人数一般没有限制,但需要在 Merger Deadline 前完成组队 关于组队,建议先单独个人进行数据探索和模型构建,以个人身份进行比赛,在比赛后期(譬如离比赛结束还有 2~3 周)再进行组队,以充分发挥组队的效果(类似于模型集成,模型差异性越大,越有可能有助于效果的提升,超越单模型的效果) 也可以一开始就组好队,方便分工协作,讨论问题和碰撞火花 Kaggle 对比赛的公正性相当重视: (1)每个人只允许使用一个账号进行提交 ...
Numpy与Pandas入门笔记
Numpy部分1. Ndarray 对象NumPy 最重要的一个特点是其 N 维数组对象 ndarray,它是一系列同类型数据的集合,以 0 下标为开始进行集合中元素的索引。 从上面的描述中,我们可以得出Ndarray对象的两个重要特点: ndarray中的每个元素的数据类型相同; ndarray 中的每个元素在内存中都有相同存储大小的区域; Pandas部分1. Pandas数据结构Pandas处理以下三个数据结构: 系列 Series; 数据帧 DataFrame; 面板 Panel; 考虑这些数据结构的最好方法是,较高维数据结构是其较低维数据结构的容器 例如,DataFrame是Series的容器,Panel是DataFrame的容器 数据结构 维数 描述 系列 1 1D标记均匀数组,大小不变 数据帧 2 一般2D标记,大小可变的表结构与潜在的异质类型的列 面板 3 一般3D标记,大小可变数组 1.1. Series系列是具有均匀数据的一维数组结构。例如,以下系列是整数:10,23,56,...的集合 特点: 均匀数据; 尺寸大小不变 ...
免疫学笔记
1. 免疫器官和组织免疫系统包括免疫器官、组织、免疫细胞和免疫分子 免疫器官包括:骨髓、胸腺、脾脏和淋巴结 免疫器官按照其功能的不同,又可以分为中枢免疫器官和外周免疫器官 1.1.中枢免疫器官人或其他哺乳动物的中枢免疫器官包括骨髓和胸腺 (1) 骨髓 骨髓是各类血细胞的发源地,由造血干细胞(HSC)定向分化而成 祖B细胞在骨髓中继续分化为成熟B细胞,祖T细胞则经血液循环迁移至胸腺,在胸腺微环境的诱导下进一步分化为成熟T细胞 成熟的B、T细胞离开骨髓或胸腺,经血液循环迁移并定居在外周免疫器官 骨髓除了是各类血细胞发生和成熟的场所之外,还是体液免疫应答发生的场所: 记忆B细胞在外周免疫器官收抗原再次刺激而被激活,随后经淋巴液和血液迁移至骨髓,在此分化为成熟浆细胞,持久地产生大量抗体并释放到血液循环 (2)胸腺 胸腺是T细胞分化、发育和成熟的场所 其由胸腺细胞和胸腺基质细胞组成,胸腺细胞是处于不同分化阶段的T细胞 胸腺的结构: 胸腺从其功能和解剖结构上将其分为两大部分:皮质和髓质 皮质 皮质内85%~90%的细胞为胸腺细胞,且主要是未成 ...
深入理解基因组变异检测(variants calling)
1. 背景知识 变异检测的常规步骤: 将一个或多个样本的reads比对到参考基因组; SNP calling:检出变异位点; genotype calling:鉴定出个体的每个变异位点的基因型 (genotype); 影响变异检测准确性的因素: base-calling 的错误率; 比对 (alignment) 的错误率; 低覆盖度的测序 (low-coverage sequencing, <5× per site per individual, on average),这使得:对于二倍体个体的两条同源染色体的某个位点,有很大概率只采样到其中一条染色体; 变异检测的准确率会影响到下游的分析,包括: 鉴定罕见变异 (rare mutations) 评估 allele 频率 相关性分析 (association mapping) 一个提高准确率的策略是进行靶向深度测序(sequence target regions deeply (at >20× coverage)) 但是,随着大样本检测需求的增加,中覆盖度 (5-20X) 或 低覆盖度 (<5X ...
理解机器学习
1. 理解极大似然估计和EM算法1.1. 搞懂极大似然估计与EM算法定义及理清它们间的关系 写在最前面的结论: 极大似然估计和EM算法都是对于概率模型而言的 极大似然是对概率模型参数学习优化目标的一种定义 EM算法是用于求解极大似然估计的一种迭代逼近的算法 机器学习的一大重要任务: 根据一些已观察到的证据(例如训练样本)来对感兴趣的未知变量(例如类别标记)进行估计 那么对于上面的任务,一种有效的实现途径就是使用概率模型 概率模型的本质是,将机器学习任务归结为计算变量的概率,其核心是基于可观测变量推断出位置变量的条件分布 假定所关心的变量的集合为Y,可观测变量集合为O,不可观测变量集合为I,则完全变量$U={O,I}$,且$Y\subset U$ 则基于概率模型的机器任务可以形式化地表示为 $$Y^*=arg \max_Y P(Y \mid O,\theta)$$ 即,对于已经训练好的模型$\theta$,给定一组观测值O,且已知感兴趣的未知变量Y的可能取值范围,计算出所以可能的$P(Y \mid O,\theta)$,那个概率最大的Y就是模型给出的判断 那么,如何从预先给出的 ...
超模君的数学干货
1. 自然常数e1.1. 什么是自然常数e?以一个银行存款的例子简单描述一下: 复利:将本金存到银行,一段时间后结算存款利息,然后将利息和本金加在一起的本息,作为下一轮的本金来进行利息的结算 考虑一种理想状况,也就是假定有这样一家银行,它一年的存款利率是100% (简记为1),并允许我们自由选择结算利息的次数。如果我们存入银行1块钱,那么我们一年最多能够赚多少钱呢? (1) 如果只在年底结算一次利息,由于一年的利率是1,那么一年后我们可以连本带利得到2块钱 $$1 \times (1 + 1) = 2 $$ (2) 如果我们要求每半年就结算一次利息,由于半年的利率是1/2,那么一年后我们可以连本带利得到2.25块钱 $$1 \times (1+\frac 12)^2=2.25$$ (3)如果我们要求每一个月就结算一次利息,由于一个月的利率是1/12,那么一年后我们可以连本带利得到2.61块钱 $$1 \times (1+\frac {1}{12})^{12}=2.61$$ 可以看到,利息结算次数越多,年底获得的收入也就越多 如果我们脑洞大开,要求银行时时刻刻为我们结算利息,也就是说结 ...
免疫组库测序:从入门到进阶
背景介绍TCR与BCR的结构: TCR与APC的互作: (a)(b) TCR与APC的互作; (c)T细胞中的VDJ基因重排 CDR3区域: 互补决定区域(complementarity determining region 3 (CDR3) domain),一般长度为45nt,有VJ junction形式(TCR-α)和VDJ junction形式(TCR-β) 材料选择:用αβ还是γδ? TCR有 αβ(外周血中90%~95%)和 γδ(外周血中5%~10%)二聚体形式,一般对TCR的研究都是针对占主体的αβ二聚体形式,且α的CDR3区域是VJ junction,β的CDR3区域是VDJ junction,所以β链与α链相比具有更多的组合形式和连接的多样性,因此TCR-seq一般都是针对β链的CDR3区域 材料选择:用DNA还是RNA? DNA 优点:丰富,容易提取且能保持长时间的稳定,且对于每一个TCR subunit,一个细胞只有两个位置有,或者说只有固定的两份拷贝,因此DNA模板分子的数量能反映T细胞的数量 缺点:必须进行PCR扩增来达 ...
Biopython学习笔记
1. 序列读入与输出序列的读入与输出通过Bio.SeqIO模块实现,它旨在提供一个简单的接口,实现对各种不同格式序列文件进行统一的处理 主要是基于对SeqRecord对象的操作,该对象包含一个 Seq 对象)和注释信息(如序列ID和描述信息) SeqRecord对象本质上就是一个字典: Seq键:保存序列组成 ID键:保存序列ID description键:保存序列的描述信息 …… 1.1. 解析/读取序列 (1)基本用法 SeqIO.parse( [FILE|HANDLE] , filetype) 第一个参数是一个文件名或者一个句柄( handle ,推荐) 第二个参数是一个小写字母字符串,用于指定序列格式(我们并不推测文件格式!),支持的文件格式 Bio.SeqIO.parse() 函数返回一个 SeqRecord 对象迭代器( iterator ),迭代器通常用在循环中 from Bio import SeqIOfor seq_record in SeqIO.parse("ls_orchid.gbk", "genbank"): print seq_recor ...
西瓜书带学训练营·实战任务
1. 线性回归1.1. 目标函数与损失函数$$\hat y = \theta_0+\theta_1x_1+…+\theta_nx_n$$ 写成向量化的形式为: $$h_{\theta}=\theta^TX$$ 优化目标为最小化均方差 (MSE): $$\min_{\theta} MSE(\theta)=\frac 12 \sum_{i=1}^m (\theta^TX^{(i)}-y^{(i)})^2$$ 1.2. 标准方程求解用标准方程法得到线性回归问题的闭式解,表达式为 $$\theta^*=(X^TX)^{-1}X^Ty$$ 可以使用Numpy中的线性代数模块 np.linalg 进行求解 import numpy as npimport matplotlib.pyplot as plt# 构成原始表达式为 y=4+3x 直线,加上高斯噪声X = 2*np.random.rand(100,1)y = 4 + 3*X + np.random.rand(100,1)# 用标准方程法进行求解X_b = np.c_[np.ones(100,1),X]theta_best = np.lina ...