
机器学习
文章平均质量分 82
大豆木南
人生很长,珍惜每一个晴天雨天刮风天下雪天
展开
-
梯度下降法和牛顿法
梯度下降法和牛顿法都是优化方法。原创 2023-07-27 22:00:39 · 375 阅读 · 0 评论 -
线性代数:线性方程求解、矩阵的逆、线性组合、线性独立
线性代数:线性方程求解、矩阵的逆、线性组合、线性独立原创 2023-05-27 22:41:52 · 2626 阅读 · 0 评论 -
驻点以及二阶导对驻点的判断
当一阶导数为 0 或者梯度向量为零向量时,该点为驻点,如何判断该驻点是局部最小值点还是局部最大值点还是鞍点呢?我们可以利用二阶导数判断。原创 2022-03-12 22:14:42 · 15486 阅读 · 0 评论 -
导数、偏导数、梯度、方向导数、梯度下降、二阶导数、二阶方向导数
导数:函数(因变量对应实数值)偏导数:函数(因变量对应实数值)梯度:向量(向量的每一维对应偏导数)方向导数:函数(因变量对应实数值)梯度下降:一种优化方法二阶导数:函数(因变量对应实数值)二阶方向导数:函数(因变量对应实数值)原创 2022-01-07 18:40:17 · 8680 阅读 · 1 评论 -
隐马尔可夫模型(HMM)
本文不是HMM的详细推导文章,是对HMM的一个小总结。详细的推导可参考李航统计学习方法第10章。本文目录如下:隐马尔可夫模型简介HMM可用于标注问题。隐马尔可夫模型是关于时序的概率模型,由一个隐藏的马尔可夫链随机生成不可观测的状态随机序列,再由各个状态生成一个观测从而产生观测随机序列。隐藏的马尔可夫链随机生成的状态的序列,称为状态序列;每个状态生成一个观测,而由此产生的观测的随机序列,称为观测序列。序列的每个位置可以看作是一个时刻。隐马尔可夫模型两个特点:1、引入了隐状态;2、是时序的。原创 2021-10-30 13:39:51 · 1658 阅读 · 0 评论 -
潜在狄利克雷分配(LDA)(latent Dirichlet allocation)
多项分布:假设重复进行 次独立随机试验,每次实验可能出现的结果有 种,第种结果出现的次数为,第种 结果出现的概率为。如果用随机变量 表示实验所有可能出现结果的次数,其中表示第种结果出现的次数,那么随机变量服从多项分布。具体的数学定义如下:若多元离散随机变量的概率质量函数为 :其中,,。则称随机变量服从参数为 的多项分布,计做。多项分布的两个特例,二项分布和类别分布多项分布有两个特例,一个是二项分布,一个是类别分布。二项分布:当实验可...原创 2021-10-25 15:57:55 · 3283 阅读 · 0 评论 -
pLSA参数估计的EM算法推导
pLSA 可参考概率潜在语义分析(PLSA)(probabilistic latent semantic analysis)EM算法可参考EM(期望最大)算法推导以及实例计算拉格朗日乘子法可参考如何理解拉格朗日乘子法?好啦,下面开始做一个简单的推导。首先我们先回顾一个 pLSA,以生成模型为例。生成模型假设在话题给定条件下,单词和文本条件独立,即:设单词集合为,文本集合为,话题集合为。给定单词-文本共现数据,,。为单词在文本中...原创 2021-10-23 22:04:20 · 720 阅读 · 0 评论 -
EM(期望最大)算法推导以及实例计算
EM算法是一种优化算法。它应用的场景是含有隐变量的概率模型的极大似然估计或极大后验概率估计,它是极大似然估计或极大后验概率估计的具体实现方法。这篇文章我们仅讨论极大似然估计,极大后验概率估计与其类似。1、含有隐变量的概率模型隐:观测不到。我们以三硬币模型为例。假设有3枚硬币,分别记做,,。这些硬币正面出现的概率分别是,,。进行如下掷硬币实验:先掷硬币,根据其结果选出硬币或硬币;然后掷选出的硬币,出现正面记做1,出现反面记做0;独立重复次实验,假设观测结果如下:1,1,...原创 2021-10-21 15:44:03 · 1425 阅读 · 0 评论 -
极大似然估计、贝叶斯估计、极大后验概率估计
在概率论里,经常能听到极大似然估计和贝叶斯估计这两个词,今天打算好好理解一下。首先我问了自己两个问题。1、‘极大似然估计’ 、‘贝叶斯估计’ 和 '极大后验概率估计',这三个词里,都有 ‘估计‘ 两字 ,听起来像是用来估计某个我们不知道的未知的东西,那么是用来估计啥呢?2、‘极大似然’ 和 ‘贝叶斯’ 到底有什么不同呢?首先可以回答第一个问题,这两方法用来估计未知的 ‘概率分布的参数’。对于第二个问题,极大似然估计和贝叶斯估计是概率论中两大派的产物,分别是频率学派和贝叶斯学派。..原创 2021-10-17 00:29:05 · 1591 阅读 · 1 评论 -
Jensen不等式证明
凸函数(Convex Functions)凸函数的定义1如下:如下图所示:严格凸函数:函数曲线位于由点和连接而成的直线下方。凸函数:函数曲线不超过由点和连接而成的直线。定理1:如果某函数在某个区间二阶可导且二阶导数非负,那么这个函数在该区间是凸的。其中 twice differentiable 指的是二阶可导。关于这个定理的证明如下:推论1:-ln(x) 在 (0,∞) 上是严格凸函数。证明如下:其中的 Definition 2是凹...原创 2021-10-14 15:54:28 · 8500 阅读 · 0 评论 -
概率潜在语义分析(PLSA)(probabilistic latent semantic analysis)
概率潜在语义分析,听名字里边的‘概率’一词,就知道这和一般的统计(频数统计/tfidf 统计)不一样。我们知道LSA是对单词-文本矩阵(频数或tfidf组成的矩阵)进行奇异值分解,LSA的最重要的中心思想就是引入话题维度,将一个文本的单词向量降维转化为话题向量,一是解决了稀疏矩阵中很多 0 值带来的计算文本相似度不准确的问题,二是解决了单词的多词一义性和一词多义性的问题。LSA可以参考之前写过的一篇 :潜在语义分析(LSA)(latent semantic analysis)那LSA的缺点是什么?在P.原创 2021-10-07 17:22:12 · 1601 阅读 · 0 评论 -
奇异值分解SVD、PCA主成分分析降维、潜在语义分析LSA之间的关系
奇异值分解SVD是一种矩阵分解也是数据压缩的方法,是在 Frobenius norm (也就是平方损失)意义下的对矩阵的最优近似。具体可以参考奇异值分解(SVD)(Singular Value Decomposition)完全奇异值分解如下:一般矩阵的完全奇异值分解如下:紧奇异值分解如下:若一般矩阵,其秩为 rank() = r , r <=min(m,n),那么的紧奇异值分解就是:这里的就是将 原来的的前 r 行前 r 列,其是的前 r 列,其...原创 2021-10-05 17:18:25 · 709 阅读 · 0 评论 -
潜在语义分析(LSA)(latent semantic analysis)
本文参考李航统计学习方法第17章 潜在语义分析~文本信息处理的一个核心问题是对文本内容进行数字表示,并进行文本之间的语义相似度的计算。传统的方法以单词向量表示文本的语义内容,以单词向量空间的度量(内积或标准化内积)表示文本之间的语义相似度。潜在语义分析试图发现潜在的话题,以话题向量表示文本的语义内容,以话题向量空间的度量(内积或标准化内积)表示文本之间的语义相似度。单词向量空间给定一个文本,用一个向量表示该文本的 ‘语义’ ,向量的每一维对应一个单词,其数值为该单词在该文本中出现的频数或原创 2021-10-04 15:36:38 · 1619 阅读 · 0 评论 -
主成分分析(PCA)(principal component analysis)
本文主要讲PCA的相关数学推导。PCA的数学推导用线性代数的知识就可以完成。参考deeplearningbook.org一书2.12 Example: Principal Components Analysis我们先讲两个用到的线性代数知识点:用到的知识点1、矩阵对角线元素之和(the trace operator)矩阵对角线元素之和(the trace operator),记做 Tr ,定义如下:它有如下的性质:1一个矩阵的trace等于它的转置的trace2循环.原创 2021-10-03 17:12:13 · 3205 阅读 · 0 评论 -
奇异值分解(SVD)(Singular Value Decomposition)
奇异值分解在机器学习中经常碰到,今天详细讲讲。本文章中说的"矩阵" / "向量" 都指的是实数矩阵/实数向量,我们只说实数域内的情况。整数有质因子分解,比如12=2*2*3。分解成2*2*3后,比单单研究12这个数,我们会容易得到一些信息,比如,12这个数不能整除5;一个数 n 乘12后,会整除 2 和 3;等等。那么矩阵呢,我们是否可以对矩阵进行分解以获取一些有用的信息呢?答案是任何一个矩阵都可以进行奇异值分解。我们在说奇异值分解之前,需要先说说特征值分解。特征分解(Eigendecom.原创 2021-10-01 20:16:19 · 24116 阅读 · 1 评论 -
Word2vec 论文推荐
word2vec 相关原理以及推导,推荐下边论文:(PDF) word2vec Parameter Learning Explained下载PDF版 看 就好了!原创 2021-09-27 15:22:01 · 206 阅读 · 0 评论 -
(二)RNN 的 反向传播算法详细推导
在反向传播算法理解一文中,大体讲了反向传播算法的大体思想和优势,这篇文章拿最简单的RNN网络推导反向传播算法。计算图和计算公式我们拿最具代表性的如下RNN网络图简单推导。上图是一张计算图。为方便公式推导,我们把公式写出来。对于每一步 t ,都是如下的计算过程。每一步的损失函数,总的损失函数 L 如下:在每一步 t 中,是向量形式变量,是向量形式变量,是向量形式变量,是向量形式变量,是向量形式变量;W 是矩阵形式变量,V 是矩阵形式变量,U 是矩阵形式变量(注...原创 2021-09-27 14:01:23 · 6994 阅读 · 9 评论 -
(一)反向传播算法理解 (Back-Propagation)
本文参考deeplearningbook.org一书第六章 6.5 Back-Propagation and Other DifferentiationAlgorithms首先明确反向传播算法用来做什么:求梯度。一、前向传播 foward propagation“反向传播算法”,其中反向 两个字顾名思义,先有一个前向的过程,才有反向一说。所以要搞懂反向传播之前,需先把前向传播弄清楚。简易地画了一个流程图如下:(图中的LOSS是一个实数值)。上图中,前向传播路径是从输入到LOSS...原创 2021-09-16 15:14:32 · 4159 阅读 · 0 评论 -
xgboost 实现多分类问题demo以及原理
本文先把xgboost支持的多分类问题的demo写起来,打印出生成的树结构,然后理解xgboost实现多分类问题的原理。这个顺序比较好理解一些。xgboost 多分类问题 demo这个demo从xgboost的源代码中就可以看到。在/demo/multiclass_classification/train.py。py文件里的数据(dermatology.data)可以在https://archive.ics.uci.edu/ml/machine-learning-databases/dermat..原创 2021-05-13 14:46:08 · 3788 阅读 · 3 评论 -
多分类问题的softmax函数交叉熵损失函数推导
二分类与多分类多分类问题的交叉熵损失函数推导与二分类交叉熵损失函数推导的思想是一致的。可以先参考 二分类问题的交叉熵损失函数推导可参考二分类问题的交叉熵损失函数推导。本文参考deeplearning 一书 6.2.2.3 Softmax Units for Multinoulli Output Distributions好啦,开始步入正题啦~首先要明确一点的是,为多分类问题和二分类问题设计的模型 在 最后一层直接输出的东西那里有比较大的不同。假设模型的输出层是全连接层,我们可以画出...原创 2021-05-11 18:26:01 · 6417 阅读 · 0 评论 -
二分类问题的sigmoid交叉熵损失函数推导
本文章参考deeplearning 一书第六章6.2.2.2 Sigmoid Units for Bernoulli Output Distributions要建立一个模型,不可或缺的有:1、数据,2、损失函数,3、模型算法,4、优化算法。今天我们讨论下损失函数这块。损失函数的设计,与模型最后输出的内容是有一定关联的。对于大部分的任务(回归 or 分类),最大似然估计的应用比较常见。最大似然估计是点估计的一种。「最大化 log likelihood」 可以间接理解为 「最小化交叉熵」。(...原创 2020-09-23 18:43:06 · 9655 阅读 · 0 评论 -
xgboost + Focal Loss实现
xgboost+local fosslocal foss的主要思想就是改变损失函数。可以参考https://www.cnblogs.com/king-lps/p/9497836.htmlxgboost如果想应用focal loss可以使用自定义损失函数来实现。首先介绍一个比较好用的求导的python包 sympy。用这个包来求导,可以比较轻松求出一阶导和二阶导。from sympy import *import numpy as np# y指的是true label# p指的是预测.原创 2020-08-25 14:07:25 · 5454 阅读 · 33 评论 -
加了权重样本的AUC如何计算
加了权重的样本的AUC如何计算?roc_auc_score函数里sample_weight参数以及xgb模型赋予样本权重再评估都有用到哦~一、roc_auc_score函数中有个参数是sample_weight,可以给样本设置权重。一直不太理解加上weight怎么来计算AUC,先放个可选参数插图康康。二、直到有一天,我不得不面对这个问题。起因竟然是比较熟悉的xgboost(硬往自己脸上贴金的小白酱,在前面加了个比较也是罪过罪过)。在训练xgboost的时候,xgb.DMatrix()原创 2020-08-06 11:42:36 · 3605 阅读 · 0 评论 -
不平衡处理:xgboost 中scale_pos_weight、给样本设置权重weight、 自定义损失函数 和 简单复制正样本的区别
在对不平衡数据进行训练时,通常会考虑一下怎么处理不平衡数据能使训练出来的结果较好。能想到的比较基础的方法是过采样和下采样来缓解数据中的正负样本比。在用xgboost训练二分类模型时,除了过采样和下采样,xgboost接口还提供一些处理不平衡数据的方法,有scale_pos_weight参数的设置,还有给样本赋予一定的权重。接下来让我们仔细看一下吧~参数scale_pos_weight:官方的解释是这样的,scale_pos_weight可以设置为数据中负样本数量/正样本数量设置样本的权重,在原创 2020-06-10 14:40:43 · 35054 阅读 · 15 评论 -
感知机——统计学习方法
一、感知机适用问题以及它的输入,输出,求解方法(1)感知机(perceptron)适用于二类分类问题(该分类问题是线性可分问题)(2)感知机模型是线性分类模型(3)感知机的几何解释,感知机对应的是一个超平面(4)输入:实例的特征向量(5)输出:实例的类别,取+1和-1二值(6)求解方法(有监督学习):给定N个已知分类类别的实例;设置参数初始值,在损失函数上应用随机梯度下降算...原创 2019-06-25 14:29:45 · 325 阅读 · 0 评论