机器学习【算法】
文章平均质量分 89
123
博士僧小星
985博士研究生
展开
-
人工智能|机器学习——Aho-Corasic多模匹配算法的学习、理解和应用(Python)
2.1 Aho-Corasick算法的定义Aho-Corasick(简称为AC自动机),是一种基于前缀的,使用了确定有限自动机(DFA)原理的,字符串多模匹配算法。什么是DFA?DFA也就是确定有限自动机,英文全称是Deterministic Finite Automaton。具体的细节介绍,可以参照百度百科、维基百科,以及《算法导论》之类的算法书。在这里,我们尝试用通俗的语言和图示来解释一遍。首先,什么是自动机(A)。自动机就是一个代码块。这段代码块只做一件事,那就是接收输入值和状态值输出。原创 2024-07-28 10:56:51 · 676 阅读 · 0 评论 -
人工智能|机器学习——14种数据异常监测方法
本文收集整理了公开网络上一些常见的异常检测方法(附资料来源和代码)。不足之处,还望批评指正。原创 2024-05-15 16:25:40 · 841 阅读 · 0 评论 -
人工智能|机器学习——强大的 Scikit-learn 可视化让模型说话
使用 utils.discovery.all_displays 查找可用的 API。Sklearn 的可以让你看到哪些类可以使用。Scikit-learn (sklearn) 总是会在新版本中添加 "Display "API,因此这里可以了解你的版本中有哪些可用的 API。原创 2024-05-07 23:14:04 · 1101 阅读 · 1 评论 -
人工智能|机器学习——基于机器学习的信用卡办卡意愿模型预测项目
通过本项目,我们使用了机器学习模型预测了客户的信用卡办卡意愿,并通过Django实现了数据的可视化展示。这使得银行和金融机构能够更好地理解客户行为模式,并做出相应的业务决策。原创 2024-04-13 22:12:09 · 803 阅读 · 1 评论 -
人工智能|机器学习——CURE聚类算法(层次聚类)
绝大多数聚类算法或者擅长处理球形和相似大小的聚类.或者在存在孤立点时变得比较脆弱。CURE采用了一种新颖的层次聚类算法.该算法选择基于质心和基于代表对象方法之间的中间策略。它不同于单个质心或对象来代表一个类,而是选择数据空间中固定数目的具有代表性的点。一个类的代表点通过如下方式产生:首先选择类中分散的对象,然后根据一个特定的分数或收缩因子“收缩”或移动它们。在算法的每一步,有最近距离的代表点对(每个点来自于一个不同的类)的两个类被合并。每个类有多于一个的代表点使得CURE可以适应非球形的几何形状。原创 2024-03-14 14:39:31 · 1555 阅读 · 0 评论 -
人工智能|机器学习——BIRCH聚类算法(层次聚类)
这里再来看看另外一种常见的聚类算法BIRCH。BIRCH算法比较适合于数据量大,类别数K也比较多的情况。它运行速度很快,只需要单遍扫描数据集就能进行聚类。BIRCH的全称是利用层次方法的平衡迭代规约和聚类(Balanced Iterative Reducing and Clustering Using Hierarchies),其实只要明白它是用层次方法来聚类和规约数据就可以了。BIRCH只需要单遍扫描数据集就能进行聚类,那它是怎么做到的呢?BIRCH算法利用了一个树结构来帮助实现快速的聚类,这个数结构类似原创 2024-03-13 12:45:44 · 1494 阅读 · 1 评论 -
人工智能|机器学习——DBSCAN聚类算法(密度聚类)
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,簇集的划定完全由样本的聚集程度决定。聚集程度不足以构成簇落的那些样本视为噪声点,因此DBSCAN聚类的方式也可以用于异常点的检测。原创 2024-03-09 22:02:54 · 3816 阅读 · 2 评论 -
人工智能|机器学习——K-means系列聚类算法k-means/ k-modes/ k-prototypes/ ......(划分聚类)
k-means算法是一种简单且实用的聚类算法,但是传统的k-means算法只适用于连续属性的数据集(数值型数据),而对于离散属性的数据集,计算簇的均值以及点之间的欧式距离就变得不合适了。k-modes作为k-means的一种扩展(变种),距离使用汉明距离,适用于离散属性的数据集。原创 2024-03-09 12:45:37 · 3740 阅读 · 1 评论 -
人工智能|机器学习——Canopy聚类算法(密度聚类)
Canopy聚类算法是一个将对象分组到类的简单、快速、精确地方法。每个对象用多维特征空间里的一个点来表示。这个算法使用一个快速近似距离度量和两个距离阈值T1 > T2 处理。Canopy聚类很少单独使用, 一般是作为k-means前不知道要指定k为何值的时候,用Canopy聚类来判断k的取值。原创 2024-03-08 23:06:38 · 1386 阅读 · 0 评论 -
人工智能|机器学习——k-近邻算法(KNN分类算法)
1.K-近邻算法伪代码:①计算已知类别数据集中的点与当前点之间的距离②按照距离递增次序排序③选择与当前点距离最小的k个点④确定前k个点所在类别(标签)的出现频率⑤返回前k个点出现频率最高的类别作为当前点的预测分类2.K-近邻算法程序清单:...原创 2024-03-08 22:54:38 · 1521 阅读 · 1 评论 -
人工智能|机器学习——基于机器学习的舌苔检测
基于机器学习的舌苔检测原创 2024-02-19 12:29:09 · 2514 阅读 · 0 评论 -
人工智能|机器学习——机器学习如何判断模型训练是否充分
人工智能|机器学习——机器学习如何判断模型训练是否充分原创 2023-11-28 22:54:32 · 1651 阅读 · 0 评论 -
人工智能|机器学习——循环神经网络的简洁实现
人工智能|机器学习——循环神经网络的简洁实现原创 2023-11-25 22:28:04 · 1457 阅读 · 1 评论 -
机器学习 | 算法模型 —— 分类:SVM算法推导
硬间隔:完全分类准确,其损失函数不存在;其损失值为0;只要找出两个异类正中间的那个平面;软间隔:允许一定量的样本分类错误;优化函数包括两个部分,一部分是点到平面的间隔距离,一部分是误分类的损失个数;C是惩罚系数,误分类个数在优化函数中的权重值;权重值越大,误分类的损失惩罚的越厉害。误分类的损失函数可分为hinge损失,指数损失,对率损失。而经常使用的或者说默认的是使用了损失函数为hinge损失的软间隔函数。原创 2020-10-09 20:58:10 · 310 阅读 · 0 评论 -
机器学习 | 算法模型 —— 算法训练:损失函数之交叉熵(熵/相对熵/KL散度/sigmoid/softmax)
目录1.信息论1.1.信息量1.2.熵1.3.KL散度(相对熵)1.4.交叉熵2.交叉熵的类型2.1.多分类交叉熵2.2.二分类交叉熵3.学习过程(以二分类为例)3.1.第一项求偏导3.2.第二项求偏导3.3.第三项求导3.4.计算结果1.信息论交叉熵(cross entropy)是深度学习中常用的一个概念,一般用来求目标与预测值之间的差距。同时,交叉熵也是信息论中的一个概念,要想了解交叉熵的本质,需要先从最基本的概念讲起。1.1.信息..原创 2020-07-10 17:36:38 · 2312 阅读 · 0 评论 -
机器学习 | 特征工程 —— 降维:PCA(主成分分析)
1.数学原理1.1.【参考博客】https://www.cnblogs.com/xinyuyang/p/11178676.html1.2.【精简描述】PCA实际上是将含有冗余特征的高维空间数据集投影到地位空间中,在保证信息量的同时,对数据集冗余特征进行筛选。而投影的关键就在于确定高维空间向低维空间转换的基向量。而基向量选取的原则则是尽可能的保持投影后的数据的信息量,也就是高维数据投影到低维空间中某个基向量之上以后,数据越分散越好(常用方差衡量数据的分散程度,即相同特征之间方差越大越好)。同原创 2020-07-04 12:54:08 · 980 阅读 · 0 评论 -
机器学习 | 算法模型 —— 聚类:FCM模糊聚类算法
1.FCM模糊聚类原理模糊c均值聚类FCM算法融合了模糊理论的精髓,相较于k-means的硬聚类,FCM算法(Fuzzy C-Means,FCM)提供了更加灵活的聚类结果。因为大部分情况下,数据集中的对象不能划分成为明显分离的簇,将一个对象划分到一个特定的簇有些生硬,不符合人的客观认知。因此,对每个对象和每个簇赋予一个权值,指明对象属于该簇的程度即可。当然,基于概率的方法也可以给出这样的权值,但是有时候我们很难确定一个合适的统计模型,因此使用具有自然地、非概率特性的FCM聚类算法就是一个比较好的选择。原创 2020-07-03 19:57:36 · 5563 阅读 · 1 评论 -
机器学习 | 算法模型——自然语言处理:Word2Vector - CBOW和Skip-gram
1.Word2Vector基本思想word2vector已经成为NLP领域的基石算法,其从大量的文本预料中以无监督学习语义只是的一种模型,该模型主要包含两种算法CBOW(continuous bag-of-words)和skip-gram....原创 2019-10-30 20:41:19 · 1128 阅读 · 0 评论 -
python3__机器学习__朴素贝叶斯分类
1.概述贝叶斯分类是机器学习分类算法中的一类,此类算法的理论依据为“贝叶斯定理”和“特征条件独立”,而朴素贝叶斯分类(Naive Bayes Classifier, NBC)是贝叶斯分类中最简单的一种,也是常见的一种分类方法。优点:其相比于决策树分类有着坚实的数学基础以及稳定的分类效率(对不同类型数据集不会呈现出太大的差异),同时NBC所需估计的参数较少,对缺失数据不敏感,算法简单,理论...原创 2019-07-08 16:45:57 · 292 阅读 · 0 评论 -
机器学习 | 算法模型 —— 梯度下降算法
1.概述【说明】梯度下降算法(Gradient Descent Optimization)是神经网络模型训练最常用的优化算法(n纬问题求最优解,梯度下降是最常用的方法);对于深度学习模型,基本都是采用梯度下降算法来进行优化训练。【场景假设】一人被困山上,需从山上下来(i.e. 找到山的最低点,也就是山谷)。但此时山上的浓雾很大,导致可视度很低。因此,下山的路径就无法确定,他必须利...原创 2018-12-23 22:09:48 · 799 阅读 · 2 评论 -
python3__绘图__常用数据分析图形(热力图,雷达图,箱线图,平行坐标,3D图,混淆矩阵,饼状图)
1.matplotlib.pyplot简介matplotlib.pyplot是一个有命令风格的函数集合,它看起来和MATLAB很相似。每一个pyplot函数都使一副图像做出些许改变,例如创建一幅图,在图中创建一个绘图区域,在绘图区域中添加一条线等等。在matplotlib.pyplot中,各种状态通过函数调用保存起来,以便于可以随时跟踪像当前图像和绘图区域这样的东西。绘图函数是直接作用于当前...原创 2018-12-10 17:39:40 · 7760 阅读 · 5 评论 -
python3_实现BP神经网络 + BP神经网络应用实例
1.BP神经网络简介BP神经网络是1986年由Rumelhart和McClelland为首的科学家提出的概念,是一种按照逆向传播算法训练的多层前馈神经网络,是目前应用最广泛的神经网络。优点:具有任意复杂的模式分类能力和优良的多维函数映射能力,解决了简单感知器不能解决的异或或者一些其他的问题。从结构上讲,BP神经网络具有输入层、隐含层和输出层;从本质上讲,BP算法就是以网络误差平方目标函数...原创 2018-07-29 22:10:28 · 64138 阅读 · 64 评论 -
python3_sklearn(机器学习库)_tree_DecisionTreeClassifier_不同函数参数及使用说明
sklearn是一个机器学习的第三方库,在整个库当中提供了非常多的算法,tree(分类决策树)模块就是其中之一。1.DecisionTreeClassifierDecisionTreeClassifier是我们通常所说的决策树分类器,它是一个继承于BaseDecisionTree和ClassifierMixin类的子类函数名 功能 __init__ 决策树分类...原创 2018-07-28 14:59:35 · 3083 阅读 · 0 评论 -
初识机器学习
1.机器学习基本理解 利用计算机从历史数据当中找到规律,并将这些规律用到对未来不确定性场景的决策;主体是计算机(数据分析的主体是人),需要大量的数据,利用数据替代专家(判断会与成本和失误),将数据“变现”。 机器学习分为“离线机器学习”和“在线机器学习”。“离线机器学习”指在线下利用历史数据训练一个模型,将训练完成的模型放到线上,使用新模型处理业务;第二天,第三天......往...原创 2018-06-16 13:46:53 · 262 阅读 · 0 评论 -
机器学习 | 神经网络 —— BP神经网络(反馈神经网络:方向传播算法)
1.反馈神经网络原理及公式推导梯度下降算法在衡量模型的优劣的过程中,需要计算梯度,即求不同权重的偏导数。因此,当隐层神经元个数增加(权重个数增加)或隐层个数增加(求导过程拉长)会大大拉长计算过程,即很多偏导数的求导过程会反复涉及到,因此在实际中对于权值达到上十万和上百万的神经网络来说,此种重复冗余的计算会浪费大量的计算资源。同样是为了求得对权重的更新,反馈神经网络算法将误差E作为以权重向...原创 2018-12-29 15:29:45 · 3588 阅读 · 1 评论 -
python3__机器学习__神经网络基础算法__偏执项b
1.前言很多人不明白为什么要在神经网络、逻辑回归中要在样本X的最前面加一个1,使得 X=[x1,x2,…,xn] 变成 X=[1,x1,x2,…,xn] 。因此可能会犯各种错误,比如漏了这个1,或者错误的将这个1加到W·X的结果上,导致模型出各种bug甚至无法收敛。究其原因,还是没有理解这个偏置项的作用啦。一个传统的神经网络就可以看成多个逻辑回归模型的输出作为另一个逻辑回归模型的输入的“...转载 2019-01-01 16:25:48 · 1155 阅读 · 0 评论 -
机器学习 | 算法模型 —— 常用激活函数(sigmod,Tanh,ReLU,LReLU,PReLU,RReLU,softmax,Maxout)
1.为什么需要激活函数在神经网络或者逻辑回归当中都使用到了激活函数。在神经网络中,每个神经元节点接收上一层神经元的输出值作为本神经元的输入值,并将输出值继续向下层传递。那么,在上层神经元节点的输出与下层神经元节点的输入之间具有一个函数关系,这个函数被称为激活函数。若不用激活函数或激活函数是线性函数(也就相当于激活函数f(x)=x,即恒等线性激活函数),则无论神经网络定义多少层,输出都是输...原创 2019-01-19 20:55:18 · 4107 阅读 · 1 评论 -
机器学习 | 算法模型 —— 回归:一元/多元/逻辑回归 (以深度学习框架TensorFlow实现)
0.线性回归的基本假定①所有解释变量之间互不相关(无多重共线性)②③假设变量(偏差)与随机变量不相关④随机扰动项满足正太分布⑤数据基本服从线性回归1.一元线性回归[数据计算方式]1.1 批量输入 and 批量计算下部程序中在进行最后的数值迭代过程中,使用的是批量计算的方式进行计算优点:一次性将所有数据加载到内存中,让计算模型在短时间内对数据进行处理缺点...原创 2019-01-14 09:19:18 · 922 阅读 · 0 评论 -
python3__深度学习:TensorFlow__数据的生成与读取(主要针对图像处理)
1.CSV文件(提供图像地址和标签)1.1 创建import ospath = "pic"filenames = os.listdir(path=path)strText = ""with open(file="train_list.csv", mode="w") as fid: for a in range(len(filenames)): # 获...原创 2019-01-05 20:09:36 · 1164 阅读 · 0 评论 -
python3__深度学习/机器学习__图像识别:OpenCV之级联分类器CascadeClassifier
1.理论说明Haar-like矩形特征是用于物体检测的数字图像特征。这类矩形特征模板由两个或多个全等的黑白矩形相邻组合而成,而矩形特征值是白色矩形的灰度值的和减去黑色矩形的灰度值的和,矩形特征对一些简单的图形结构,如线段、边缘比较敏感。如果把这样的矩形放在一个非人脸区域,那么计算出的特征值应该和人脸特征值不一样,所以这些矩形就是为了把人脸特征量化,以区分人脸和非人脸。以Haar特征分类器...原创 2019-02-19 09:51:32 · 1275 阅读 · 3 评论 -
机器学习 | 数据预处理 —— 缺失值处理(原因/ 解决办法)
1.缺失值产生原因数据预处理过程常常占据模型构建与分析过程中70%的工作量。在实际的各种场景当中,出现缺失值的情况经常出现甚至是不可避免的,这主要是由于信息系统设计的不完备以及数据库设计过程中完整性定义有缺陷。总体可总结为“机械原因”和“人为原因”。缺失值的存在导致“系统丢失了大量的有用信息”以及“影响模型性能”。1.1 机械原因机械原因是由于机械原因所导致的数据收集或保存的失败...原创 2019-03-30 16:15:00 · 4706 阅读 · 0 评论 -
机器学习/深度学习 | 算法模型 —— 过拟合/欠拟合的处理
1.过拟合定义+处理1.1 过拟合概述(低偏差,高方差)定义:过拟合简单的描述就是在训练集上的表现很好,但在未见过的测试集上的表现却较差。专业一点的定义就是:给定一个假设空间H,一个假设h属于H,如果存在其他的假设h'也属于H,使得在训练样例上h的错误率小于h',但是在整个实例分布上h'比h的错误率小,那么则称假设h过度拟合训练数据。危害:一个过拟合的模型试图连“误差”都去解...原创 2019-05-23 09:12:51 · 883 阅读 · 0 评论 -
距离(相似度)计算方法
1.闵式距离又叫做闵可夫斯基距离,是欧氏空间中的一种测度,被看做是欧氏距离的一种推广,欧氏距离是闵可夫斯基距离的一种特殊情况。闵可夫斯基距离公式中,当p=2时,即为欧氏距离;当p=1时,即为曼哈顿距离;当时,即为切比雪夫距离。2.欧式距离欧几里得度量(euclidean metric)(也称欧氏距离)是一个通常采用的距离定义,指在m维空间中两个点之间的真实距离,或者...原创 2019-06-21 20:37:52 · 1700 阅读 · 0 评论 -
机器学习 | 分类 —— 决策树:分支标准(熵/Gini系数)
1.Gini系数设pk为节点S包含的K个不同的类别的数据记录所占的比例,则结点S的基尼系数G(S)定义如下:基尼系数位于[0,1]区间,数字越小表明区分度越大。一次划分的整体基尼系数等于划分得到的孩子节点的基尼系数的加权平均,且权值被定义为孩子节点包含的数据量。因此,如果S1和S2为节点S在二元决策树中的孩子节点,n1和n2为S1和S2包含的记录数,则划分S→(S1,S2)的基尼系...原创 2019-06-23 09:00:06 · 1605 阅读 · 0 评论 -
python3__机器学习__神经网络基础算法__最小二乘法(LS算法)
1.LS算法说明LS算法是一种数学优化技术,也是一种机器学习常用算法。他通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便的求得未知的数据(1),并使得这些求得的数据与实际数据之间误差的平方和最小。除此之外最小二乘法还可用于曲线拟合(2),其他一些优化问题(3)也可通过最小化鞥能量或最大化熵用最小二乘法表示。2.LS算法原理最小二乘法实际上解决的是当Ax=C无解...原创 2018-12-28 15:48:39 · 1755 阅读 · 0 评论