自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 【Pytorch】对比CrossEntropyLoss与NLLLoss

CrossEntropyLoss(交叉熵损失)与NLLLoss(negative log likelihood,负对数似然损失)都是适用于分类问题,基于log似然损失,即交叉熵损失函数的实现方式,其体现了两个分布的近似程度:L(p,q)=−∑ipilog⁡qiL(p,q)=-\sum_ip_i\log q_iL(p,q)=−i∑​pi​logqi​对于分类问题,其只在真实所属类别kkk上的编码为1...

2020-01-31 10:48:17 625

原创 【文本标注】文本标注工具brat的使用

brat是linux下的一款应用于webserver端的文本标注工具,可用于标注如下类型信息:(1)实体:命名实体,可用于NER;(2)关系:实体间关系,可用于关系抽取;(3)事件:实体参与的事件;(4)属性:事件或实体的属性,常用于知识图谱。本文将依次介绍brat的安装、配置和基本使用。1. brat的安装1.1 基本环境配置【系统环境】brat只能用于linux下,若为win...

2020-01-30 13:09:19 10635 6

原创 【Pytorch】详解RNN网络中文本的pack和pad操作

1. 引言RNN模型一般设定固定的文本长度(text sequence length,可理解为文本序列在时间维度上的步数 time step),以保证网络输出层数据维度的一致性。但在训练和测试时,难以保证输入文本长度的一致性,因此常常需要截断操作(即将超过预设长度的文本截断)和pad操作(即对不足预设长度的文本进行补0填充)。pad操作需满足:(1)pad后,不足预设长度的文本用相同特征维度的...

2020-01-21 13:41:09 2996 1

原创 sklearn中的SVM模型

支持向量机(SVM)是一种强大的可用于监督式学习分类问题和回归问题,以及非监督式异常检测问题等的常见算法。针对该算法,sklearn中提供了比较丰富的实现模型,其主要种类和主要差别见下表: 模型类型 主要特点 LinearSVC 基于liblinear库的SVM分类模型,仅支持线性核,可调节损失函数和惩罚项。多分类问题采用'ovr'策略。不支...

2020-01-15 17:18:10 3255 2

原创 sklearn中的PCA模型

sklearn中提供了较为丰富的PCA模型来解决数据的降维问题,其包括:(1)PCA:最原始的PCA算法;(2)TruncatedSVD:原始数据不做中心化处理的PCA算法,可用于文本数据(TF-IDF处理后)的隐藏语义分析(LSA);(3)SparsePCA:添加L1正则化处理后的PCA算法,用最小角回归算法求解,可在一定程度上解决数据噪声的问题,进一步降低分解后的数据维度;(4)Min...

2020-01-13 15:01:19 2553

原创 梯度下降法的优化算法

如前文梯度下降法中所介绍的,梯度下降法存在如下问题导致其迭代的可行性和效率大打折扣:(1)梯度不存在;(2)非凸函数的鞍点和局部最优解;(3)函数的信息利用率不高;(4)学习率需预设且取值固定。本文提到的梯度下降法的优化算法指:针对问题(2)、(3)和(4)提出的基于梯度下降法的Moment、AdaGrad和Adam等一系列算法。而这系列算法的核心改良思路包括两点:(1)通过引入历史迭...

2020-01-11 18:58:09 957

原创 sklearn中的线性回归模型

sklearn中拥有有非常庞大的线性回归模型家族,采用各种算法用以解决各类线性回归问题。不同的线性回归模型的参数设置、模型方法和调参策略并不一样,本文并不具体介绍每个模型的具体接口和使用事项,仅简单梳理下sklearn中的部分线性回归模型。线性回归模型按照正则化策略:可分为普通回归问题(无正则化项)、L1正则(Lasso问题)、L2正则(Ridge问题)和弹性网ElasticNet(L1正则+L...

2020-01-08 13:23:10 1180

原创 python中的日志管理模块logging

logging模块是python中自带的日志处理模块,可用于记录程序异常的位置、时间和具体错误信息等,从而方便开发人员检测程序运行过程和捕获、分析程序异常。按照输出类型来分,logging可选择控制台直接输出日志信息,也可选择将日志信息写入日志文件。按照日志级别来分,logging中的日志等级从低到高依次为:(1)NOTSET ,对应数字值为0。使用场景:不做设置,自动集成父级Logger的...

2020-01-08 09:58:01 1484

原创 梯度下降法的不同形式——随机梯度下降法和小批量梯度下降法

前文介绍了梯度下降法,其每次迭代均需使用全部的样本,因此计算量巨大。就此,提出了基于单个样本的随机梯度下降法(Stochastic gradient descent,SGD)和基于部分样本的小批量梯度下降法(Mini-Batch gradient descent,Mini-batch gradient descent)。一、随机梯度下降法随机梯度下降法,即在每次梯度更新过程中仅使用某个随机样...

2020-01-05 21:36:12 1389

原创 最小角回归算法(LARS)

最小角回归算法(Least Angle Regression,LAR)是一种针对于线性回归问题,快速进行特征选择和回归系数计算的迭代算法,其被广泛推广用于求解线性回归以及Lasso回归问题。最小角回归算法的核心思想为:将回归目标向量依次分解为若干组特征向量的线性组合,最终使得与所有特征均线性无关的残差向量最小。可见,最小角回归算法的关键在于选择正确的特征向量分解顺序和分解系数。为了更好的表示最...

2020-01-05 20:35:01 11507

原创 近端梯度法(proximal gradient)

近端梯度法是一种求解不可微凸函数最优化问题的经典方法。其核心思想在于将不可微凸函数的最优化问题转换为易求解的proximal映射函数,从而实现近似求解。一、proximal映射proximal映射是近端梯度法的核心方法。假设约束函数f(x)f(\boldsymbol x)f(x)的定义域为U\boldsymbol UU,定义自变量x\boldsymbol xx的proximal映射为:prox...

2020-01-05 10:47:42 3407

原创 牛顿法

牛顿法是一种高效的迭代算法,其被广泛应用于方程求根和凸函数最优化。一、牛顿法在方程求根中的应用函数f(x)f(x)f(x)的一阶泰勒展开式为:f(x)=f(x0)+f′(x0)(x−x0)f(x)=f(x_0)+f'(x_0)(x-x_0)f(x)=f(x0​)+f′(x0​)(x−x0​)函数的根即为f(x)=0f(x)=0f(x)=0处,由此得到迭代公式:x=x0−f(x0)f′(x0)x...

2020-01-04 10:27:59 1731

原创 最小二乘法

最小二乘法是历史上非常有名的用于解决回归最值的方法,其可以理解为回归问题平方损失函数的解析解。假设数据集为(X,y)(\boldsymbol X,\boldsymbol y)(X,y),线性模型系数为W\boldsymbol WW,则对应的平方损失函数为:L(X,y;W)=(y−XW)T(y−XW)L(\boldsymbol X,\boldsymbol y;\boldsymbol W) =(...

2020-01-03 21:54:26 916 1

原创 坐标下降法

一、基本思想分治、有效性二、坐标下降法的适用性2.1 可微凸函数2.2 不可微凸函数2.3 可微凸函数和不可微凸函数的联合函数三、注意事项3.1 坐标轴迭代的无序性3.2 块坐标轴下降法3.3 坐标轴的相关性影响...

2020-01-03 00:21:57 2915

原创 次梯度法

在前文梯度下降法(一)从导数到梯度下降法的基本逻辑中指出,当函数梯度不存在时候,梯度下降法失效,而次梯度法则是凸优化中解决此类状况的一种有效方法。一、基本定义为了介绍次梯度的概念,首先需要引入次导数、次微分等概念。这些概念源于导数、微分,但又有显著的区别。1. 次导数下图中的一元函数均为凸函数,但在其拐点处不可导。观察拐点A、B处的直线,按照其与原始函数的位置关系,可分为如下两大类:1)...

2020-01-01 16:06:15 2154 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除