机器学习
文章平均质量分 94
记录机器学习相关内容、笔记等
快乐星球小怪兽
我很懒,不想添加简介
展开
-
图像分类的Tips和Tricks
图像分类技巧汇总原创 2022-12-29 20:10:27 · 1022 阅读 · 1 评论 -
机器学习(九)——线性判别分析(LDA)
线性判别分析(LDA)1 线性判别原理1.1 基于贝叶斯公式的理解1.2 基于降维分类思想的理解2 代码实践1 线性判别原理LDA的思想非常简单:对于给定数据集,设法将其投影到一条直线上,使得同类样本的投影点尽可能接近,异类样本的投影点尽可能远离;对新的测试样本,将其投影到同样的直线上,在根据投影点的位置来判断测试样本的类别。“投影后类内方差最小,类间方差最大”LDA是一种监督学习的降维技术,也就是说它的数据集的每个样本是有类别输出的。LDA还可以用于分类。一个常见的LDA分类基本思想是:假设各个类别原创 2021-05-15 14:43:16 · 567 阅读 · 0 评论 -
机器学习(八)——K近邻学习(K-Nearest Neighbor, KNN)
K近邻(KNN)1 KNN 原理1.1 模型优化1.1.1 K值的选择1.1.2 距离/相似度度量1.1.3 投票策略1.2 KNN的应用1.3 泛化性能2 代码实践2.1 回归任务2.2 分类任务2.3 缺失值填充1 KNN 原理K近邻学习是一种常用的监督学习方法,也是“懒惰学习”的代表(因为它没有显式的学习过程)。它的思想很简单:给定测试样本,基于某种距离度量找出训练集中与其最靠近的K个样本,然后基于对这K个“邻居”的投票进行预测。 KNN的建立过程很简单:给定测试样本,计算它与训练集中每一个样原创 2021-04-28 14:26:49 · 906 阅读 · 0 评论 -
机器学习(七)——LightGBM算法
LightGBM算法1 算法原理2 代码实践1 算法原理2 代码实践原创 2021-04-28 11:16:27 · 11148 阅读 · 2 评论 -
机器学习(六)——XGBoost算法
XDBoost算法1 XGBoost算法原理1.1 算法推导1.2 优缺点1 XGBoost算法原理XGBoost算法在Gradient Boosting框架下实现,是一个优化的分布式梯度增强库,旨在实现高效,灵活和便携,本质上还是一个GBDT。Xgboost算法以CART决策树为子模型,通过Gradient Tree Boosting实现多棵CART树的集成学习,得到最终模型。 XGBoost提供了并行树提升(也称为GBDT,GBM),可以解决超过数十亿个样例的问题。1.1 算法推导这里引用陈天奇原创 2021-04-26 23:03:58 · 1466 阅读 · 1 评论 -
机器学习(五)——梯度提升决策树(GBDT)
梯度提升决策树(GBDT)1 基于残差学习的梯度提升树2 梯度提升决策树(GBDT)3 算法实践梯度提升决策树(GBDT),在传统机器学习中算得上是TOP3的算法。GBDT使用的基学习器是CART回归树,而且无论是回归还是分类,都使用的是回归树。为什么不使用决策树呢?因为GBDT每次迭代要拟合的是梯度值,也就是说样本标签是连续的,因此需要使用回归树。(对于决策树的构造原理可以参考我这篇文章)1 基于残差学习的梯度提升树要想理解GBDT,我们先来看一下基于残差学习的梯度提升树(即,基于残差学习的加法模型原创 2021-04-22 20:05:00 · 1929 阅读 · 1 评论 -
机器学习(四)——AdaBoost
AdaBoost1 AdaBoost原理1.1 算法流程2 代码实践1 AdaBoost原理AdaBoost算法是一种Boosting算法,它在解决Boosting算法提出的两个问题时,给出的答案是:1、(改变数据分布的问题) 提高那些在前一轮分类器中被错误分类的样本的权重,减小那些被正确分类样本的权重,这样那些被分类错误的样本在后续的训练中得到了更大的关注;2、(组合各个弱分类器策略的问题) 各个弱分类器的组合是通过加权表决进行组合的,具体来说就是加大分类错误率低的弱分类器的权重,减小分类错误率高的弱原创 2021-04-20 11:05:12 · 547 阅读 · 0 评论 -
机器学习(三)——决策树(Decision Tree)
决策树1 决策树原理1.1 决策树的构造1.2 划分指标1.2.1 信息增益1.2.2 基尼(GINI)系数2 剪枝处理1 决策树原理决策树是基于树形结构来进行决策的,目的是产生一颗泛化能力强的决策树,其基本流程遵循简单且直观的分而治之策略。一般的,一颗决策树包含一个根结点、若干内部结点和若干叶结点;其中叶结点对应决策结果,其他结点对应一个属性测试,每个分支代表一个判断结果的输出;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根节点包含样本全部结点。1.1 决策树的构造对于训练集D={原创 2021-04-16 16:35:14 · 610 阅读 · 1 评论 -
机器学习(二)——朴素贝叶斯(NB)模型
1 基础知识1.1 条件概率条件概率是指我们感兴趣的事一件事先发生作为前提下,发生的概率。给定事件B在事件A发生的前提下发生的概率记为P(B|A):P(B∣A)=P(A,B)P(A) P(B|A) = \frac{P(A,B)}{P(A)}\,P(B∣A)=P(A)P(A,B)其中P(A,B)表示A、B同时发生的概率,P(A)表示A事件发生的概率。1.2 贝叶斯规则我们经常会需要在已知P(A|B)的情况下求P(B|A)。例如医生知道某种病存在什么症状,但是在诊断时,医生是根据病人出现的症状确定原创 2021-03-17 16:31:22 · 1263 阅读 · 0 评论 -
DataWhale集成学习笔记(十)案例分析(一)幸福感挖掘
幸福感挖掘1 题目理解2 数据解析3 数据挖掘1 题目理解2 数据解析3 数据挖掘原创 2021-05-18 21:26:18 · 481 阅读 · 1 评论 -
DataWhale集成学习笔记(九)Stacking集成算法
Stacking集成算法1 Blending集成学习算法1.2 代码实例2 Stacking集成算法Stacking集成算法可以理解为一个两层的集成,第一层含有多个基础分类器,把预测的结果(元特征)提供给第二层, 而第二层的分类器通常是逻辑回归,他把一层分类器的结果当做特征做拟合输出预测结果。1 Blending集成学习算法Blending集成学习算法是一种简化版的Stacking集成算法。Blending集成学习的算法流程:将数据集划分为训练集和测试集 (test_set),然后将训练集再次原创 2021-05-08 10:49:28 · 547 阅读 · 0 评论 -
DataWhale集成学习笔记(八)Boosting
Boosting1 Boosting原理1.1 弱学习与强学习1.2 Boosting思想2 AdaBoost3 梯度提升决策树(GBDT)4 XGBoost5 LightGBM1 Boosting原理集成学习的一般结构是:先学习一组“个体学习器”,再将他们根据某种策略组合起来。而这些“个体学习器”对于当前数据集的学习能力有强有弱,那么这些“个体学习器”的学习性能就可以用”弱学习器“和”强学习器“来表示。1.1 弱学习与强学习那么什么是弱学习器和强学习器呢?历史上Valiant和 Kearns提出了原创 2021-04-28 11:31:30 · 165 阅读 · 0 评论 -
DataWhale集成学习笔记(七)Bagging与随机森林
Bagging1 Bagging原理1.1 自助采样法(bootstrap sampling)1.2 Bagging原理分析2 代码实践1 Bagging原理1.1 自助采样法(bootstrap sampling)给定包含mmm个样本的数据集DDD,我们对其进行采样产生数据集D′D'D′:每次随机从数据集DDD中挑选一个样本,将其拷贝放进D′D'D′中,然后再将该样本放回初始数据集DDD中,使得该样本下次仍然可以被采样到;这一过程重复nnn次,就能得到一个包含nnn个样本的的数据集D′D'D′;初始原创 2021-04-17 22:51:51 · 193 阅读 · 0 评论 -
DataWhale集成学习笔记(六)投票法
投票法1 投票法原理2 投票法实践2.1 回归投票法2.2 分类投票法1 投票法原理投票法依据的少数服从多数的原则,在理想情况下,投票法集成的结果要优于各个基模型预测的结果。因此在分类器不理想的情况下,可以使用多个弱分类器进行投票集成,这样可以得到一个相对较好的结果。例如,对于一个二分类任务,有一个弱分类器,预测准确率为51%,那么以这个弱分类器为基分类器,集成3个,最终的预测准确率为:ACC=C32 0.512×0.49+C33 0.513=51.50%ACC=C_3^2\;0.51^2\time原创 2021-04-13 15:42:28 · 595 阅读 · 2 评论 -
DataWhale集成学习笔记(五)
本文参考模型评估和调参1 基于交叉验证的模型评估2 使用学习和验证曲线调试算法2.1 学习曲线2.2 验证曲线3 超参数调优3.1 网格搜索3.2 随机网格搜索4混淆矩阵5 ROC曲线1 基于交叉验证的模型评估由于在实际训练中,分类器往往对训练数据分类较好,而对于测试数据拟合程度较差,因此我们需要用交叉验证法来评估模型的泛化能力,并对模型进行选择。交叉验证的基本思路为将样本分成训练组和测试组,用训练组构建分类模型,用测试组验证模型并且评估模型性能。交叉验证法主要包括k-fold交叉验证法、随机子抽样法原创 2021-03-29 20:30:38 · 113 阅读 · 0 评论 -
DataWhale集成学习笔记(四)
构建分类模型1 收集数据并选择合适的特征2 选择模型性能的度量指标3 选择具体的模型3.1 逻辑回归模型3.1.1 逻辑回归原理3.1.2 逻辑回归应用3.1.3 代码演示3.2 基于概率的分类模型3.2.1 线性判别分析(LDA)3.2.2 朴素贝叶斯3.3 决策树3.4 支持向量机1 收集数据并选择合适的特征本次使用我们比较熟悉的鸢尾花数据集。鸢尾花数据集一共包含5个变量,其中4个特征变量,1个目标分类变量。共有150个样本,目标变量为 花的类别 其都属于鸢尾属下的三个亚属,分别是山鸢尾 (Iri原创 2021-03-27 22:38:24 · 160 阅读 · 0 评论 -
DataWhale集成学习笔记(三)
偏差与方差理论1 训练误差与测试误差2 估计、偏差和方差2.1 估计2.2 偏差2.3 方差2.4 权衡偏差和方差以最小化均方误差3 最小化测试误差的方法3.1 特征提取3.1.1 训练误差修正3.1.2 交叉验证3.1.3 特征选择方法3.2 正则化3.2.2 L1正则化3.2.3 L2正则化3.3 降维3.3.1 主成分分析1 训练误差与测试误差使用训练集估计模型的参数,通常我们会在训练集上计算一些被称为训练误差的度量误差,目标是降低训练误差,原则一般都是使得我们的损失函数在训练集达到最小值,其实在原创 2021-03-22 22:41:45 · 232 阅读 · 0 评论 -
DataWhale集成学习笔记(二)
该学习内容基于DataWhale的开源内容1 回归原创 2021-03-18 23:46:30 · 186 阅读 · 0 评论 -
DataWhale集成学习笔记(一)
机器学习机器学习可以分为有监督和无监督学习,二者都含有数据的特征向量;但是相比无监督,有监督有因变量,有预测的结果,也就是x和y都已知,学习过程中可以根据已知标签进行纠正;无监督学习则无因变量,主要学习寻找数据中的结构信息,比如学习数据的分布等。...原创 2021-03-15 23:07:31 · 197 阅读 · 0 评论