历程
文章平均质量分 91
我对算法一无所知
人生处处是捷径,不绕远儿就是捷径。
展开
-
为什么交叉熵损失函数可以用作逻辑回归的损失函数?
什么是熵?什么是KL散度?什么是交叉熵?原创 2020-10-27 21:04:15 · 1055 阅读 · 0 评论 -
深度学习中的batch,iteration,epoch复习总结
这三个概念是在深度学习的优化中提到的,也就是BP。batch的概念就是一次训练所用到的数据,当batchsize=1,就类似于梯度下降中的SGD,称为online learning;当batchsize小于整体训练集的数量时成为mini-batch learning;当batchsize等于整体训练集的数量时,称为batch learning。online learning的优点是下降很快,缺点是很难在最优点处收敛,通常会在接近最优点处来回震荡。batch learning的缺点是下降太慢。mini-b原创 2020-10-27 20:36:35 · 578 阅读 · 0 评论 -
自然语言处理中的Attention机制
Attention机制的理解Attention机制也就是注意力机制,在自然语言处理中,就是对于一个语言序列的不同的部分给予不同的注意力,在数学上一般表现为权重,也就是对一个语言序列的各个元素加权。对Attention机制给一个通用的定义:给定一组向量集合values,以及一个向量query,attention机制是一种根据该query计算values的加权求和的机制。这个定义来源于cs224n。所谓attention就是这个value集和中的每个向量的权值的大小,attention机制就是用一种原创 2020-10-15 22:15:24 · 652 阅读 · 0 评论 -
CNN卷积神经网络总结
1 DNN和CNNDNN(Deep Neural Networks,深度神经网络)DNN是一个全连接的深度神经网络,也可以用作图像识别,在mnist上的表现也很不错,可以参考这篇文章。鉴于为了介绍CNN和DNN的区别,在这篇文章中都叫做全连接神经网络。全连接神经网络中,每相邻的两层网络之间的节点都是相互有边相连。上一层的每个神经元均要链接下一层的每个神经元,于是一般将每一层的神经元排成一排,如图所示:而对于卷积神经网络,相邻的两个网络层之间只有部分节点相连,为了方便展示神经元的维度,一般会展原创 2020-09-23 15:45:47 · 6547 阅读 · 0 评论 -
Grid Search 网格搜索 介绍
什么是Grid Search 网格搜索?网格搜素是一种常用的调参手段,是一种穷举方法。给定一系列超参,然后再所有超参组合中穷举遍历,从所有组合中选出最优的一组超参数,其实就是暴力方法在全部解中找最优解。为什么叫网格搜索,因为假设有两个超参,每个超参都有一组候选参数。这两组候选参数可以两两组合,把所有组合列出来就是一个二维的网格(多个超参两两组合可以看作是岗高维空间的网格),遍历网格中的所有节点,选出最优解。所以叫网格搜索。...原创 2020-09-16 10:03:52 · 5907 阅读 · 0 评论 -
反向传播算法(backpropagation)
算法简介百度百科:BP算法(即反向传播算法)适合于多层神经元网络的一种学习算法,它建立在梯度下降法的基础上。BP网络的输入输出关系实质上是一种映射关系:一个n输入m输出的BP神经网络所完成的功能是从n维欧氏空间向m维欧氏空间中一有限域的连续映射,这一映射具有高度非线性。它的信息处理能力来源于简单非线性函数的多次复合,因此具有很强的函数复现能力。这是BP算法得以应用的基础。...原创 2020-09-02 23:21:54 · 14259 阅读 · 0 评论 -
Bagging与Boosting的区别与联系
1 Bagging与Boosting的区别与联系Baggging 和Boosting都是模型融合的方法,可以将弱分类器融合之后形成一个强分类器,而且融合之后的效果会比最好的弱分类器更好。1.1 Bagging介绍用抽样的方式从原始样本中进行有放回的多次抽样(或者是抽特征),这种方法叫做Bootstraping,抽取k次每次抽取n个样本,这样就生成了k个样本容量为n的数据集。原始数据集中的样本可能是多次被抽到也可能是没有被抽到。 每次使用一个数据即选练得到一个模型,这样k个数据集就可以得到k个模原创 2020-08-30 21:55:09 · 26055 阅读 · 3 评论 -
决策树:ID3和C4.5
1 决策树简介决策树是一种分类算法,是通过对数据的处理,利用归纳算法,生成一些列规则,类似于if-else,然后根据这些规则对新的数据做决策。本质上就是学习规则,在利用规则做分类的过程。具体来说,就是首先根据数据的特征,决定每个树的节点使用哪一个特征做为分类依据,以及使用这个特征的哪个指作为分类界限,这就是一棵树的构造过程。决策树的优点:推理过程容易理解,决策过程可以表示成if-else 推理过程完全依赖于属性变量的取值特点 可自动忽略目标变量没有贡献 的属性变量,也为判断属性变量的重要性、原创 2020-08-30 14:54:28 · 782 阅读 · 0 评论 -
word2vec(一)——skip-gram原理理解
1 什么是word2vecword2vec顾名思义,就是将词(word)映射到(to)实向量(vector),用一一实数向量表示一个词,也被叫做词嵌入(word embedding),也可以认为词向量是词的特征向量。通过这种词嵌入的方式可以将词语映射为可以计算的数学形式,使计算机对自然的语言的计算变得更加可行,同时也赋予了它一定的数学性质,例如可以用向量的相似度来表示两个词的相似度等等。word2vec可以参考这篇文章中有提到https://blog.csdn.net/qq_31267769/artic原创 2020-08-28 23:47:57 · 6009 阅读 · 3 评论 -
Tf-idf推导及理解
1 什么是Tf-idf?TF-IDF是一种统计方法,用以评估一字词对于一个文件集或一个语料库中的其中一份文件的重要程度。百度百科:TF-IDF(term frequency–inverse document frequency)是一种用于信息检索与数据挖掘的常用加权技术。TF是词频(Term Frequency),IDF是逆文本频率指数(Inverse Document Frequency)。顾名思义,Tf-idf由tf和idf两部分组成,tf是指一个词在当前document里面出现的频率,原创 2020-08-25 23:09:33 · 694 阅读 · 0 评论 -
对语言模型(Language Model)与n-gram的理解
1 语言模型(Language Model)的定义定义:语言模型是一个单纯的、统一的、抽象的形式系统,语言客观事实经过语言模型的描述,比较适合于电子计算机进行自动处理,因而语言模型对于自然语言的信息处理具有重大的意义。 数学角度理解:语言模型就是对于一个语素序列,计算出这个语素序列的概率,即:(语素指语言中最小的音义结合体,一般来说就是独立的词)简单来说就是通过一些数学手段,计算出对于一个句子的概率大小,概率大这句话就是争取的,概率小这句话就是错误的。例如:,这里是存在语序的。语言模型主要...原创 2020-08-24 01:15:08 · 1579 阅读 · 0 评论 -
softmax与sigmoid函数的理解
1 sigmoid1.1 sigmoid的简单推理在使用逻辑回归做二分类问题时,sigmoid函数常用作逻辑回顾的假设函数,从直觉上理解很好理解,就是在线性回归的基础上套一个sigmoid函数,将线性回归的结果,映射到范围内,使他变为一个二分类问题。但是在sigmoid背后有一套严谨的数学推导,包括sigmoid函数时怎么推导出来的,为什么使用丝sigmoid函数。逻辑回归和线性回归同属一个广义线性模型,顾名思义,这些模型有相似之处,实在同一套约束下设计出来的。例如解决一个二分类问题,首先假设这原创 2020-08-24 23:39:27 · 3938 阅读 · 0 评论 -
奇异值分解SVD与在降维中的应用
1. 特征值分解1.1 特征值与特征向量特征值与特征向量定义如下:是一个实对称矩阵,是一个维向量,则是矩阵的一个特征值,而是矩阵的特征值所对应的特征向量。如果这些特征向量是线性无关的,即任意一个特征向量都不能被其他的向量的线性组合所表述出来,那么矩阵就可以特征分解,用以下式子表示:其中是这n个特征向量做组成的维矩阵,而是以特征向量对应的特征值为对角线的维三角阵。将中的特征向量单位化,使得,即,故特征值分解也可以表达为:征值分解,对矩阵有着较高的要求,它需要被分解的矩阵为实对称原创 2020-08-19 16:39:15 · 623 阅读 · 0 评论 -
SVM笔记(二)拉格朗日对偶、KTT条件、软间隔SVM
上一篇:SVM笔记(一)上一篇写到讲硬间隔的SVM转化为凸二次规划问题,也就是QP问题,之后可以是用现成的软件求解QP问题。但是如果样本数量大和维度比较高,会导致问题求解困难或不可解,因此引入了拉格朗日乘子来脱掉原问题的约束条件,然后根据原问题和对偶问题是强对偶关系,二者完全等价,因此转换为它得对偶问题后求导求最小值,最后引入KTT条件求解。拉格朗日对偶首先对问题引入拉格朗日函数,如下:原问题就等价于:原问题是一个凸二次规划问题,和它的对偶问题满足强对偶关系,即原问题等价于对偶.原创 2020-08-14 18:00:45 · 898 阅读 · 0 评论 -
SVM笔记(一)硬间隔SVM
什么是SVM?SVM是一种二分类算法,其中SVM三个重要的部分是间隔、对偶、核技巧。SVM的基本模型是定义在原始特征空间上基于最大间隔的线性分类器,Kernal的引入使得SVM变成了非线性分类器。SVM的学习策略就是最大化间隔,后面跟会提到两种间隔:functional margin和geometric margin。可将这个学习问题转换为一个解凸二次规划的问题,SVM就变成了一个解凸二次规划问题的最优化算法。kernal思想同样可以用在其他机器学习算法中。原创 2020-08-12 23:52:32 · 2492 阅读 · 0 评论 -
概率生成模型-朴素贝叶斯(Naive Bayes)
1 前置概念先验概率:在不知道事务特征的情况下,根据以往的经验,判断出这件事发生的概率,这个概率就是先验概率,即: 后验概率:与先验概率相对应,是知道了事务特征判断出来的从而得出的事件发生的概率就是后验概率,即: 联合概率:两件事同时发生的改率,比如A发生且B发生,可以写作: 贝叶斯定理:贝叶斯定理起初是为了解决逆概率的问题,通过现象倒推本质,比如,如果在一个黑箱里摸球,箱中有3个红球7个黑球,可以轻易得出摸出红球的概率是0.3,现在假设不知道盒中有多少个黑球多少个红球,通过不断的摸球,不断的计算原创 2020-08-06 23:25:01 · 3721 阅读 · 1 评论 -
协同过滤算法
1.1 协同过滤协同过滤就是协同别人的feedback,对信息进行过滤,从而选出某个用户可能感兴趣的信息。比如,某宝、某东的推荐页面,就是通过协同跟你自己相似用户的购买信息、评价和反馈,然后从所用商品中过滤出你可能感兴趣的东西推荐给你,简化的大致描述就是这样,可能会有出入,具体的详细算法流程后面会说。推荐过程一共分为几个步骤:获取所有物品的用户反馈,包括点赞、评价等等。 以上数据存储为矩阵形式,用户为行坐标,物品为列坐标,例如只统计点赞的数据,将点赞设为1,点踩设为-1,没有点赞或者点踩的设为原创 2020-08-05 00:21:21 · 1489 阅读 · 0 评论 -
正则化、岭回归与LASSO回归(套索回归)
首先补充一些铺垫知识无偏估计百度百科:无偏估计是用样本统计量来估计总体参数时的一种无偏推断。估计量的数学期望等于被估计参数的真实值,则称此估计量为被估计参数的无偏估计,即具有无偏性,是一种用于评价估计量优良性的准则。简单来说,就是对总体样本进行多次采样,求出每次采样的样本均值,根据中心极限定理,这些多次取样的样本均值应该是服从正态分布的,求出这个分布的期望,这个期望等于总体样本的期望,那么这个估计就具有无偏性,就是一种无偏估计,这恰恰是构建回归算法(可以看这篇)的假设函数的基本思想。首先确定原创 2020-06-07 23:59:51 · 2291 阅读 · 0 评论 -
过拟合的原因以及如何解决
如何判断过拟合?简单来说就是当模型在训练集上的表现效果非常好,并且远好于在测试集上的表现效果,那基本就是过拟合了。如果在训练集上表现都不好,很可能是欠拟合,,,过拟合的原因?1. 数据特征过多,而数据量不足。对于回归类的算法而言,特征越多意味着参数数量越多,模型也就越复杂,而相比之下如果数据量不足会导致过拟合,也就是模型复杂度与数据量不匹配。2. 训练集和测试集的数据特征、分布不够相似,这一点根本原因也是训练集过小,在总体样本中,训练集和测试集只占很小一部分,这就导致很难保证训练集和测试集与原创 2020-06-07 10:42:30 · 4850 阅读 · 0 评论 -
广义线性模型总结(GLM)
CS229中对于指数族分布和广义线性模型的总结,在这篇广义线性模型的总结中主要会解决上一篇中的几个问题,这样会有一个整体的理解。原创 2020-06-03 23:28:16 · 2604 阅读 · 0 评论 -
cs229线性回归和逻辑回归总结
假设函数(Hypotheses function)首先应该设计一个假设函数,这个假设函数是用来表示一个线性回归的问题,不是一个单独的函数,而是一个函数集合,包含很多个有可能可以很好的表示这个线性回归问题的函数,也就是通常所说的model。一般来讲线性回归的假设函数我们表示成这个样子:其中是第i个特征,是第i个特征的权重,是bias偏移量。为了将这个式子更加简化,可以将用代替,其中,因此我们可以写成向量相乘的形式:,其中和都是向量,,以上是线性回归的假设函数。...原创 2020-06-02 23:52:17 · 644 阅读 · 0 评论