机器学习
江小北
每想你一次,天上飘落一粒沙,从此形成了撒哈拉。每想你一次,天上就掉下一滴水,于是形成了太平洋。
展开
-
对抗训练笔记
对抗训练笔记原创 2022-11-05 10:46:22 · 112 阅读 · 0 评论 -
服务器离线运行nohub
! nohup python3 -W ignore -m train.py原创 2022-04-06 22:01:06 · 566 阅读 · 0 评论 -
面试记录Q
从牛客摘抄batchnorm的几个参数,能不能整合到前面的conv里,训练时和测试时的区别卷积参数:权重W,偏置位B WX+BBN层参数:均值mu,方差delta,缩放因子gamma,平移beta,一个分母防止为0的epsion感受野计算33,s=1与55,s=2的核在无限大(即不用考虑padding)的feature map上卷积计算的计算量之比解释一下sgd的momentum算法题:非常大的两个数组,一个是人的id(unique,无序),一个是浮点型身高值。一一对应。要原创 2021-10-11 16:11:40 · 330 阅读 · 0 评论 -
ID3/C4.5/CART
ID3C4.5原创 2021-10-11 11:15:17 · 119 阅读 · 0 评论 -
wing loss笔记
从经验和理论上比较,L1,L2和smooth L1损失函数,L1和smooth L1的性能比L2要好。原创 2021-10-10 23:00:45 · 605 阅读 · 0 评论 -
ArcFace笔记
论文标题:《ArcFace: Additive Angular Margin Loss for Deep Face Recognition》论文下载链接:https://arxiv.org/pdf/1801.07698v1.pdf上图是ArcFace的几何解释:(a)蓝色和绿色点代表了两个不同类别的向量特征,比如蓝色代表一些猫的图片向量特征,绿色代表一些狗的图片向量特征。ArcFace可以直接进一步增加两种类别间隔。(2)右边更加直观地解释了角度和角度间隔。ArcFace的角度间隔代表了(超)球面上原创 2021-06-11 14:25:15 · 238 阅读 · 2 评论 -
gMLP
from torch import nnfrom torch.nn import functional as Fclass SpatialGatingUnit(nn.Module): def __init__(self, d_ffn, seq_len): super().__init__() self.norm = nn.LayerNorm(d_ffn) self.spatial_proj = nn.Conv1d(seq_len, seq...原创 2021-05-23 12:20:43 · 643 阅读 · 0 评论 -
常用的时间序列模型
白噪声模型时间序列算法之ARIMA模型对非平稳时间序列的分析方法可以分为确定性因素分解的时序分析和随机时序分析两个大类。确定性因素分解的方法把所有序列的变化都归结为4个因素:长期趋势、季节变动、循环变动和随机波动。其中长期趋势和季节变动的规律性信息通常比较容易提取,而由随机因素导致的波动则非常难确定和分析,对随机信息浪费验证,会导致模型拟合精度差。随机时序分析法的发展就是为了弥补确定性因素分解方法的不足。根据时间序列的不同特点,随机时序分析可以建立的模型有ARIMA模型、残差自回归模型、季节模型.原创 2021-05-13 22:04:51 · 2866 阅读 · 0 评论 -
用逻辑回归来排序
用逻辑回归对商品属性排序背景:对商品质量的排序,假设我们有最近半年的每个商品的的销量,每个商品的收藏数量,每个商品的点击次数三种数据。目标:对商品打分,分数越高越好。 Score=a1∗销量+a2∗收藏数量\ Score=a_1*销量+a_2*收藏数量 Score=a1∗销量+a2∗收藏数量目标是求出 a1,a2\ a_1,a_2 a1,a2衡量好商品的办法:如果商品被点击次数超过10次,就认为是好商品开始排序:商品销量收藏量原创 2021-04-25 22:41:25 · 746 阅读 · 0 评论 -
center loss代码PyTorch
import torchfrom torch import nnclass CenterLoss(nn.Module): """Center loss. Reference: Wen et al. A Discriminative Feature Learning Approach for Deep Face Recognition. ECCV 2016. Args: num_classes (int): number of classes.原创 2021-04-14 10:43:31 · 1072 阅读 · 2 评论 -
参数初始化kaiming
前向传播的时候, 每一层的卷积计算结果的方差为1.反向传播的时候, 每一 层的继续往前传的梯度方差为1(因为每层会有两个梯度的计算, 一个用来更新当前层的权重, 一个继续传播, 用于前面层的梯度的计算.)def weights_init_kaiming(m): classname = m.__class__.__name__ if classname.find('Linear') != -1: nn.init.kaiming_normal_(m.weight,..原创 2021-04-13 12:53:35 · 898 阅读 · 0 评论 -
DLA:一种深度网络特征融合方法
原创 2021-04-12 12:54:44 · 425 阅读 · 0 评论 -
XGBoost和lightGBM笔记
1.XGBoost模型假设一共K棵树,那么fk(xi)f_{k}(x_{i})fk(xi)表示第i个样本在第k棵树中落在叶子节点的权重。训练时候的目标函数3. 如何构造回归树要求的就是未知的fkf_kfk。4.贪心算法定义树的复杂度:用叶子的个数和叶子权重的平滑程度来描述模型的复杂度。5.求最优值6.求树的结构现在只要知道树的结构,就能得到一个该结构下的最好分数。用贪婪算法去确定树的结构。从树的深度为0开始,每一节点遍历所有的特征。对于某个特征,先按原创 2021-03-17 11:22:12 · 215 阅读 · 0 评论 -
机器学习面试(六)
为什么正则化能降低过拟合程度,并且说明L1和L2正则化结构风险最小化角度:结构风险最小化: 在经验风险最小化的基础上(也就是训练误差最小化),尽可能采用简单的模型,以此提高泛化预测精度。当加入L2正则化的时候,分析和L1正则化是类似的,也就是说我们仅仅是从菱形变成了圆形而已,同样还是求原曲线和圆形的切点作为最终解。当然与L1范数比,我们这样求的L2范数的从图上来看,不容易交在坐标轴上,但是仍然比较靠近坐标轴。因此这也就是我们老说的,L2范数能让解比较小(靠近0),但是比较平滑(不等于.原创 2021-04-04 23:04:32 · 98 阅读 · 0 评论 -
机器学习面试(五)
偏差与方差偏差指的是算法期望的预测与真实值之间的偏差程度,反映了模型本身的拟和能力;方差度量了同等大小的训练集的变动导致学习性能的变化,刻画了数据扰动所导致的影响。随机森林样本随机,特征随机,所以一般不易过拟合,且树的数量越多,随机森林会收敛到更低的泛化误差。信息增益,增益率,基尼指数K-means高斯混合模型GMM推导见笔记PCALDA分类中为什么不用均方差损失?MSE和MAE.原创 2021-04-03 11:05:36 · 85 阅读 · 1 评论 -
机器学习面试(四)
机器学习中LR(Logistic Regression)和SVM(Support Vector Machine)有什么区别与联系?**联系:**都是分分类算法,都是监督学习算法,都是判别式模型区别GBDT原创 2021-04-02 19:22:14 · 74 阅读 · 0 评论 -
机器学习面试(三)
如何检测两组数据是否同分布介绍一下BN和LN?有什么差异?LN是在哪个维度上进行归一化?代码实现卷积操作class Conv2D(nn.Module): def __init__(self, kernel_size): super(Conv2D, self).__init__() self.weight = nn.Parameter(torch.randn(kernel_size)) self.bias = nn.Parameter(torch.randn(1)) def .原创 2021-04-02 12:09:58 · 165 阅读 · 0 评论 -
机器学习面试(二)
Batch Normalization使用顺序训练把数据分为若干组,按组来更新参数,一组中的数据共同决定了本次梯度的方向,下降时候减少了随机性。假设神经网络某层一个batch的输入为X=[x1,x2,…xn],其中xi代表一个样本,n为batch_size。首先需要求得mini-batch里面的元素的均值:接下来,求取mini-batch的方差:这样就可以对每个元素进行归一化。最后进行尺度缩放和偏移操作,这样可以变换回原始的分布,实现恒等变换,这样的目的是为了补偿网络的非线性表达能力.原创 2021-04-01 10:27:54 · 92 阅读 · 0 评论 -
机器学习面试题(一)
准确率与精准率的区别降维的方法PCA推导LDA推导样本不平衡怎么办带权重的损失函数处理样本不平衡K-means如何选取K值ROC和AUCAuc体现出容忍样本倾斜的能力,只反应模型对正负样本排序能力的强弱,而其直观含以上是任意取一个正样本和负样本,正样本的得分大于负样本的概率。RMSE和MAE的区别bagging和boosting 的区别和联系...原创 2021-03-31 16:11:17 · 71 阅读 · 0 评论 -
凉面
简述yolo V3原理;简述faster rcnn原理;yolo v3通过什么方法去避免双阶段,实现单阶段;NMS原理Triplet loss怎么去选择负样本;重排序(re-rank)原理yolo v3下采样的倍数yolo v3的损失函数yolo v3的输入固定吗?为什么是这些输入,有什么原因吗?...原创 2021-03-26 11:04:36 · 102 阅读 · 0 评论 -
百度目标检测7日训练营 PaddleDetection 作业3
yolo目标检测1 锚框设置,如图所示2 上分技巧:原创 2020-09-25 22:13:43 · 139 阅读 · 0 评论 -
Bert
https://blog.csdn.net/jiaowoshouzi/article/details/89073944转载 2020-08-29 18:06:54 · 166 阅读 · 0 评论 -
CBAM: Convolutional Block Attention Module笔记
代码原创 2020-04-19 11:54:38 · 191 阅读 · 0 评论 -
yolo v1笔记
1.代码1.1 netclass YOLO_V1(nn.Module): def __init__(self): super(YOLO_V1, self).__init__() C = 20 # number of classes print("\n------Initiating YOLO v1------\n") ...原创 2020-04-03 18:35:55 · 288 阅读 · 0 评论 -
视觉中Attention自注意力机制笔记(二)
Non-local原创 2020-04-01 18:21:45 · 1119 阅读 · 0 评论 -
视觉中Attention自注意力机制笔记(一)
1.软注意力机制原创 2020-03-26 11:28:29 · 5583 阅读 · 0 评论 -
非线性问题处理方法
简单介绍非线性问题的三种处理办法1.非线性转换转换为线性问题由Cover定理可知,高维比低维更线性可分。比如异或问题转换到3维空间2.核方法。如果说非线性转换时明转,那么核方法就是暗转。3.神经网络。神经网络某种意义就是非线性函数。...原创 2020-01-17 20:48:38 · 3695 阅读 · 0 评论 -
从线性回归到线性分类
线性回归在统计机器学习中占据了核心地位,最基础的模型。线性回归有三个特点,打破线性回归的一个或几个特点,就形成了统计机器学习中的众多模型。三个特点如下:1. 线性: 1.1关于特征x是线性的, 1.2关于参数w是线性的。 1.3从全局看线性组合之后直接输出了结果,没有任何处理。2. 全局性:对所有的特征空间拟合,不是将特征分段拟合。3. 数据...原创 2020-01-17 20:13:26 · 1164 阅读 · 0 评论 -
浅谈机器学习中的贝叶斯派和频率派
下面的简单阐述自己对频率派和贝叶斯派的一些认识,不一定正确。 机器学习一直有两个派别:频率派和贝叶斯派。频率派发展成统计机器学习,贝叶斯派发展成概率图模型。 频率派认为模型的参数θ是一个未知的常量,数据X是随机变量,关心的是数据,需要把参数θ估计出来,常用的方法就是极大似然估计。 贝叶斯派认为θ是一个随机变量,服从一个概率分布θ~p(θ...原创 2020-01-17 19:15:18 · 968 阅读 · 0 评论 -
浅谈从机器学习到深度学习
机器学习分为频率派和贝叶斯派。频率派发展成统计机器学习,贝叶斯派发展成概率图模型。频率派有“四化”,如图所示,正则化有很多种,在损失函数后面加一个惩罚项,比如线性回归里面的L1和L2正则化,每个模型的正则化项不一定相同;核化用处非常多,常见的有kernel SVM,另外在降维也有用到,比如kernel PCA。集成方法现在非常多,bagging代表是随机森林,boosting代表有A...原创 2020-01-16 22:37:08 · 608 阅读 · 0 评论 -
朴素贝叶斯
本文主要讲朴素贝叶斯算法(naiveBayes)1.基本方法朴素贝叶斯发是基于贝叶斯定理与特征条件独立假设的分类方法。所谓朴素即是特征条件独立。对于给定的输入x,利用贝叶斯定理求出后验概率最大的输出y。2.后验概率最大化3.算法下面简单举个栗子:4.朴素贝叶斯应用:文档分类及其实现在文本中获取特征,需要先拆分文本。将每个文本变成词向...原创 2019-07-02 18:11:33 · 106 阅读 · 0 评论 -
KNN与kd树及其实现
本文主要讲K近邻算法(KNN),kd树的构造和搜索1.KNN算法KNN是基本的分类算法,采用多数表决的方式预测。算法很简单,下面举个栗子,并运行看看结果以电影为例子,给出一个数据集,再预测一个电影是爱情片还是动作片。下面是数据集即,打斗镜头和接吻镜头是数据的特征维度,电影类别是实例的类别,对应上面算法的y给出一个电影(18,90),打斗镜头18次,接吻镜头90次,现...原创 2019-07-02 14:15:04 · 660 阅读 · 0 评论 -
感知机学习随笔
本文主要讲Python实现感知机算法,简单讲一下感知机模型,学习策略和算法。 import copytraining_set = [[(3, 3), 1], [(4, 3), 1], [(1, 1), -1]] #以书本训练数据为例w = [0, 0] #权值向量b = 0 #偏置history = [] #存放所有的w和b的历史记录...原创 2019-05-26 20:16:33 · 102 阅读 · 0 评论 -
多维高斯分布(二)
本文继续讲多维高斯分布,前面一篇文章讲的是已知联合概率分布,求边缘概率分布和条件概率分布,本文主要讲已知其中某一个的边缘概率分布和条件概率分布,求另一个的边缘概率分布和条件概率分布。同样采用构造的方法,借助联合概率分布求解,最后转换为上一节的内容。这里的定理不再赘述,可参考前面一节内容。...原创 2019-05-17 15:42:13 · 710 阅读 · 0 评论 -
多维高斯分布(一)
多维高斯分布(一)多维高斯分布是机器学习里面很重要的数学知识,应用于线性高斯模型。本文主要讲已知联合概率分布,求边缘概率分布和条件概率分布。(由于不会在CSDN里面编辑数学公式,所以证明过程都是在word上写的,最后粘贴上面来的)...原创 2019-05-15 16:11:34 · 1456 阅读 · 5 评论