线性回归
引言
在中学就学习过,一元线性回归中,对于某组常数项和回归系数,有评价标准 使用最小二乘法(正规方程)可以使其最小,此时
多元线性回归
损失函数
类似地,多元线性回归中,对于个样本的个特征 以及一组回归系数,有相同的评价标准,为了去掉样本规模的影响除以,定义损失函数
正规方程
同样可以使用正规方程,求解使得最小。
标量对向量的求导方法
或 依据和形式一致(Denominator Layout)或和形式一致(Numerator
Layout)而定,以下采用Denominator Layout。 于是我们有 (或者说,,则)
进一步地,对于二次型
于是
所以 这也就是雅可比矩阵。
二阶导
上面直接认定了代价函数有最小值,在这里我们可以向量对向量求导求海森矩阵
(因为连续函数偏导和求导顺序无关,其海森矩阵是对称矩阵)
而对于任意非零实列向量,的特征值 (内积) 所以是凸函数
令,若可逆,有
带回到一元线性回归
对于 和上文一致。
梯度下降法
就是让某组不...
前言
之前看到好多人说自己卸载win+linux双系统的linux之后,启动项、引导之类的都坏了,但是在了解UEFI+GPT和Legacy+MBR的区别后,如果自己的双系统是在UEFI引导模式+GPT分区表格式的,那不用担心,出问题的多是Legacy+MBR。
UEFI+GPT
UEFI+GPT需要一个存放引导启动文件的fat分区,名字可能叫做ESP、System_DRV、EFI等,我的这个分区下面还有一个EFI目录,里面是windows和debian的引导文件。
而另外装系统的分区就只有系统而已。
Legacy+MBR
Legacy+MBR在最前面的一段引导扇区中描述了分区引导信息(MBR),grub可能会安装到MBR里(安装win时也会覆盖进去)。
这种情况下,引导顺序是MBR->grub->linux boot数据->用户选择,所以直接删掉linux之后,grub就会出错。
所以还需要修复MBR。
UEFI+GPT卸载Linux流程
确定自己的模式是UEFI+GPT
UEFI这个在bios里就能看到,或者运行msinfo32,在系...
将二元数映射到一元数
给定一个二元数,其中的整数部分依次为数列,小数部分依次为数列,同理的整数部分为数列,小数部分为数列。
可以构造出与其唯一对应的一元数:的整数部分有一分隔标记,其左方为逆序的数列,右方为正序的数列,小数部分同理。
(内心OS:这样二元数不就和一元数一样多了么(没学好)
结果还真一样多,别人的构造方法还漂亮多了:小数部分的第位为,第位为,整数部分同理。
证明:有无穷多个质数
给定质数,构造,再构造,则除以中任意一个数都余,并且大于中任意一个数包括,所以要么是质数,要么有一个大于的质因数。
所以对于任意质数,都存在一个比它大的质数。
(好像是阿基米德的方法)
SpinLaunch的角动量问题
如上00:25说:发射器一端圆盘的近端慢于远端,所以圆盘释放时会带有角动量,听起来很符合直觉。这或许也是SpinLaunch(怎么logo像厕纸一样)面临的问题之一,下面对这个问题进行定量分析。
假设发射器角速度为,均质等厚圆盘中心到发射器轴的距离为,圆盘半径为,密度为。
那么,以发射器轴为中心画圆弧分割,为圆盘某点与圆心的距离,为此连...
scRNA-seq(R)
[2024-07-25]Rstudio
server的Python venv配置
有时候安装设置完之后即使看到配置成功了,但是还是无效,试着重启一下吧。
[2024-12-15]Read10x()在Seurat
V5中新功能的表现(多数据库报错)
在V5中,Read10x()可以读取一个目录的列表,直接整合成一个表达矩阵,但是实测在遇到基因没法对应的多个样本时会报Error in cbind.Matrix(x, y, deparse.level = 0L) : number of rows of matrices must match,还会卡住。
并且运行速度慢于lapply()分别读取(虽说这样还要merge、JoinLayers吧),还会产生没法回收的内存垃圾。
[2024-12-17]基因ID转换
从前用的org.Hs.eg.db之类的,但是他们的转换率不太行。
换用biomaRt,但是注意,举例来说,biomRt不仅会扔掉一些没法识别的ENSEMBL,还会把一些转换成NA,一些转换成"",需要特殊处理一下。
[2024-...
引言
最近购买了某商品,其上贴有所谓“海关商品溯源”系统贴纸,使用方法大致如下:
扫描二维码获取url进入系统
输入涂层下口令的末位并验证
但是发现其url包含了所需输入口令的一部分,也就是说它本来就藏在二维码中。
尝试更改url,即可构造出任意密码皆可查询成功的url。
并且可以更改成使原密码无效的url。
简析
查询界面url结构为通用段A+口令末位,服务器根据此返回整个口令,为通用段B+口令末位。
其查询过程即为发送参数包含口令以及输入口令末位的请求,服务器应该是直接根据参数是否匹配返回结果,同时返回的还有此参数的查询次数。
但是通用段不可任意更改,某些值会导致查询失败。
结论
那就有几个可能:
这是设计给假货的盗版系统
这是外包给哪个大学生做的系统
但是东西用着感觉和以前一样,这个系统好像也和以前官方买的一样......
根本不一样啊喂!
HTML
[2024-04-23]GIF的播放
整个html的GIF播放都是同步的,无法做到css动画异步播放的效果。
JavaScript
[2024-03]VUE3生命周期中setup()的位置
VUE的生命周期中,setup()在created()之前,在VUE2中尚可设置延时使setup()能够使用methods()和data,但VUE3已经完全禁止了这一点,将this指向undefined。
onMounted()是用来初始化数据的,不是拿去修改组件的,用mounted()。
[2024-03]VUE3废弃set()、get(),直接操作data
VUE3中废弃了set()、get(),并且直接操作data也会引发组件渲染更新。
[2024-03-19]<audio>异步播放音效
和PlaySound不一样,一个<audio>没法异步,只能多弄几个了()
CSS
[2024-05-25]display: inline元素的绝对定位子元素
如果这个父元素换了行,那这个子元素就没有了啊啊啊啊啊——
杂项
[2...
snRNA-seq
数据概览桑基图
大概是实验设计如此,并没有找到哪个数据包含了实验组条件对应的损伤模型、损伤后取样时间,在文中也没有显式提及,找了几个隐晦提及的地方:
b, Susceptible and resilient subtypes of spinal
cord neurons. Volcano plot shows log2 odds ratios comparing neuron
proportions between the uninjured spinal cord and each injured
condition at 7 days post injury (x axis) versus statistical
significance (t-test, y axis).
b,c, Chronophotography (b) and walking performance
(n = 5 each) (c) of young and old mice after spontaneous recovery
from moderate ...
案例里用了《Glioblastoma cell differentiation trajectory predicts the
immunotherapy response and overall survival of
patients》,主要是使用scRNA-seq(单细胞RNA测序)和bulk
RNA-seq(整体RNA测序)来找出GBM分化相关基因然后预测患者总生存期之类的。
实验原理
主要就是干了质控、基因可视化、降维与聚类、周期判断、double
droplet、细胞类型注释、拟时序分析。
数据集
这堆数据集就是一轴是细胞,一轴是基因种类,每个点代表某个细胞/样本的某个基因表达量。
质控
质控主要就是过滤:
低质量的细胞(比如基因少、线粒体基因多)
双细胞(两个细胞被捕获到同一个液滴中)
高ERCC基因(External RNA Controls
Consortium),“是一组合成的RNA分子,它们的浓度已知,并且在测序实验中添加到样本中,以便可以用来校正技术变异和进行数据标准化”,在所有细胞中的浓度应该是一致的,所以如果ERCC基因...
:root {
--bits-offset: min(2vw,20px);
--bit-width: min(8vw,80px);
--bit-height: min(11vw,110px);
--bit-margin-bottom: min(1vw,10px);
--bit-margin-right: min(1vw,10px);
}
#app {
width: 100%;
height: calc(var(--bit-height) + var(--bit-margin-bottom) * 2);
}
#time {
position: relative;
width: calc(var(--bit-width) * 6 + var(--bits-offset) * 2 + var(--bit-margin-right) * 3);
hei...