聚类算法简述
一、K-Means(K均值)聚类
算法步骤:
(1) 首先我们选择一些类/组,并随机初始化它们各自的中心点。中心点是与每个数据点向量长度相同的位置。这需要我们提前预知类的数量(即中心点的数量)。
(2) 计算每个数据点到中心点的距离,数据点距离哪个中心点最近就划分到哪一类中。
(3) 计算每一类中中心点作为新的中心点。
(4) 重复以上步骤,直到每一类中心在每次迭代后变化不大为止。也可以多次随机初始化中心点,然后选择运行结果最好的一个。
下图演示了K-Means进行分类的过程:
优点
速度快,计算简便
缺点
我们必须提前知道数据有多少类/组。
K-Medians是K-Means的一种变体,是用数据集的中位数而不是均值来计算数据的中心点。
K-Medians的优势是使用中位数来计算中心点不受异常值的影响;缺点是计算中位数时需要对数据集中的数据进行排序,速度相对于K-Means较慢。
KMeans 具体过程如下:
1、比如下面是随机的一些点,我们想将这些点分成三类,聚类中用簇(cluster)表示,那么离得比较近的点肯定归为一个簇,最理想的情况就是如下所示,不同簇用不同的 ...
Batch-Size解析
1.Batch Size 是什么?
Batch Size指的是一次训练所选取的样本数,
Batch Size的大小影响模型的优化程度和速度。
2.Batch Size 对训练效果的影响
当Batch Size太小时,比如Batch Size=1。一次迭代只需对一个样本进行计算,因此单次迭代速度很快,可用于在线学习。在实际过程中,由于单个样本的随机性,一方面,训练会剧烈波动;一方面, 这种波动可能使训练到达更好的局部最小值。
当Batch Size增大时,GPU的利用率会提高,对于相同的数据量处理的速度会更快一些。与此同时,Batch Size越大,其确定的下降方向越准,网络训练(收敛)的更快。
当Batch Size太大时,比如每次迭代更新使用所有的训练样本。那么迭代速度就会非常慢,甚至会出现训练不动的情况。
3.合理增大Batch Size 的好处
在合理范围内增大Batch Size 的好处在以下几个方面:
一次训练多组数据,内存利用率提高;GPU并行计算效率提高;
相比于小批量,对于相同的数据量,处理速度更快;
在一定范围内,一般来说,Batch Size 越大,其确定的 ...
优化算法
SGD、BGD、MBGD
现在所说的SGD一般都指MBGD(小批量梯度下降法Mini-batch Gradient Descent)。
三种梯度下降的方法用于更新参数,也就是当前参数等于上一时刻参数减去学习率乘以梯度。
三种方法的不同体现在计算梯度上
假设损失函数为二次函数,那么参数θ的更新公式为
SGD(随机梯度下降法Stochastic Gradient Descent)
SGD:mini-batch gradient descent(随机梯度下降)
SGD就是每一次迭代每次只用一个样本计算mini-batch的梯度,然后对参数进行更新,是最常见的优化方法了。
<img src=“https://ftp.bmp.ovh/imgs/2021/07/742b1819c08ba909.png” style=“zoom: 67%;” /
优点是速度快,缺点是可能陷入局部最优,搜索起来比较盲目,并不是每次都朝着最优的方向(因为单个样本可能噪音比较多),走的路径比较曲折(震荡)。
BGD (批梯度下降算法 Batch Gradient Descent)
计算梯度时候使用所有的数 ...
计算机顶级期刊会议及学习网址
CCF推荐计算机顶会/期刊
人工智能领域最核心的四大顶会AAAI、IJCAI、ICML和NIPS,以及作为计算机视觉和自然语言为代表的CVPR和ACL这两大学术会议,也涌现了许多“后起之秀”,比如仅创立六年却有深度学习顶会“无冕之王”之称的ICLR,还有创办于1996年的大有赶超ACL之势的自然语言处理领域顶会EMNLP。
作者:爱学习的团子酱
链接:https://zhuanlan.zhihu.com/p/339490850
来源:知乎
计算机视觉顶会
1、 ICCV (International Conference on Computer Vision)
ICCV 的全称是 IEEE International Conference on Computer Vision,即国际计算机视觉大会,由IEEE主办,与计算机视觉模式识别会议(CVPR)和欧洲计算机视觉会议(ECCV)并称计算机视觉方向的三大顶级会议,被澳大利亚ICT学术会议排名和中国计算机学会等机构评为最高级别学术会议,在业内具有极高的评价。不同于在美国每年召开一次的CVPR和只在欧洲召开的ECCV,ICCV在世 ...
不平衡分类的处理方式
如果你研究过一点机器学习和数据科学,你肯定遇到过不平衡的类分布(imbalanced class distribution)。这种情况是指:属于某一类别的观测样本的数量显著少于其它类别。
这个问题在异常检测是至关重要的的场景中很明显,例如电力盗窃、银行的欺诈交易、罕见疾病识别等。在这种情况下,利用传统机器学习算法开发出的预测模型可能会存在偏差和不准确。
发生这种情况的原因是机器学习算法通常被设计成通过减少误差来提高准确率。所以它们并没有考虑类别的分布/比例或者是类别的平衡。
这篇指南描述了使用多种采样技术来解决这种类别不平衡问题的各种方法。本文还比较了每种技术的优缺点。最后,本文作者还向我们展示了一种让你可以创建一个平衡的类分布的方法,让你可以应用专门为此设计的集成学习技术(ensemble learning technique)。本文作者为来自 KPMG 的数据分析顾问 Upasana Mukherjee。
1. 不平衡数据集面临的挑战
当今公用事业行业面临的主要挑战之一就是电力盗窃。电力盗窃是全球第三大盗窃形式。越来越多的公用事业公司倾向于使用高级的数据分析技术和机器学习算法来识别 ...
BN层批量归一化
原文链接:https://blog.csdn.net/wjinjie/article/details/118949226
批量归一化问题总结
1、批归一化BN
Batch Normalization是2015年一篇论文中提出的数据归一化方法,往往用在深度神经网络中激活层之前。其作用可以加快模型训练时的收敛速度,使得模型训练过程更加稳定,避免梯度爆炸或者梯度消失。并且起到一定的正则化作用,几乎代替了Dropout。
2、为什么要批归一化BN
以前在神经网络训练中,只是对输入层数据进行归一化处理,却没有在中间层进行归一化处理。
要知道,虽然我们对输入数据进行了归一化处理,但是输入数据经过 σ ( W X + b ) \sigma(WX+b)σ(WX+b) 这样的矩阵乘法以及非线性运算之后,其数据分布很可能被改变,而随着深度网络的多层运算之后,数据分布的变化将越来越大。
如果我们能在网络的中间也进行归一化处理,那么就能将中间层数据统一到同一量纲。 这种在神经网络中间层也进行归一化处理,使训练效果更好的方法,就是批归一化Batch Normalization(BN)。
3、BN 计算过程
下面 ...
可拓学知识目录
可拓学
创新四步
基元建模->拓展->变换->评价
基元
三种元:物元,事元,关系元
3种基本元组合的复合元
结构:对象,特征,量值
发散思维:一物多征,一征多物,一征多值,一值多征,一值多物,同征同值多对象
可托集合
三种集合
康拓集合
模糊集合
可拓集合
其他要素
元素
准则
论域
距离和可托距
拓展
拓展的思维结构
发散树:多角度多特征考虑问题
相关网:牵一发而动全身
蕴含系:世间万物蕴含因果
分合链:分解和组合的艺术
拓展的基本方法
共轭分析
相关分析
蕴含分析
可扩分析
变换
基本变换
置换变换(置换量值,置换对象,置换特征)
增删变换(增加变换,删减变换)
扩缩变换(扩大变换,缩小变换)
组分变换(组合变换,分解变换,先组合后分解,先分解后组合)
复制变换(扩大复制,缩小复制,近似复制,多次复制)
变换的运算
主动变换(与,或,积,逆)
传导变换
共轭变换(虚实,软硬,潜显,负正)
选
7个步骤
选择衡量条件
确定权重
首次评价
建立失联函数
计算规范关联度
计算综合优度
按优度的大小排序
sigmoid函数与损失函数求导
深度学习:Sigmoid函数与损失函数求导
1、sigmoid函数
sigmoid函数,也就是s型曲线函数,如下:
1.1 从指数函数到sigmoid
首先我们来画出指数函数的基本图形:
从上图,我们得到了这样的几个信息,指数函数过(0,1)点,单调递增/递减,定义域为(−∞,+∞),值域为(0,+∞),再来我们看一下sigmoid函数的图像:
如果直接把e−xe−x放到分母上,就与exex图像一样了,所以分母加上1,就得到了上面的图像,定义域是(−∞,+∞)(−∞,+∞),值域是(0,1)(0,1),那么就有一个很好地特性了,就是不管xx是什么,都可以得到(0,1)(0,1)之间的值;
1.2 对数函数与sigmoid
首先来看一下对数函数的图像:
对数函数的图像如上,单调递减,有一个比较好的特性就是在(0,1)(0,1)之间,在接近0的时候,就近无穷大,接近1的时候为0,如果我们把前面的sigmoid函数放到自变量的位置上,就得到了(0,1)(0,1)的图像;
我们如何来衡量一个结果与实际计算值得差距呢?一种思路就是,如果结果越接近,差值就越小,反之越大,这个函数就提供了这 ...
数模国赛当天推荐流程
国赛流程
时间安排:
第一天晚上:问题分析,模型讨论,数据处理,模型假设。
第二天:代码与模型公式的准备。流程图的书写
第三天:完成所有问题的求解,同时帮助论文手制作图片。
第四天:完成论文书写。前4个小时前一起看论文改正。最后两小时用来打包提交。
题目思路:
1.问题复述
题意
数据的抓取
条件的捕捉
2.问题分析
每道题具体分析具体情况,注意结合数据。
3.模型假设
基于问题分析,我们把无关因素全部排除,模型假设中执行。
内部联系
外部因素
数据层面
4.因素确定
如果是评价模型,需要做提炼指标。如果没有数据需要找数据,但是一定要把影响因素都找出来,有时会生成二级的指标,注意符合客观事实,可以参考别的相关文献。
5.模型讨论
具体问题具体讨论,如果出现两种可能都很好的解,可以让两人分别执行,注意不要太浪费时间。尽量还是一个模型为主。
6.代码coding与论文picturing(画图)
求解的流程图与求解代码同时进行,不要跟错。模型手可以做查找论文以及辅助绘图的工作,也可以帮忙coding。
7.结果分析
每道题的结果最好大家来一起讨论,可以帮助论文手写出更好的论文,也可以 ...
LR逻辑回归模型
LR逻辑回归(logistics regression)
逻辑回归是一个分类算法,它可以处理二元分类以及多元分类。
逻辑回归就是根据之前的数据,预测某事件为真的概率值
一.分类和回归任务的区别
我们可以按照任务的种类,将任务分为回归任务和分类任务.那这两者的区别是什么呢?按照较官方些的说法,输入变量与输出变量均为连续变量的预测问题是回归问题,输出变量为有限个离散变量的预测问题成为分类问题.
通俗一点讲,我们要预测的结果是一个数,比如要通过一个人的饮食预测一个人的体重,体重的值可以有无限多个,有的人50kg,有的人51kg,在50和51之间也有无限多个数.这种预测结果是某一个确定数,而具体是哪个数有无限多种可能的问题,我们会训练出一个模型,传入参数后得到这个确定的数,这类问题我们称为回归问题.预测的这个变量(体重)因为有无限多种可能,在数轴上是连续的,所以我们称这种变量为连续变量.
我们要预测一个人身体健康或者不健康,预测会得癌症或者不会得癌症,预测他是水瓶座,天蝎座还是射手座,这种结果只有几个值或者多个值的问题,我们可以把每个值都当做一类,预测对象到底属于哪一类.这样 ...