
机器学习
文章平均质量分 73
Icy Hunter
如果我真的存在,也是因为你需要我
展开
-
机器学习之K-Means聚类(python手写实现+使用Silhouette Coefficient来选取最优k值)
在"无监督学习" (unsupervised learning) 中,训练样本的标记信息是未知的,目标是通过对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。聚类结果的"簇内相似度" (intra-cluster similarity) 高且"簇间相似度" (inter-cluster similarity)被认为是比较好的聚类结果。K-Means聚类又叫K均值聚类,是一种线性时间复杂度的聚类方法,也是比较成熟的一种聚类算法。也就是说明s(i)越大说明聚类效果越好。原创 2022-11-21 18:43:57 · 2451 阅读 · 0 评论 -
机器学习之朴素贝叶斯分类
其实也是很好理解的,就比如一组训练数据,我们先计算出好瓜并且色泽青绿的概率、好瓜并且根蒂蜷缩的概率、坏瓜并且色泽青绿的概率…根据已有的数据,我们能够得到一组概率值,那么基于此,我们其实就已经得到了朴素贝叶斯分类器了,因为当我们得到一组新的测试数据的时候,我们只需要看数据色泽、根蒂等特征是符合好瓜里的概率大还是坏瓜里的概率大就能够做出判断了。看到这里可以回味一下,朴素贝叶斯其实思路很简单,就是类别中哪些特征出现的概率大,那么当测试数据属于这些特征时,计算出是这类的概率就会大了,就达到分类的效果了。原创 2022-11-14 18:50:27 · 931 阅读 · 0 评论 -
拉格朗日对偶问题的一些介绍
还记得SVM里用到拉格朗日对偶,将有约束条件转换成无约束条件问题进行最优值求解,其实也只是会用这个方法而已,至于为啥能这么用,还是不知道的,接下来深入理解一下吧,也为了之后学习正则化做铺垫。原创 2022-10-26 15:50:22 · 1973 阅读 · 2 评论 -
学习笔记之信息量、熵、KL散度、交叉熵的一些介绍
那么放到神经网络中,当P为真实样本标签,Q为预测值的时候,我们就可以通过交叉熵来计算损失,从而进行反向传播,训练模型,从而使得预测值的Q与P的分布越来越近,从而达到比较好的一个效果。因此,如果我希望Q和P越接近,就是需要寻找交叉熵的最小值就行了,因为后面的式子是恒定的(因为以P为基准了,可以认为P相当于真实值,那么我需要的就是调整Q去接近P)。这里取个-因为概率都是原创 2022-10-26 11:56:16 · 848 阅读 · 0 评论 -
机器学习之神经网络的公式推导与python代码(手写+pytorch)实现
因为要课上讲这东西,因此总结总结,发个博客模型图假设我们有这么一个神经网络,由输入层、一层隐藏层、输出层构成。(这里为了方便,不考虑偏置bias)输入特征为xn输入层与隐藏层连接的权重为vij隐藏层的输出(经过激活函数)为ym隐藏层与输出层连接的权重为wjk输出层的预测值(经过激活函数)为ol隐藏层和输出层后面都接sigmoid激活函数。感觉从推导到代码实现也是一个反复的过程,从推导发现代码写错了,写不出代码了就要去看看推导的过程,这个过程让我对反向传播有了较全面的理解。原创 2022-10-21 22:45:34 · 7982 阅读 · 26 评论 -
机器学习之支持向量机(SVM)的求解方法
支持向量机就是寻找一个超平面,将不同的样本分分隔开来,其中间隔分为硬间隔和软间隔,硬间隔就是不允许样本分错,而软间隔就是允许一定程度上样本存在偏差,后者更符合实际。支持向量机思路简单但是求解过程还是比较复杂,需要将原函数通过拉格朗日乘子法并附上KKT条件是的问题有强对偶性,再使用SMO等算法进行高效的求解。机器学习之支持向量机之线性可分型原理介绍及代码实现(SVM)下面主要实现模型的求解方法。原创 2022-10-11 15:10:13 · 3262 阅读 · 5 评论 -
机器学习之手写决策树以及sklearn中的决策树及其可视化
(2)如果属性划分次数达到上限,即属性划分完了,或者是样本中在此类属性取值都一样,可以认为全部划分仍然存在不同类的样本,那么这个节点就标记为类别数占较多的叶节点。划分选择还是比较重要的,因为不同的划分选择会建出不同的决策树。划分选择的指标就是希望叶节点的数据尽可能都是属于同一类,即节点的“纯度”越来越高。当前样本此特征的信息增益 = 当前样本的信息熵 - 加权求和的同特征值的样本的信息熵。可见纹理的信息增益最大,也说明用纹理来划分当前数据,得到的纯度是最高的。|代表a特征中同样是v值的样本的数量。原创 2022-09-28 11:46:21 · 2019 阅读 · 7 评论 -
2022大规模电商图上的风险商品检测
因为我用这个比赛来抵专业实践,现在成绩出来了,就发一发吧。近年来,图计算尤其是图神经网络等技术获得了快速的发展以及广泛的应用。在电商平台上的风险商品检测场景中,黑灰产和风控系统之间存在着激烈的对抗,黑灰产为了躲避平台管控,会蓄意掩饰风险信息,通过引入场景中存在的图数据,可以缓解因黑灰产对抗带来的检测效果下降。在实际应用中,图算法的效果往往和图结构的质量紧密相关,由于风险商品检测场景中对抗的存在,恶意用户会通过伪造设备、伪造地址等方式,伪造较为“干净”的关联关系。原创 2022-09-27 21:28:06 · 2013 阅读 · 4 评论 -
机器学习之逻辑回归以及梯度下降法求解
逻辑回归,其实不是回归任务,而是分类任务,逻辑回归模型对二分类问题效果较好。原创 2022-09-21 10:27:37 · 1808 阅读 · 0 评论 -
线性代数的一些知识点
线性代数还是很重要的!以后还会再来补。原创 2022-09-06 17:37:23 · 1461 阅读 · 2 评论 -
机器学习之线性回归
一元的情况确实特殊,用各种方法都能乱解,但是多元的情况才是更加符合实际的,因此计算起来还是需要通过矩阵运算会比较有效率,之前遍历套公式就显得效率低下不太行了。这里我们可以考虑成有那么一个wxi + bi的解析式,带入我们数据的x得出的y与真实的y越接近那么这个模型肯定拟合的越好的。SSR为回归平方和,是指预测值和真实值之间的波动情况。以我们一元的数据为例,那么就是一元线性回归,比较简单。看图我们可以发现,拟合出的直线k一定是大于0的。不过计算的思路还是一样的,只不过换成矩阵运算了。原创 2022-09-05 22:01:16 · 2003 阅读 · 2 评论 -
机器学习之分类模型评估指标及sklearn代码实现
由于模型评估指标对于模型来说还是非常重要的,并且各种各样,因为最开始认为对分类模型评估只有个非常简单的思路:预测对的/总数,后来才发现,这个指标有的时候是没啥用的…比如说正负样本失调的时候。因此,还是需要好好整理一下分类模型的评价指标,先整理一些,以后遇到了再补。以二分类模型为例,假设我们需要评价一个乳腺癌病情诊断分类器,其中标签1代表阳性,表明患有乳腺癌,标签0代表阴性,表明没有乳腺癌。那么TP、FP、FN、TN如下表所示:其中真实代表数据的真实值,预测代表模型的预测值,P、N分别代表真实的阳性数和阴性原创 2022-07-28 14:44:23 · 3303 阅读 · 2 评论 -
遗传算法C语言实现以及思路详解简单易懂
目录前言实例代码解释1.初始化参数以及变量设置2.定义环境(定义目标函数)3.DNA解码(计算x,y)4.初始化种群(初始化解,考虑定义域)5.计算适应度(计算误差,考虑定义域)6.适者生存(挑选误差较小的答案)7.生殖、变异(更改部分二进制位,取反部分二进制位,可能生成误差更小的答案)8.copy函数(将选择的selected_animal赋值回animal以便迭代遗传进化)9.遗传进化以及结果选择10.完整代码总结前言前几天刚用python实现了遗传算法用于求解函数最值,详见遗传算法详解pytho原创 2022-05-15 13:40:17 · 6851 阅读 · 13 评论 -
遗传算法详解python代码实现以及实例分析
遗传算法文章目录遗传算法前言一、遗传算法是什么?二、实例讲解例题11.初始化种群2.优胜劣汰3.根据优胜劣汰的结果,交配生殖、变异5.生物遗传进化例题21.初始化参数1.定义环境(定义目标函数)2.DNA解码(计算x,y)3 .初始化种群(初始化解,考虑定义域)4 .计算适应度(计算误差,考虑定义域)4 .适者生存(挑选误差最小的答案)5 .生殖、变异(更改部分二进制位,取反部分二进制位,可能生成误差更小的答案)6 .查看最终的答案7 .生物遗传进化8 .完整代码总结前言因为老师布置作业,需要我们原创 2022-05-10 20:05:58 · 20170 阅读 · 28 评论 -
异常检测之基于聚类的局部异常因子检测算法(CBLOF)详细解释且配上代码运行实例
基于聚类的局部异常因子检测算法(CBLOF)文章目录基于聚类的局部异常因子检测算法(CBLOF)前言一、CBLOF是什么?二、CBLOF详解三、CBLOF代码实例前言服务外包使用了CBLOF算法来检测异常商品,感觉其实对于千万级的数据量来识别异常值还是比较困难的,首先准确率先不谈,能够真正在有限时间跑出结果的算法可能都寥寥无几吧。最后代码实例的效果图可以程序先呈现一下,基本上就是CBLOF的整个流程了。一、CBLOF是什么?CBLOF即基于聚类的局部因子检测法顾名思义,是一种采用局部离群原创 2022-04-30 14:23:24 · 4720 阅读 · 14 评论 -
异常检测之孤立森林算法详细解释且配上代码运行实例
由于异常值往往有的两个特点:异常数据只占很少量、异常数据特征值和正常数据差别很大。孤立森林,不是描述正常的样本点,而是要孤立异常点,由周志华教授等人于2008年在第八届IEEE数据挖掘国际会议上提出。孤立森林不需要根据距离和密度来衡量异常,因此孤立森林的时间复杂度是线性的,需要的内存也很少。孤立森林有能力处理大数据和高维数据,对于我们大数据背景下的异常识别,是十分适合的一个模型。孤立森林的基本思想是对数据子采样后选择特征孤立数据到一颗树的叶节点,直到终止条件发生,孤立树建立完成。再循环建立新的孤立树,直至原创 2022-04-20 12:25:21 · 8863 阅读 · 5 评论 -
DBSCAN聚类以及sklearn库代码实现
DBSCAN聚类是一种基于样本密度的聚类方式,同时能够允许样本不被聚到任何类别之中,从而我们可以利用DBSCAN聚类来帮助我们找出一些离群点,即异常值检测。首先给出一些相关概念因此,DBSCAN算法的伪代码如下:直接看变量意思不太能反应过来,稍微写写大概就懂了。思路就是先确定核心对象,然后再随机从核心对象出发计算密度可达的样本,即一直判断核心对象邻域的样本是否还是核心对象,如果是核心对象,那么就把未访问过的样本入队,如果不是了,那么此样本就为这一簇目前的边界了,就不会往外延申了。最后将原创 2022-03-05 14:08:05 · 2088 阅读 · 0 评论 -
使用普通机器学习的方法填补缺失值
文件202106_10000_drop.tsv数据DATA_MONTH ITEM_ID BRAND_ID ITEM_PRICE ITEM_SALES_VOLUME ITEM_SALES_AMOUNT ITEM_FAV_NUM TOTAL_EVAL_NUM ITEM_STOCK USER_ID202106 558805384323 10.0 29 290.0 204.0 174.0 64.0 1049653664202106 559237486452 3406189.0 29.5 37 1091.5原创 2022-03-03 15:47:23 · 553 阅读 · 0 评论 -
基于pytorch的LSTM进行字符级文本生成实战
基于pytorch的LSTM进行字符级文本生成实战文章目录基于pytorch的LSTM进行字符级文本生成实战前言一、数据集二、代码实现1.导入库及LSTM模型构建2.数据预处理函数3.训练函数4.预测函数5.文本生成函数6.主函数总结完整代码前言随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习中深度学习的内容使用pytorch构建LSTM模型进行字符级文本生成任务以下是本篇文章正文内容,下面案例可供参考,但主要是为了记录避免以后忘记一、数原创 2022-01-29 19:20:36 · 5468 阅读 · 9 评论 -
CRITIC权重法附实例及matlab代码实现
CRITIC权重法是一种客观赋权法,但是它所反应的权重和熵权法中的权重有所不同。一篇文章里看到的,感觉蛮不错。关于CRITIC的计算过程,感觉已经有蛮不错的博客了,而且计算起来也比较简单,例如这个就讲的不错客观赋权法——CRITIC权重法过程挺清晰明了的。下面展示一道例题。题目链接:http://www.doc88.com/p-4082292004105.html但是感觉他的结果可能算错了。下面是我的结果下面上代码clc,cleardata = [0.4830 13.2682 0 4.原创 2022-01-28 12:38:54 · 10264 阅读 · 15 评论 -
python实现因子分析及用于综合评分且配上碎石图(实例分析)
由于感觉因子分析不是很懂,因此又通过python把因子分析(factor analysis)案例(matlab实现)这题又给打了一遍。这里加上了碎石图,用来选择辅助选择因子个数,但是我感觉这里没啥用吧。这里可能由于数据标准化的方式有些不同,因此计算出来的数值和之前那个不太一样,但是综合评分的排名还是一样的。数据的话我上传到资源里了,因为有一次聚类数据太大了,博客里放不了,因此就想着试试上传资源了。数据链接:https://download.youkuaiyun.com/download/qq_5278547原创 2022-01-27 22:48:06 · 4750 阅读 · 2 评论 -
K-Means聚类及调用sklearn库代码实现
K-Means聚类又叫做K均值聚类,即将n个样本分到k个类中,每个样本到其所属类的中心的距离最小。由于每个样本只能属于一个类,因此也是属于一种硬聚类。基本原理:输入k值,代表将总样本分到k个类中。开始随机选择k个样本点作为聚类中心。将所有样本点之外的点计算到各个聚类中心的距离(欧式距离等),选择最近的样本中心然后合并成一类。根据划分好的k类,各自计算出新的聚类中心,即到当前类各个样本点距离最短的点(注意此时的聚类中心就不一定是样本点了)再次进入3计算新聚类中心的各类(注意此时一开始被规定的聚类原创 2022-01-26 13:14:24 · 3015 阅读 · 0 评论 -
层次聚类及scipy中的层次聚类python代码解释
层次聚类假设类别之间存在层次结构,将样本聚到层次化的类中。层次聚类分为自下而上、自上而下聚类的两种方法。由于每个样本只能属于一个类别,因此层次聚类属于硬聚类。基本原理(本文只讲述自下而上的聚合方法):聚类前数据各自属于一个类计算各个数据之间的距离,将相距最近的两类合并(当类中有许多数据时,存在距离最小的数据组即可实现两类合并),建立一个新的类反复进行2直到最后合并成只剩一个类可以看出聚合参差聚类算法的复杂度时O(n^3 * m)其中n为样本的个数,m为样本的维数。scipy中的两个函数即可完原创 2022-01-25 17:16:37 · 3076 阅读 · 0 评论 -
因子分析(factor analysis)案例(matlab实现)
模型介绍:值得注意的是,特殊因子是不能被公共因子包含的。载荷矩阵的几个统计性质:下面通过一个例题来展示。ssgs = [43.31 7.39 8.73 54.89 15.35 17.11 12.13 17.29 44.25 29.69 21.11 6.03 7 89.37 13.82 29.55 8.62 10.13 73 14.88 11 8.41 11.83 25.22 25.49 17.63 13.86 15.41 36.44 10.0.原创 2022-01-24 18:18:49 · 11736 阅读 · 6 评论 -
BP神经网络与RBF神经网络matlab代码实现
BP神经网络,主要有误差正向传播和误差反向传播两个过程RBF神经网络例子:首先需要对数据进行规格化然后再进行训练预测。代码如下:clc, cleardata = [15.6 5.6 3.5 25.5 22.9 27.8 4.3 1.0 7.7 23.4 35.2 3.0 38.1 3.7 36.8 10.2 3.4 3.5 7.4 22.0 29.1 33.2 1.6 24.0 6.4 10.2 11.6 2.2 26.7 29.4 35.4原创 2022-01-23 15:42:36 · 3767 阅读 · 7 评论 -
sklearn回归模型流程(以SVR为例)
当有很多模型可以选择,而又不太确定哪个模型比较好的时候,就直接一个一个试过去好了。写了一个我认为的回归模型一般需要的过程。其中有归一化、反归一化、均方误差、拟合曲线、预测曲线等,还有什么需要稍微改改就好了吧。代码如下:# coding: utf-8import numpy as npfrom sklearn import svmimport matplotlib.pyplot as pltimport matplotlib as mplfrom sklearn.preprocessing im原创 2022-01-19 11:49:14 · 5375 阅读 · 5 评论 -
机器学习之支持向量机之线性可分型原理介绍及代码实现(SVM)
支持向量机(Sport Vector Machine,SVM)是经典的机器学习方法之一,其核心思想主要是找到一个超平面,使得它能够尽可能多地将两类数据点正确分开,同时使分开地两类数据点距离分类平面最远。如图...原创 2022-01-14 23:07:31 · 4855 阅读 · 0 评论 -
灰色预测模型GM(1,1)
本文参考的是司守奎,孙兆亮主编的数学建模算法与应用(第二版)灰色预测的主要特点时模型使用的不是原始数据序列,而是生成的数据序列。其核心体系时灰色模型,即对原数据作累加生成得到近似指数规律再进行建模的方法。优点:不需要很多数据,一般只需要4个数据,就能够解决历史数据少。序列的完整性及可靠性低的问题,能利用微分方程充分挖掘系统的本质,精度高;能将无规律的原始数据进行生成得到规律性较强的生成序列,运算简便,便于检验,不考虑分布规律,不考虑变化趋势。缺点:只使用于中短期的预测,只适合指数增长的预测。这里主要原创 2022-01-12 20:51:25 · 19551 阅读 · 16 评论 -
数学建模之秩和比综合评价方法(RSR)
本文参考的是司守奎,孙兆亮主编的数学建模算法与应用(第二版)秩和比综合评价方法(RSR)在医疗卫生领域的多指标综合评价、统计预测预报、统计质量控制等方面已经得到了广泛应用。其中秩序和比是行或者列秩次的平均值,是一个非参数的统计量,具有0-1连续变量的特征。下面介绍秩和比综合评价方法的一般步骤:第一步,数据预处理。凡是评价方法中,都需要面对效益型、区间型、成本型等指标。一般的情况都是将非效益型指标转换为效益型指标,因为这样能够直接通过数值大小进行指标优劣的评判,方便后续工作的展开。第二步,编秩。由于原创 2022-01-11 20:18:51 · 11174 阅读 · 12 评论 -
数学建模之灰色关联分析(GRA)
本文参考的是司守奎,孙兆亮主编的数学建模算法与应用(第二版)灰色关联分析不仅能够用做关联分析,也能够用于评价。其具体分析步骤如下:第一步,需要确定评价对象和参考数列。评价对象一般指的就是待分析的各个特征组,例如需要评价一个同学的成绩,那么他的语文成绩、数学成绩、英语成绩等就是一个特征组,即一个评价对象。参考数列有两种选择,一种是从各个特征组中抽取出各自特征最优的值,构成一个虚拟的最优方案,并将此作为参考数列,那么其他方案都是参考最优方案得出的关联系数,即能够作为方案的评价,这也很容易理解,与最优方原创 2022-01-11 11:12:25 · 22962 阅读 · 5 评论 -
数学建模之理想解法(TOPSIS)
本文参考的是司守奎,孙兆亮主编的数学建模算法与应用(第二版)TOPSIS的基本思路就是从各个特征中各自抽取出最优的特征值构成一个虚拟实际不存在的解,称之为正理想解;再从各个特征中各自抽取出最劣的特征值构成另一个实际不存在的解,称之为负理想解。最后将原有的每个特征组视作实际的解,通过比较实际解与正理想解的欧式距离和负理想解的欧式距离来评判此解的优劣,即一个实际解距离正理想解最近,距离负理想解最远,可认为此解为实际最优解,同时通过这种方法,能够得出每一个实际解的评判值,通过对这个值大小排序,即可完成对事物优原创 2022-01-10 12:38:19 · 7242 阅读 · 0 评论 -
数学建模之熵权法(EWM)matlab实例实现
本文参考http://blog.sina.com.cn/s/blog_710e9b550101aqnv.html熵权法是一种客观赋值的方法,即它通过数据所包含的信息量来确定权重,形象的说如果每个人考试都能考100分,那么这个指标对于这些人的评价是毫无意义的,因为没有任何区分度,熵权法就是通过区分度来确定对于特征的权值,从而能够对事物进行综合的评价。一般来说,若某个指标的信息熵指标权重确定方法之熵权法越小,表明指标值得变异程度越大,提供的信息量越多,在综合评价中所能起到的作用也越大,其权重也就越大。相反,原创 2022-01-09 13:03:02 · 24484 阅读 · 0 评论 -
数学建模之主成分分析(PCA)
由于在学习数学建模的过程中,复现建模书上的题目代码有点小麻烦,因为我找不着书上的数据,因此得一个个手打,本来已经复现了好几个模型,结果因为机械硬盘坏了,里面的东西全没了,很是无语,因此决定在这里记录我的复现代码,主要是给自己看的,等到想用的时候就可以直接拿来用了。主成分分析可以用于降维,可以用于评价下面展示一道例题这是书上的一道例题,需要使用主成分分析的方法进行评价。以前我一直以为PCA就是用来降维的,没想到还可用来评价,究其原因,我们都知道PCA降维会计算特征向量,其特征向量与原特征的积就是计算原创 2022-01-08 17:55:33 · 7140 阅读 · 0 评论