
机器学习
MaloFleur
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
似然函数Likelihood Function
关于似然函数,其实与“概率”差不多 在我的理解中,概率,是从已知的参数中来预测结果 而似然函数则是从结果中推理得到最适合的参数(使似然函数值最大) 例如最常见的抛硬币事件,我们都知道一枚硬币正面的概率是p0=0.5,反面为1-p0=0.5 那么抛出两个正面的概率就是P=0.25 而如果我们抛了两次硬币都是正面,那么这里我们假设p0=θ(0≤θ≤1) 则似然函数L(p0*p0)=θ2 为原创 2016-08-29 16:00:05 · 602 阅读 · 0 评论 -
关于weight decay
weight decay的作用主要是令神经网络中的权重变小(趋于0),以防止过拟合如y=∑iwixiy=\sum_{i}{w_ix_i}y=∑iwixi,则因噪声的存在,可能会令其中某几个www偏大,导致无法正确拟合正常输入weight decay的公式为:C=C0+λ2n∑iwi2C=C_0+\frac{\lambda}{2n}\sum_i{w_i^2}C=C0+2nλ∑iwi...原创 2019-07-18 09:37:35 · 4864 阅读 · 1 评论 -
关于CNN、RNN中的权值共享
CNN卷积相对于全连接卷积神经网络的优势之一,就在于其权值共享大大减少了参数量借用全连接网络到卷积神经网络逐步推导(组图无公式)中的一张图:由于全连接层只能接收一维向量,因此对于输入为M x N的图像,需要先展平为一维的(MxN) x 1因此若得到的特征图feature map大小为P x Q(对应的一维向量为(PxQ) x 1),则map中每个元素需要MxN个权重,分别于输入图对应...原创 2019-07-02 11:24:39 · 12216 阅读 · 0 评论 -
关于CNN、RNN中的梯度爆炸/梯度弥散
梯度爆炸(gradient explosion) 与 梯度弥散(gradient vanishing) 是神经网络研究中常可能遇到的问题,主要体现在训练不收敛,误差、权重波动大,以及出现NaN值,本文以CNN与RNN为例,说明梯度爆炸/弥散的产生原因CNNCNN神经网络的简易图如下:用fff表示卷积函数,忽略pooling层,则每一层的运算可以表示为xn=f(Wnxn−1+bn)x_n=f(...原创 2019-07-07 21:37:27 · 2855 阅读 · 0 评论 -
Pytorch多机多卡训练
本文转载自知乎:Pytorch多机多卡训练 - 谜一样的男子的文章 - 知乎关于Pytorch分布训练的话,大家一开始接触的往往是DataParallel,这个wrapper能够很方便的使用多张卡,而且将进程控制在一个。唯一的问题就在于,DataParallel只能满足一台机器上gpu的通信,而一台机器一般只能装8张卡,对于一些大任务,8张卡就很吃力了,这个时候我们就需要面对多机多卡分布式训练这...转载 2019-06-20 21:17:53 · 15057 阅读 · 4 评论 -
pytorch源码解读——RNN/LSTM篇
文章的字母中:b: batch_sizet: time_stepn: num_featureh: hidden_size假设输入数据维度input = (b, t, n)所设计的LSTM模型如下:class MYLSTM(nn.Module): def __init__(self, input_size, hidden_size, out_size): s...原创 2019-06-05 22:10:41 · 9765 阅读 · 7 评论 -
batch size 对神经网络训练的影响
先说结论:batch size并不是越大越好,也不是越小越好batch size直观上决定了一次喂给神经网络的样本数引用怎么选取训练神经网络时的Batch size?中的一张图片说明batch size的影响:如果使用 Gradient Descent,那么每一步的更新都会向类似于黄线那种,同时满足 6 个样本的 去贴近 (不是一步到位,而是通过迭代一点点更新变形如果使用 Stocha...原创 2019-05-20 16:14:59 · 4604 阅读 · 0 评论 -
机器学习——手推单层感知机公式
O为感知机的输出,t为真值,采用MSE进行反向传播最后根据设定的learning rate,可以更新各自的w权重原创 2019-04-19 22:19:42 · 766 阅读 · 0 评论 -
机器学习——手推svm公式(硬间隔)
关于核函数以及软间隔可以参考软间隔与核函数的选择核函数主要用于把原始较低维数据映射到高维,使其“线性可分”原创 2019-04-18 20:12:54 · 1004 阅读 · 0 评论 -
机器学习——手推多层感知机公式
说是多层,其实只推了两层,重点在于方框的步骤,这是运用链式法则的关键原创 2019-04-22 21:28:06 · 854 阅读 · 0 评论 -
pytorch中与维度/变换相关的几个函数
torch.size ()先说torch.size()函数,因为后面的方法都会用这个方法看到变换后的矩阵的维度通过该方法,可以查看当前Tensor的维度,用法也很简单:torch.view()torch.permute()torch.squeeze() / torch.unsqueeze()...原创 2019-01-11 22:59:15 · 32809 阅读 · 0 评论 -
机器学习之聚类(利用python的sklearn实现)
sklearn是Python重要的机器学习库,是scikit-learn的简称,支持包括分类、回归、降维和聚类四大机器学习算法。本文以Kmeans与DBSCAN为例,介绍其聚类函数的用法。 sklearn中聚类的具体用法,可在sklearn之cluster 中查看,实现了包括KMeans、DBSCAN在内的如下九种聚类:KMeans函数构造如下:cl...原创 2018-10-30 13:59:00 · 10830 阅读 · 0 评论 -
机器学习之朴素贝叶斯
写在前面:本文写自初学时,若后续学习过程中有新的理解,将不定期进行更新;若文中叙述有误,望不吝赐教,也将及时修改贝叶斯分类是一类分类算法的总称,这类算法均以贝叶斯定理为基础,故统称为贝叶斯分类。而朴素朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。在理解朴素贝叶斯之前,需要对两个数学概念进行介绍:先验概率、后验概率。举个例子:如今正值夏季,我们常会去买西瓜解暑,那么怎么挑选...原创 2018-09-15 14:58:05 · 557 阅读 · 0 评论 -
初识SVM(验证码识别)
之前读了一堆关于SVM的论文,最近终于开始用opencv的SVM来实战了,事实证明果然不能停留于理论,真正实践又花了一定时间,把自己的历程记录如下:首先来看一下我的main函数:int main() { Mat data_mat, res_mat; Mat res; vector<string> img_path; vector<int> img_catg;原创 2016-10-22 14:22:51 · 2249 阅读 · 0 评论 -
win10+vs2013+CUDA7.5 下搭建caffe
一、准备在此,首先要感谢happynear大神提供的包,GitHub上还有很多其它巨巨提供的资源可供下载,我这里采用的是happynear的,GitHub如下: https://github.com/happynear/caffe-windows 下面是附加的第三方库,也打包好了: https://pan.baidu.com/s/1bSzvKa首先确定一点:所以的路径都是英文,包括计算机名,按原创 2016-08-23 09:29:09 · 1288 阅读 · 0 评论 -
快速理解bagging与boosting及其分支
首先,集成学习是指综合多个模型的结果,以提升机器学习的性能。相比单个模型,往往能取得更好的结果。而Bagging和Boosting是集成学习中的两个方法(还有一个stacking,暂不做阐释),刚开始接触时稍有混乱,在此稍浅地记录下学习历程,以便快速理解 1. Bagging Bagging是Bootstrap Aggregating的简称,这是一种并行的方法,其首先生成多种基分类器,...原创 2019-08-18 19:59:49 · 345 阅读 · 0 评论