ML入门

6.6k 词

线性回归

引言

在中学就学习过,一元线性回归中,对于某组常数项和回归系数,有评价标准 使用最小二乘法(正规方程)可以使其最小,此时

多元线性回归

损失函数

类似地,多元线性回归中,对于个样本的个特征 以及一组回归系数,有相同的评价标准,为了去掉样本规模的影响除以,定义损失函数

正规方程

同样可以使用正规方程,求解使得最小。

标量对向量的求导方法

依据和形式一致(Denominator Layout)或和形式一致(Numerator Layout)而定,以下采用Denominator Layout。 于是我们有 (或者说,,则
进一步地,对于二次型

于是

所以 这也就是雅可比矩阵。
二阶导 上面直接认定了代价函数有最小值,在这里我们可以向量对向量求导求海森矩阵 (因为连续函数偏导和求导顺序无关,其海森矩阵是对称矩阵)
而对于任意非零实列向量的特征值 所以是凸函数

,若可逆,有

带回到一元线性回归

对于 和上文一致。

梯度下降法

就是让某组不断移动一个学习率倍数的偏导,可以进行特征缩放之类的。

联想到seurat

seurat里的特征缩放就是ScaleData()(特征内操作,不过seurat里行名才是特征),还有NormalizeData()的话(样本内操作),会除去不同样本之间数据尺度的影响(测序深度)。

适用于不可逆(一些情况是有特征线性相关,一些情况是样本数太少)以及其它拟合模型等多种情况。

模拟退火!
(注:后来发现,不可逆时损失函数应该仍为凸函数,只是存在一个最低平面,模拟退火用于一些损失函数非凸的模型的梯度下降才更为合适)

逻辑回归

引言

线性回归中,数据沿着拟合的曲线分布。若某曲线为,则分别代表曲线两边的区域,那有没有一种可能,将数据从曲线两侧分类?逻辑回归就是这么做的。

损失函数

逻辑回归中引入了Sigmoid函数 如此便可以从这条曲线根据分出正向类和负向类,认为其偏向正向类的概率为

这时就不能使用线性回归一样的损失函数了。

假如还是使用均方差

一通捣鼓下来算得(可以保留...虽然回头看我算的那一大坨确实算对了) 后面那个是半正定的,,而对于前面

  • 时,若,这一项为负
  • 时,若,这一项为负

所以这时损失函数就可能是非凸的,更多的可以看这些回答

所以我们使用交叉熵损失函数,其中

不行,再这样下去不懂春节期间能不能看完,接下来仅浏览

总之这两种情况可以转化成同一个表达式,然后同样计算海森矩阵,也能发现可以进行凸优化。

决策树

以前一直瞧不起决策树,但是其实人力找出根据特征进行分类的方法是一种更低效的行为...

神经网络

比较好玩的是用神经网络实现逻辑门,比如对于2输入1输出的2层神经网络,输入,连接权值为,输出即可实现与门,而因为2层网络就只能解决线性可分问题,所以像是XOR、XNOR门就需要构造一下3层的网络。

PS:递归神经网络很适合处理视频这样的时间序列数据,但deeplabcut里面好像没有涉及?我只看到他们多目标的top-down模型(目标识别分割->单独目标姿态识别)的第一步里,声称是使用了前后帧的信息。

PPS:感觉卷积神经网络和动物视觉很像?