机器学习
文章平均质量分 91
珞沫
欲望以提升热忱,毅力以磨平高山。
展开
-
NLP文本相似度系列算法
NLP文本相似度1、前言2、余弦相似度3、TF-IDF4、1、前言\quad \quadNLP、数据挖掘领域中,文本分析是一个很重要的领域,这有助于我们去让计算机理解语言的作用和使用。文本分析也是数据挖掘的重要手段,利用文本分析,我们将很快的读取到一本书、一篇文章、一段话中的关键词和核心思想,而文本相似度就是我们用来剔除无用信息或者重复信息的重要手段。要让计算机去找文本中的不同。\quad \quad我们在比较事物时,往往会用到“不同”,“一样”,“相似”等词语,这些词语背后都涉及到一个动作——双方的原创 2021-05-04 10:34:15 · 1379 阅读 · 0 评论 -
机器学习笔记28——Boosting方法之CatBoost算法原理及python实战
CatBoost算法引言1、CatBoost简介2、CatBoost原理2.1 类别型特征处理2.1.1 类别型特征常规工程操作引言\quad \quadCatBoost是俄罗斯的搜索巨头Yandex在2017年开源的机器学习库,是Boosting族算法的一种。CatBoost和XGBoost、LightGBM并称为GBDT的三大主流神器,都是在GBDT算法框架下的一种改进实现。XGBoost被广泛的应用于工业界,LightGBM有效的提升了GBDT的计算效率,而Yandex的CatBoost号称是比原创 2020-12-04 17:54:26 · 2079 阅读 · 0 评论 -
机器学习笔记27——Boosting方法之LightGBM算法原理及python实战
LightGBM算法引言1、LightGBM原理引言\quad \quadGBDT (Gradient Boosting Decision Tree) 是机器学习中一个长盛不衰的模型,其主要思想是利用弱分类器(决策树)迭代训练以得到最优模型,该模型具有训练效果好、不易过拟合等优点。GBDT 在工业界应用广泛,通常被用于点击率预测,搜索排序等任务。虽然传统的boosting算法(如GBDT和XGBoost)已经有相当好的效率,但是在如今的大样本和高维度的环境下,传统的boosting似乎在效率和可扩展性上原创 2020-11-27 15:10:55 · 1932 阅读 · 0 评论 -
详谈概率图模型(PGM)
概率图引言1、概述2、基本问题引言\quad \quad机器学习是根据一些已观察到的证据(如训练样本)来对感兴趣的未知变量(如类别标记)进行估计和预测。概率模型(probabilistic model)提供了一种描述框架,将学习任务归结于计算变量的概率分布。\quad \quad在概率模型中,利用已知变量推测未知变量的分布称为推断(inference),其核心是如何基于可观测变量推断出未知变量的条件分布。假定未知变量集合是Y,可观察变量集合是O,其他变量集合是R,生成式(generative)模型考虑原创 2020-09-07 15:00:47 · 5745 阅读 · 2 评论 -
机器学习笔记26——朴素贝叶斯法
朴素贝叶斯前言1、概述2、原理3、算法4、朴素贝叶斯种类4.1高斯朴素贝叶斯(GaussianNB)4.2 多项式朴素贝叶斯(MultinomialNB)小结前言\quad \quad朴素贝叶斯算法是解决分类问题的监督学习算法,,如客户是否流失、是否值得投资、信用等级评定等多分类问题。该算法的优点在于简单易懂、学习效率高、在某些领域的分类问题中能够与决策树、神经网络相媲美。但由于该算法以自变量之间的独立(条件特征独立)性和连续变量的正态性假设为前提,就会导致算法精度在某种程度上受影响。1、概述\q原创 2020-09-06 18:23:35 · 742 阅读 · 0 评论 -
机器学习笔记25——Bagging算法之随机森林(Rondoom Forest) 算法原理以及python实现
随机森林引言1、概述引言\quad \quad在集成学习简介中,简单的介绍了根据个体学习器学习方式不同划分的两大类集成学习方法,个体学习器间存在强依赖关系、必须串行生成的序列化方法,如Boosting;个体学习器间不存在强依赖关系、可同时生成的并行化方法,如Bagging。下面详细的说明一下Bagging 算法的进化版随机森林算法。1、概述随机森林(Random Forest, RF)可以看成是改进的Bagging算法,它可以更好地解决决策树的过拟合问题。随机森林以CART树作为基分类器,对比决策树原创 2020-08-29 10:33:14 · 686 阅读 · 0 评论 -
机器学习笔记24——单层决策树(decision stump)原理以及python实现
单层决策树1、概述2、构建1、概述\quad \quad单层决策树(decision stump),也称决策树桩,它是一种简单的决策树,通过给定的阈值,进行分类。如下图所示(仅对 petal length 进行了判断):从树(数据结构)的观点来看,它由根节点(root)与叶子节点(leaves)直接相连。用作分类器(classifier)的 decision stump 的叶子节点也就意味着最终的分类结果。从实际意义来看,decision stump 根据一个属性的一个判断就决定了最终的分类结果原创 2020-08-15 16:50:29 · 6235 阅读 · 0 评论 -
机器学习笔记23——集成/提升(Boosting)系列算法之XGBoost 算法原理以及python实现
XGBoost 算法1、概述2、基础知识,GBDT1、概述全称:eXtreme Gradient Boosting (极限梯度提升)作者:陈天奇(华盛顿大学博士)基础:GBDT所属:boosting迭代型、树类算法。适用范围:分类、回归优点:速度快、效果好、能处理大规模数据、支持多种语言、支 持自定义损失函数等等。缺点:发布时间短(2014),工业领域应用较少,待检验2、基础知识,GBDT\quad \quadXGBoost是在GBDT的基础上对boosting算法进行的改进,对比原算法原创 2020-08-13 20:44:06 · 1413 阅读 · 0 评论 -
机器学习笔记22——集成/提升(Boosting)系列算法之GBDT 算法原理以及python实现
GBDT算法引言1、概述GBDT 算法引言\quad \quad在集成学习原理一文中,简单的介绍了根据个体学习器学习方式不同划分的两大类集成学习方法;在Boosting方法中介绍了其核心思想;在Adaboost算法一文中,介绍了Boosting家族的一个重要算法Adaboost,????回顾一下集成方法: 集成算法,是一种提高弱分类算法准确度的方法,将多个弱分类算法(也叫做基学习器)以一定的集成方式集合在一起,然后再将弱分类器的结果以一定的融合策略融合成一个结果,作为最终的结果输出。boosting原创 2020-08-13 10:24:37 · 1033 阅读 · 0 评论 -
机器学习笔记21——决策树之CART算法原理及python实现案例
CART算法引言1、概述2、CART算法2.1 CART生成2.1.1 回归树的生成2.1.2 分类树的生成2.2 CART剪枝2.2.1 剪枝,形成一个子树序列2.2.2 在剪枝得到的子树序列T0,T1,T2,T3......TnT_0,T_1,T_2,T_3......T_nT0,T1,T2,T3......Tn中通过验证选取最优子树TαT_\alphaTα引言\quad \quad在决策树、ID3、C4.5算法一文中,简单地介绍了决策树模型,以及决策树生成算法ID3算法和ID3算法的改原创 2020-08-12 16:45:05 · 12740 阅读 · 16 评论 -
机器学习笔记20——集成/提升(Boosting)系列算法之提升树(BDT) 算法原理以及python实现
提升树1、概述2、提升树模型3、提升树算法3.1 分类问题的提升树算法3.2 回归问题的提升树算法1、概述\quad \quad提升树,又称提升决策树 (BDT,Boosting Decision Tree)。2、提升树模型\quad \quad以决策树为基函数的提升方法称为提升(决策)树(BDT)。对分类问题决策树是二叉分类树;对回归问题决策树是二叉回归树 提升决策树模型可以表示为决策树的加法模型:fM(x)=∑m=1MT(x;Θm)(1.1)f_M(x)=\sum_{m=1}^M原创 2020-08-12 10:34:08 · 1300 阅读 · 0 评论 -
机器学习笔记19——集成/提升(Boosting)系列算法之AdaBoost 算法原理以及python实现
Adaboost 算法1、概述2、基本思想3、算法三级目录1、概述AdaBoost(adapt boost),自适应推进算法:Adaboost算法是机器学习中一种比较重要的特征分类算法,已被广泛应用人脸表情识别、图像检索等应用中。就目前而言,对Adaboost算法的研究以及应用大多集中于分类问题,在一些回归问题上也有所应用。Adaboost主要解决的问题有: 两类问题、多类单标签问题、多类多标签问题、回归问题。2、基本思想1)如何改变训练数据的权值或概率分布?提高被弱分类器错分样本的权值,降低正原创 2020-08-11 18:30:23 · 1880 阅读 · 1 评论 -
机器学习笔记18——集成学习系列——集成/提升(Boosting)方法原理以及系列算法
Boosting 方法1、概述2、原理2.1 加法模型2.2 前向分布算法3、系列算法3.1 AdaBoost 算法1、概述\quad \quadBoosting是一种用来提高弱分类算法准确度的方法(集成学习方法),通过反复修改训练数据的权值分布,构建一系列基本分类器(弱分类器),并将这些基本分类器线性组合,构成一个强分类器。包括Adaboost算法、提升树、GBDT算法。强学习器:根据得到的弱学习机和相应的权重给出假设(最大程度上符号实际情况)根据天气以往的预测表现及实际天气情况做出综合准确的天原创 2020-08-10 21:36:21 · 2003 阅读 · 0 评论 -
机器学习笔记17——集成学习(ensemble learning)简介
Boosting 方法1、概述2、原理2.1 加法模型2.2 前向分布算法3、系列算法3.1 AdaBoost 算法1、概述\quad \quadBoosting是一种用来提高弱分类算法准确度的方法(集成学习方法),通过反复修改训练数据的权值分布,构建一系列基本分类器(弱分类器),并将这些基本分类器线性组合,构成一个强分类器。包括Adaboost算法、提升树、GBDT算法。强学习器:根据得到的弱学习机和相应的权重给出假设(最大程度上符号实际情况)根据天气以往的预测表现及实际天气情况做出综合准确的天原创 2020-08-10 20:35:57 · 1429 阅读 · 0 评论 -
机器学习总概述
机器学习概述1、 定义2、 基本概念3、基本要素3.1 模型-机器学习的目的3.2(学习准则)策略-如何构造模型?3.3 优化算法-模型的实现4、 分类5、 机器学习之特征工程6、模型评估与选择6.1基本概念6.2 过拟合与欠拟合6.3 评估方法6.4 性能度量6.5 比较检验1、 定义\quad \quad机器学习是实现人工智能的手段,从数据中获得决策(预测)函数使得机器可以根据数据进行自动学习,通过算法使得机器能从大量历史数据中学习规律从而对新的样本做决策。 多领域交叉,涉及概率论、统计学,原创 2020-08-10 16:47:47 · 2021 阅读 · 0 评论 -
深度学习模型系列一——多分类模型——Softmax 回归
Softmax 回归1、概述1、概述softmax 回归(softmax regression)其实是 logistic 回归的一般形式,logistic 回归用于二分类,而 softmax 回归用于多分类,关于 logistic 回归可以看我的这篇博客????机器学习笔记九——线性模型原理以及python实现案例参考资料:https://blog.csdn.net/weixin_38169413/article/details/103598534...原创 2020-08-05 10:54:52 · 29354 阅读 · 3 评论 -
机器学习笔记16——决策树剪枝算法原理及python实现案例
决策树剪枝算法1、算法目的2、算法基本思路:3、决策树损失函数4、剪枝类型:4.1 预剪枝4.2 后剪枝4.3 两种剪枝策略对比1、算法目的决策树的剪枝是为了简化决策树模型,避免过拟合。同样层数的决策树,叶结点的个数越多就越复杂;同样的叶结点个数的决策树,层数越多越复杂。剪枝前相比于剪枝后,叶结点个数和层数只能更多或者其中一特征一样多,剪枝前必然更复杂。层数越多,叶结点越多,分的越细致,对训练数据分的也越深,越容易过拟合,导致对测试数据预测时反而效果差,泛化能力差。2、算法基本思路:剪去决原创 2020-07-21 11:23:38 · 3167 阅读 · 0 评论 -
机器学习笔记15——决策树(DT)、ID3算法、C4.5算法原理以及python实现案例
决策树1、概述2、决策树模型3、决策树学习4、决策树构建-三步骤4.1 特征选择4.1.1 熵(entropy)4.1.2 条件熵(entropy)4.1.3 信息增益总结1、概述决策树(decision tree): 是一种基本的分类与回归方法,此处主要讨论分类的决策树。在分类问题中,表示基于特征对实例进行分类的过程,可以认为是if-then的集合,也可以认为是定义在特征空间与类空间上的条件概率分布。2、决策树模型定义: 分类决策树模型是一种描述对实例进行分类的树形结构。决策树由结点和有向边组原创 2020-07-19 21:53:50 · 9674 阅读 · 2 评论 -
机器学习笔记14——K近邻法(KNN)算法原理以及python实现案例
K近邻法1、概述2、判别过程3、kNN的三要素3.1 距离度量3.2 K值的选择3.3 分类决策规则4、k近邻算法及代码实(python)4.1 kNN算法1、概述K近邻法(KNN)是一种基本的分类与回归方法。分类时,对于新的实例,根据与它最接近的k个训练实例的类别,通过多数表决等方式,进行预测。对于给定的训练集,当k值,距离度量和分类决策规则(统称三要素)确定后,基于k近邻法的模型就已经确定了。所以,它实际上利用训练集对特征向量空间进行划分,并没有显示的学习过程。k近邻法,符合我们基本的认知,即 “物原创 2020-07-17 16:05:50 · 1878 阅读 · 0 评论 -
机器学习笔记13——支持向量机(SVM)模型原理以及python实现案例
支持向量机(SVM)1、概述2、基本概念2.1 线性可分2.2 函数间隔和几何间隔2.3 间隔最大化(硬间隔最大化)2.4 支持向量和间隔边界2.5 对偶问题1、概述支持向量机(support vector machines,SVM)是一种二分类模型,它的目的是寻找一个超平面来对样本进行分割,分割的原则是间隔最大化,可以形式化为一个求解凸二次规划的问题,也等价于正则化的合页损失函数的最小化问题,支持向量机的学习算法是求解凸二次规划的最优化算法。。由简至繁的模型包括:当训练样本线性可分时,通过硬间隔最原创 2020-07-16 10:03:56 · 4108 阅读 · 0 评论 -
机器学习笔记12——感知机模型原理以及python实现案例
感知机1、概述2、感知机模型2.1 定义2.2 损失函数3、感知机算法3.1 原始形式3.2 对偶形式4、感知机与其他算法1、概述感知机是由美国学者FrankRosenblatt 在1957 年提出来的,被看作为神经网络(深度学习)的起源的算法,同时也是支持向量机的基础。严格讲,应该称为“人工神经元”或“朴素感知机”,但是因为很多基本的处理都是共通的,所以这里就简单地称为“感知机”。感知机是二分类的线性模型,其输入是实例的特征向量,输出的是事例的类别,分别是+1和-1,属于判别模型。感知机要求数据原创 2020-07-13 11:41:39 · 1499 阅读 · 0 评论 -
机器学习笔记11—机器学习/深度学习之激活函数及python代码实现
2.2 ML/DL之激活函数非线性激活函数:Sigmoid函数、tanh函数、ReLU函数、Leaky ReLU函数。1、激活函数特点非线性处理单元。激活函数使神经网络具有非线性。它决定感知机是否激发。激活函数的这种非线性,赋予了深度网络学习复杂函数的能力。除了在0点的修正单元以外,大多数激活函数都是连续并可导。激活函数及其导函数要尽可能的简单,有利于提高网络计算效率。激活函数的导函数的值域要在一个合适的区间内,不能太大也不能太小,否则会影响训练的效率和稳定性。2、常用的激活函数Si原创 2020-07-10 21:55:22 · 1349 阅读 · 0 评论 -
机器学习笔记十——浅谈神经网络原理及python实现案例
神经网络1、概述2、基础知识2.1 神经元2.2 ML/DL之激活函数1、概述在机器学习中,神经网络(neural networks) 一般是指“神经网络学习”。所谓神经网络,目前用得最广泛的一个定义是神经网络是由 具有适应性的简单单元组成的广泛 并行互连的网络,它的组织能够模拟生物神经系统 对真实世界物体所做出的反应。它是一种黑箱模型,解释性较差,但效果很好。目前已有一些工作尝试改善神经网络的可解释性。从机学习的角度来看,神经网络一般可以看作一个非线性模型,其基本组成单元为具有非线性激活函数的神经元原创 2020-07-10 19:59:15 · 1160 阅读 · 0 评论 -
机器学习笔记九——线性模型原理以及python实现案例
线性模型1、线性模型概述2 广义线性模型3、经典的线性模型3.1 线性回归3.1.1 单变量线性回归3.1.2 多变量线性回归1、线性模型概述给定一个由d个属性描述的实例x=(x1;x2;...;xd)x=(x_1;x_2;...;x_d)x=(x1;x2;...;xd) ,其中xix_ixi是 是x在第i个属性上的取值,线性模型(linear model) 的原理是试图学得一个通过属性的线性组合来进行预测的函数,即f(x)=ω1x1+ω2x2+...+ωdxd+df(x)=\omega_原创 2020-07-05 15:38:10 · 4150 阅读 · 0 评论 -
机器学习笔记七——特征工程之特征处理
特征处理1、特征编码2、特征缩放1、特征编码2、特征缩放原创 2020-06-12 17:54:40 · 4026 阅读 · 0 评论 -
机器学习笔记六——特征工程之数据预处理
特征工程之数据预处理1 处理缺失值2 处理异常值2.1 异常值检测2.2异常值处理3 处理类别不平衡问题4 图片数据扩充5 数据的特征表示数据预处理首先需要对数据进行预处理,一般常用的两种数据类型:结构化数据。 结构化数据可以看作是关系型数据库的一张表,每列都有清晰的定义,包含了数值型和类别型两种基本类型;每一行数据表示一个样本的信息。非结构化数据。 主要是文本、图像、音频和视频数据,其包含的信息无法用一个简单的数值表示,也没有清晰的类别定义,并且每个数据的大小互不相同。1 处理缺失值原创 2020-06-12 17:49:27 · 4781 阅读 · 0 评论 -
机器学习笔记五——模型评估与选择3——比较检验
比较检验有了实验评估方法和评估指标,看似可以对分类器的性能进行评估比较了:先使用某种试验评估方法测得分类器的某个评估指标结果,然后对这些结果进行比较。但怎么来做这个“比较”呢?直接选取相应评估方法在相应度量下比大小的方法不可取!因为关于性能比较:测试性能并不等于泛化性能测试性能会随着测试集的变化而变化很多机器学习算法本身有一定的随机性那么应该如何有效地进行模型比较呢?答案是采用统计假设检验(hypothesis test)。基于假设检验结果,我们可以推断出,若在测试集上观察到模型A优于B,原创 2020-06-11 11:55:37 · 6389 阅读 · 0 评论 -
机器学习笔记四——模型评估与选择2——性能度量(回归问题)
适用于回归问题中的性能度量1、 均方误差2、平均绝对误差3、均方对数误差4、决定系数为了说明各性能度量指标,我们以著名的回归任务中波士顿房价数据集为例,模型选择决策树算法,通过 train_test_split() 划分数据集,最后评估各项性能指标。from sklearn.datasets import load_bostonfrom sklearn.tree import DecisionTreeRegressorfrom sklearn.model_selection import train原创 2020-06-10 17:39:53 · 1240 阅读 · 0 评论 -
机器学习笔记三——模型评估与选择2——性能度量(分类问题)
适用于分类问题中的性能度量1、错误率和精度2、查准率,查全率,F13、ROC 与 AUC对学习器的泛化性能进行评估,不仅需要有效可行的实验估计方法,还需要有衡量模型泛化能力的评价标准,这就是性能度量 (performance measure)。性能度量反映了任务需求,在对比不同模型的能力时,使用不同的性能度量往往会导致不同的评判结果。这意味着模型的‘好坏’是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于任务需求。在预测任务中,给定数据集 D=(x1,y1),(x2,y2),...,(xm,原创 2020-06-09 18:24:29 · 2887 阅读 · 1 评论 -
机器学习笔记二——模型评估与选择1——评估方法
模型评估与选择1、基本概念2、评估方法(获得可靠的测试集数据)2.1留出法2.2 交叉验证法2.3 自助法3、性能度量-衡量模型泛化能力的评价标准 3.1分类任务中的性能度量3.2 回归任务中的性能度量1、基本概念错误率: 在分类任务中,错分的样本数占样本总数的比例称为错误率(error rate)。精度:在分类任务中,正确分的样本数占样本总数的比例称为精度(accuracy)。精度 = 1 - 错误率。误差: 学习器的实际预测输出与样本的真实输出之间的差异称为误差(error)。学习器在训练集原创 2020-06-09 11:44:12 · 1377 阅读 · 0 评论 -
机器学习笔记一——常用优化算法—GD、BGD、SCD、MBGD
优化算法11、梯度下降(Gradient Descent,GD)2、 批量梯度下降(Batch Gradient Descent,BGD)3、随机梯度下降(Stochastic Gradient Descent,SGD)4、 小批量梯度下降(Mini-Batch Gradient Descent, MBGD)1、梯度下降(Gradient Descent,GD)梯度下降梯度下降是最流行的优化算法之一并且目前为止是优化神经网络最常见的算法,具有实现简单的优点。梯度下降是一种以通过在目标函数梯度 的反向原创 2020-06-08 18:14:33 · 3760 阅读 · 0 评论 -
机器学习——笔记整理(原理、python代码)——反反复复,出精活!
回顾知识,检查自我,开拓新域。机器学习1.监督学习机器学习简介:机器学习是实现人工智能的手段,其主要研究内容是如何利用数据或经验进行学习,改善具体算法的性能。 多领域交叉,涉及概率论、统计学,算法复杂度理论等多门学科广泛应用于网络搜索、垃圾邮件过滤、推荐系统、广告投放、信用评价、欺诈检测、股票交易和医疗诊断等应用。机器学习分类: 机器学习一般分为下面几种类别监督学习 ( Supervised Learning)无监督学习 ( Unsupervised Learning)强化学习(原创 2020-06-07 20:57:29 · 5038 阅读 · 1 评论