梯度下降

文本分类实战(一)—— word2vec预训练词向量

非 Y 不嫁゛ 提交于 2020-08-04 17:41:32
1 大纲概述   文本分类这个系列将会有十篇左右,包括基于word2vec预训练的文本分类,与及基于最新的预训练模型(ELMo,BERT等)的文本分类。总共有以下系列:    word2vec预训练词向量    textCNN 模型    charCNN 模型    Bi-LSTM 模型    Bi-LSTM + Attention 模型    RCNN 模型    Adversarial LSTM 模型    Transformer 模型    ELMo 预训练模型    BERT 预训练模型    所有代码均在 textClassifier 仓库中。 2 数据集   数据集为IMDB 电影影评,总共有三个数据文件,在/data/rawData目录下,包括unlabeledTrainData.tsv,labeledTrainData.tsv,testData.tsv。在进行文本分类时需要有标签的数据(labeledTrainData),但是在训练word2vec词向量模型(无监督学习)时可以将无标签的数据一起用上。 3 数据预处理   IMDB 电影影评属于英文文本,本序列主要是文本分类的模型介绍,因此数据预处理比较简单,只去除了各种标点符号,HTML标签,小写化等。代码如下: import pandas as pd from bs4 import BeautifulSoup

机器学习——回归问题(2020最新版)

泄露秘密 提交于 2020-08-04 09:55:32
一、回归的由来 二、房价预测问题 三、一元线性回归定义 四、代价函数(cost func)/损失函数(loss func) (1) 为什么要使用平方?因为如果使用绝对值来计算误差,不方便计算;平方更准确的计算和衡量。 (2) 代价函数最小,该回归线的拟合效果越好。 (3) 为什么要乘一个1/2? 为了求解的时候更加方便更加好看,其实可以不用乘;比如对该函数求导时,可以和平方的2抵消。 (4) 每一个@1对于一个代价函数值,这里可以看出当@1取1时,代价函数最小。即确定出@1、@0的值了。 (5) 最里面的等高线,代价函数的值最小。 五、相关系数 (1) 左图点的分布更加接近直线,相关系数更高。 (2) 当相关系数大于零,正相关;当相关系数小于零,负相关。 六、决定系数 (1) 决定系数越接近1,说明他们之间的关系越接近于线性关系;越接近于0,说明他们之间的关系越不接近于线性关系。 七、梯度下降法 7.1 梯度下降法优化过程 如果是二维的话,同时更新@1和@0,来进行梯度下降。 如果是一维的,也是不断通过梯度下降来改变@1的值从而再来进行梯度下降 (1) 关于学习率,需要一定的经验来选择,不是固定的,且在0~1之间。 (2) 同样有可能陷入局部最小值(at local optima)。 使用梯度下降法来求解线性回归: 以@0为例,对@0求导: 同样对@1进行求导,多了一个x:

2019-ICCV-Progressive Differentiable Architecture Search Bridging the Depth Gap Between Search an...

旧城冷巷雨未停 提交于 2020-07-28 11:24:31
P-DARTS 2019-ICCV-Progressive Differentiable Architecture Search Bridging the Depth Gap Between Search and Evaluation Tongji University && Huawei GitHub: 200+ stars Citation:49 Motivation Question: DARTS has to search the architecture in a shallow network while evaluate in a deeper one . DARTS在浅层网络上搜索,在深层网络上评估(cifar search in 8-depth, eval in 20-depth)。 This brings an issue named the depth gap (see Figure 1(a)), which means that the search stage finds some operations that work well in a shallow architecture , but the evaluation stage actually prefers other operations that fit a deep

优化背后的数学基础

佐手、 提交于 2020-07-27 12:17:38
深度学习中的优化是一项极度复杂的任务,本文是一份基础指南,旨在从数学的角度深入解读优化器。 选自medium,作者:Tivadar Danka,机器之心编译,参与:李诗萌、张倩。 一般而言,神经网络的整体性能取决于几个因素。通常最受关注的是网络架构,但这只是众多重要元素之一。还有一个常常被忽略的元素,就是用来拟合模型的优化器。 为了说明优化的复杂性,此处以 ResNet 为例。ResNet18 有 11,689,512 个参数。寻找最佳参数配置,也就是在 11,689,512 维的空间中定位一个点。如果暴力搜索的话,可以把这个空间分割成网格。假设将每个维度分成十格,那么就要检查 10^11689512(10 的 11689512 次方)组可能的配置,对每一组配置都要计算损失函数,并找出损失最小的配置。 10 的 11689512 次方是一个什么概念?已知宇宙中的原子才只有 10^83 个,宇宙的年龄只有 4.32 x 10^17 秒(约 137 亿年)。如果从大爆炸开始,每秒检查 10^83 个原子,我们现在才检查了 4.32*10^1411 个,远远小于上述网格可能的配置数。 所以优化器非常重要。它们就是用来处理这种难以理解的复杂性的。有了它,你就可以将训练网络的时间压缩在几天内,而不是数十亿年间。下文将从数学角度深入研究优化器,并了解它们是如何完成这一看似不可能的任务的。

七月算法机器学习5 回归分析与工程应用

╄→尐↘猪︶ㄣ 提交于 2020-07-27 05:37:51
目录 主要内容 线性回归 思考一个简单的例子 多个变量的情形 损失函数( loss function) 梯度下降 学习率 回归与欠/过拟合 LR应用经验 主要内容 线性回归 1.定义与问题引入 2.损失函数 3.梯度下降 4.过拟合与正则化 n  逻辑回归 1.定义与问题引入 2.损失函数 3.梯度下降与正则化及示例 n  工程应用经验 1.优缺点和应用场景 2.样本处理 3.特征处理 4.算法调优 线性回归 思考一个简单的例子 近似的是一条直线的关系 多个变量的情形 损失函数( loss function) 梯度下降 线性回归的loss函数是凸函数 学习率 步长,与算法的效率有关 只要方向对的,会走到山底 回归与欠/过拟合 左边是欠拟合,右边是过拟合 为什么theta会很大? y = x 是直线 平方和立方项前的系数大则会突变 LR应用经验 特征是知道的,对应的系数知道,通过特征前的系统就知道哪个特征重要 基线版本很多都采用逻辑回归因为上面的优点 关于样本处理 如果随机取会有偏差 上采样图像处理中常用,做旋转,镜像,重复等 关于特征处理 来源: oschina 链接: https://my.oschina.net/u/4390738/blog/4319980

【机器学习】正则化的线性回归 —— 岭回归与Lasso回归

安稳与你 提交于 2020-07-26 19:59:57
注 :正则化是用来防止过拟合的方法。在最开始学习机器学习的课程时,只是觉得这个方法就像某种魔法一样非常神奇的改变了模型的参数。但是一直也无法对其基本原理有一个透彻、直观的理解。直到最近再次接触到这个概念,经过一番苦思冥想后终于有了我自己的理解。 0. 正则化(Regularization ) 前面使用多项式回归,如果多项式最高次项比较大,模型就容易出现过拟合。正则化是一种常见的防止过拟合的方法,一般原理是在代价函数后面加上一个对参数的约束项,这个约束项被叫做 正则化项 (regularizer)。在线性回归模型中,通常有两种不同的正则化项: 加上所有参数(不包括$\theta_0$)的绝对值之和,即$l1$范数,此时叫做Lasso回归; 加上所有参数(不包括$\theta_0$)的平方和,即$l2$范数的平方,此时叫做岭回归. 看过不少关于正则化原理的解释,但是都没有获得一个比较直观的理解。下面用代价函数的图像以及正则化项的图像来帮助解释正则化之所以起作用的原因。 0.1 代价函数的图像 为了可视化,选择直线方程进行优化。假设一个直线方程以及代价函数如下: $\hat{h}_{\theta} = \theta_0 + \theta_1 x$,该方程只有一个特征$x$,两个参数$\theta_0$和$\theta_1$ $J(\theta) = \frac{1}{m} \sum_{i

逻辑斯蒂(logistic)回归深入理解、阐述与实现

邮差的信 提交于 2020-07-26 19:33:58
第一节中说了,logistic 回归和线性回归的区别是:线性回归是根据样本X各个维度的Xi的线性叠加(线性叠加的权重系数wi就是模型的参数)来得到预测值的Y,然后最小化所有的样本预测值Y与真实值y'的误差来求得模型参数。我们看到这里的模型的值Y是样本X各个维度的Xi的线性叠加,是线性的。 Y=WX (假设W>0),Y的大小是随着X各个维度的叠加和的大小线性增加的,如图(x为了方便取1维): 然后再来看看我们这里的logistic 回归模型,模型公式是: ,这里假设W>0,Y与X各维度叠加和(这里都是线性叠加W)的图形关系,如图(x为了方便取1维): 我们看到Y的值大小不是随X叠加和的大小线性的变化了,而是一种平滑的变化,这种变化在x的叠加和为0附近的时候变化的很快,而在很大很大或很小很小的时候,X叠加和再大或再小,Y值的变化几乎就已经很小了。当X各维度叠加和取无穷大的时候,Y趋近于1,当X各维度叠加和取无穷小的时候,Y趋近于0. 这种变量与因变量的变化形式就叫做logistic变化。(注意不是说X各个维度和为无穷大的时候,Y值就趋近1,这是在基于W>0的基础上,(如果W<0,n那么Y趋近于0)而W是根据样本训练出来,可能是大于0,也可能是小0,还可能W1>0,W2<0…所以这个w值是样本自动训练出来的,也因此不是说你只要x1,x2,x3…各个维度都很大,那么Y值就趋近于1

偏差在神经网络中的作用

偶尔善良 提交于 2020-07-24 23:51:11
问题: I'm aware of the Gradient Descent and the Back-propagation Theorem. 我知道梯度下降和反向传播定理。 What I don't get is: When is using a bias important and how do you use it? 我没有得到的是:什么时候使用偏见很重要,你如何使用它? For example, when mapping the AND function, when I use 2 inputs and 1 output, it does not give the correct weights, however, when I use 3 inputs (1 of which is a bias), it gives the correct weights. 例如,当映射 AND 功能时,当我使用2个输入和1个输出时,它不会给出正确的权重,但是,当我使用3个输入(其中1个是偏置)时,它会给出正确的权重。 解决方案: 参考一: https://stackoom.com/question/APKU/偏差在神经网络中的作用 参考二: https://oldbug.net/q/APKU/Role-of-Bias-in-Neural-Networks 来源: oschina 链接:

使用Facebook的Pytorch的BigGraph从知识图谱中提取知识

拟墨画扇 提交于 2020-07-24 00:44:57
机器学习使我们能够训练一个可以将数据转换为标签的模型,从而把 相似的 数据映射到 相似 或相同的标签。 例如,我们正在为电子邮件构建一个垃圾邮件过滤器。我们有很多电子邮件,其中一些标记为垃圾邮件,另一些标记为正常邮件(INBOX)。我们可以构建一个模型,该模型学习识别垃圾邮件。被标记为垃圾邮件的邮件在某种程度上类似于已经标记为垃圾邮件的邮件。 相似性 的概念对于机器学习至关重要。在现实世界中,相似性的概念与某个主题相关,它取决于我们的 知识 。 另一方面,数学模型定义了相似性的概念。通常,我们将数据表示为多维向量,并测量向量之间的距离。 https://www.quora.com/Why-do-we-use-cosine-similarity-on-Word2Vec-instead-of-Euclidean-distance 特征工程是将我们对现实世界中的某个对象的知识转换为数字表示的过程。我们认为相似的对象转化为数字后的向量也会很靠近。 例如,我们正在估算房价。我们的经验告诉我们,房屋是由卧室的数量,浴室的数量,房龄,房屋面积,位置等来定义的。位于同一社区,具有相同大小和房龄的房屋的价格应该大致相同。我们将对房屋市场的了解转化为表征房屋的数字,并用它来估算房屋的价格。 不幸的是,如上所述,手动特征工程在将我们的知识转换为描述性特征的能力方面存在局限性。 有时

使用Facebook的Pytorch的BigGraph从知识图谱中提取知识

独自空忆成欢 提交于 2020-07-23 22:21:18
机器学习使我们能够训练一个可以将数据转换为标签的模型,从而把 相似的 数据映射到 相似 或相同的标签。 例如,我们正在为电子邮件构建一个垃圾邮件过滤器。我们有很多电子邮件,其中一些标记为垃圾邮件,另一些标记为正常邮件(INBOX)。我们可以构建一个模型,该模型学习识别垃圾邮件。被标记为垃圾邮件的邮件在某种程度上类似于已经标记为垃圾邮件的邮件。 相似性 的概念对于机器学习至关重要。在现实世界中,相似性的概念与某个主题相关,它取决于我们的 知识 。 另一方面,数学模型定义了相似性的概念。通常,我们将数据表示为多维向量,并测量向量之间的距离。 https://www.quora.com/Why-do-we-use-cosine-similarity-on-Word2Vec-instead-of-Euclidean-distance 特征工程是将我们对现实世界中的某个对象的知识转换为数字表示的过程。我们认为相似的对象转化为数字后的向量也会很靠近。 例如,我们正在估算房价。我们的经验告诉我们,房屋是由卧室的数量,浴室的数量,房龄,房屋面积,位置等来定义的。位于同一社区,具有相同大小和房龄的房屋的价格应该大致相同。我们将对房屋市场的了解转化为表征房屋的数字,并用它来估算房屋的价格。 不幸的是,如上所述,手动特征工程在将我们的知识转换为描述性特征的能力方面存在局限性。 有时