机器学习
文章平均质量分 80
码源
这个作者很懒,什么都没留下…
展开
-
预训练模型--GPT
why预训练+finetune目前在nlp领域,比较流行的一种方式就是“pretrain+finetune”为什么是这种模式呢?在nlp领域大量数据是无标签的,只有小量数据是有标签的,而大量数据可以帮助模型获得更好的效果(泛化能力),所以在pretrain阶段采用大量无标签的数据无监督学习(在此阶段模型没有明确的下游任务目标,学习的是普适的文本特征),而再在finetune阶段再根据不同具体任务使用小量有标签的数据有监督微调;在nlp领域任务种类并不只有一种,也就是说上面提到的finetune阶段原创 2021-12-26 20:32:26 · 4039 阅读 · 0 评论 -
ELMO论文笔记Deep contextualized word representations
1. 为什么引入elmo是在传统词向量中加入了对上下文信息的关注,使得同一个词在不同上下文中有不同含义,得到不同的表达。2. 整体架构elmo主要使用了一个字符卷积层(get raw word vectors) 加上 两层双向的LSTM语言模型,来充分获得一个词的所有上下文信息,这正是与word2vec等传统词嵌入不同之处。(各个层之间添加了residual connection传递;elmo中可以添加适量的dropout和l2正则)3. 为什么是两层LSTM第一层LSTM更容易获得一些浅层原创 2021-12-19 20:49:16 · 1393 阅读 · 1 评论 -
Attention Is All You Need 论文解读
self attention 是很多bert框架,或者说是transformer框架的共同点,它的提出颠覆了之前在进行“语言理解”任务中深度神经网络一定要使用CNN进行循环串行计算的弊端,取而代之的是全局并行注意力的计算。首先,简单直观的实现一个self-attention(这部分参考参考https://towardsdatascience.com/illustrated-self-attention-2d627e33b20a一文)以下为python实现:最下层绿色的input为:input = [原创 2021-12-05 18:00:43 · 2612 阅读 · 0 评论 -
Google’s Neural Machine Translation System 论文笔记
首先这里推荐一篇非常深入浅出的文章,对读懂了解谷歌神经机器翻译有很好的帮助,且对该论文的来龙去脉有一个了解,比如最直接的借鉴–Bengio团队双向编码器的seq2seq+注意力模型,这会在了解GNMT为什么encode层第一层要设计成双向LSTM有一个很好的了解,以及为什么要设置8层LSTM有个通俗的了解–“8个递进厉害的翻译员”,文章见:https://www.linkresearcher.com/theses/e9d88b0d-ed71-4f66-ba1d-fbf8375393d3接着来详细讨论下GN原创 2021-11-14 22:23:15 · 1093 阅读 · 0 评论 -
Convolutional Neural Networks for Sentence Classification笔记
首先,什么是卷积神经网络CNN,参考https://www.zhihu.com/question/22298352?rf=21686447个人理解:过去时刻的输入也会对现在产生影响,卷积使用kernel在输入上(对现在时刻和非现在时刻)提取特征,每次移动提取的特征组成feature map。文章整体架构:首先最左边是输入层,包含一句话的n个词,每个词表示为embedding为k维的词向量。注意这里有static和non-static两个通道,分别表示:non-static 通道: 词向量使用原创 2021-10-31 22:05:22 · 468 阅读 · 0 评论 -
Word2Vec两篇经典论文笔记
Efficient Estimation of Word Representations in Vector SpaceDistributed Representations of Words and Phrases and their Compositionality首先第一篇文章Efficient Estimation of Word Representations in Vector Space针对之前提出的NNLM和RNNLM计算复杂的问题,在此基础上减少了隐藏层(将语言模型的建立看成一个.原创 2021-10-24 21:43:47 · 3745 阅读 · 0 评论 -
a neural probabilistic language model 论文笔记
原文见:https://www.jmlr.org/papers/volume3/bengio03a/bengio03a.pdf统计语言模型首先统计语言模型的学习目标本质上都是一种语言的单词序列的联合概率函数:p(w1,w2,w3…,wt) = p(w1) p(w2|w1) p(w3|w1w2)…p(wn|w1w2…wt-1)上式可以理解为,给定前面的t-1个词,后面第t个词出现的概率,假设语料库有100000个词,该计算的时间复杂度为100000的t次方,随着t的增加计算量将呈现指数级别的增加,为了原创 2021-10-17 19:44:06 · 144 阅读 · 0 评论 -
机器学习法则:ML工程的最佳实践
原文参考:https://developers.google.com/machine-learning/rules-of-ml/第一次阅读,大多是翻译,少部分是自己的思考,随着学习的进行,会逐渐更新一些理解1 常见术语实例(Instance):将要对其进行预测的事情。例如,实例可能是一个网页,我们要将其归为“关于猫的”网页或者“不是关于猫的”网页。标签(Label):预测任务的答案或结果。无论是机器学习系统的答案或结果,还是训练数据的答案或结果,都可以称为标签。例如,将网页标记为“关于猫的”。特翻译 2021-10-14 22:50:19 · 159 阅读 · 0 评论 -
SVM重复样本点会改变判断结果嘛
这是一道在面试中被问到的题目,比较晕,今天做了实验只是get了结果先记录一下,具体原因探索清楚再补充【问题】当样本点整体copy一份会改变SVM的预测吗仅正/负样本点整体copy一份会改变SVM的预测吗【实验】```pythonfrom sklearn import svm # 测试数据X = [[-2, 0], [0, 0], [0, 1], [1, 0]] # tra...原创 2020-03-15 11:31:57 · 564 阅读 · 0 评论 -
机器学习面试常见问题--线性回归、逻辑回归、交叉熵、多分类
1,线性回归与逻辑回归区别?在拟合数据上,线性回归是用一条线直接拟合训练数据,而逻辑回归先利用sigmoid函数将数据映射为相应分类的概率拟合概率;在学习策略上,线性回归利用最小二乘法使损失函数(均方误差)最小化,而逻辑回归利用梯度下降法使损失函数(最大似然函数/交叉熵)最小化,即求所有训练样本的条件概率之积的最大值。2,为什么用对数似然函数?使用最大似然函数时,很多样本的概率需要连乘...原创 2019-05-23 07:46:24 · 962 阅读 · 0 评论 -
熵、交叉熵与损失函数
在机器学习中一些分类问题通常以交叉熵作为损失函数,有必要系统的了解一下熵与交叉熵。1. 熵熵是一个很抽象的概念,在百度百科中的解释是–熵本质是一个系统“内在的混乱程度”。更具体地,可以理解为一件事发生概率P的确定性。比如当P=0一定不发生或者P=1一定发生时,熵最小为0;当P=0.5最不确定发生或者不发生时熵最大为1。即一件事情越难猜测发生或者不发生时熵就越大,越好猜测的熵就越小。熵的公式...原创 2019-04-12 11:07:39 · 679 阅读 · 0 评论 -
逻辑回归与线性回归对比总结
逻辑回归和线性回归都是通过把一系列数据点预测计算出一条合适的“线”,将新的数据点映射到这条预测的“线”上,继而做出预测。线性回归线性回归预测的是直线,参数计算使用最小二乘法。对于定义域x(-∞,+∞)上的值域y也是(-∞,+∞),这样的一个很明显的不合理处是,当我们加入惩罚项时,那些离群点容易受到极大的影响。假如使用线性回归对{0,1}二分类问题做预测,则一个真值为1的样本,其预测值为10...原创 2019-03-13 12:10:43 · 1875 阅读 · 0 评论 -
LARS再探之交叉验证- 零基础python机器学习笔记-第四天
上一篇初探中我们只是简单的看了下LARS的一个运算过程没有区分训练集和测试集,这里我们再加上交叉验证。1. 简介交叉验证之前我一直都是用sklearn.model_selection中的train_test_split函数自动随机划分训练集和测试集。之所以出现交叉验证,主要是因为训练集较小,在实际情况下,人们不是很喜欢用交叉验证,因为它会耗费较多的计算资源。但是如果超参数数量越多,我们就需要...原创 2019-03-06 17:04:13 · 556 阅读 · 0 评论 -
零基础python机器学习笔记--L2过拟合和惩罚稀疏岭回归--代码实战第三天
上一节我们利用线性回归模型,预测了岩石和矿石的分类问题,但是我们发现训练集的预测效果比预测集的好,这就可能是过拟合导致的。下面便介绍今天的学习内容:通过设置合适的惩罚系数 α 来控制回归系数 β 不至于过大, 其中有一种称为“岭回归”具体实现方案,其对应的数学表示:于是解决过拟合的问题变成对选择适合 α 进行训练,使测试集预测的误差最小。注意:当 α=0时,就是普通的最小二乘法问题。这...原创 2019-03-03 22:43:37 · 512 阅读 · 0 评论 -
利用python实现支持向量机算法
上一节介绍了支持向量机的推导原理和名字由来,本文小记一下用python实现支持向量机的代码(依然是学习笔记):1,实现线性分类import numpy as npimport matplotlib.pyplot as pltfrom sklearn.datasets.samples_generator import make_blobsfrom sklearn.svm import SV...原创 2018-10-07 21:36:55 · 5556 阅读 · 0 评论 -
tensorflow学习笔记1:tf.Variable、tf.get_variable与tf.get_variable、tf.variable_scope对比总结
**0. 浅谈tensorflow变量机制**tensorflow提供了通过变量名称来创建或者获取一个变量的机制。通过这个机制,在不同的函数中可以直接通过变量的名字来使用变量,而不需要将变量通过参数的形式到处传递,实现了变量共享。**1. 对比tf.Variable与tf.get_variable**tf.Variable(initial_value=None, trainable=...原创 2018-10-24 19:40:23 · 493 阅读 · 0 评论 -
tensorflow学习笔记2:tf.nn.embedding_lookup
tf.nn.embedding_lookup(tensor, id):函数作用:选取一个张量里面索引对应的元素;函数参数:tensor:输入的张量;id:选取张量对应的索引。a=[[1,2,3],[4,5,6],[7,8,9]]a = np.asarray(a)id = [[0, 2, 1], [1, 1, 2]]out = tf.nn.embedding_lookup(a, i...原创 2018-10-24 19:56:38 · 367 阅读 · 0 评论 -
零基础python机器学习笔记--代码实战第二天数据分析
首先读取数据#读取红酒数据target_url = "https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-red.csv"df = pd.read_csv(target_url, sep = ";")#打印数据形状和数据类型的个数print (df.shape)pri...原创 2019-02-27 22:55:59 · 214 阅读 · 0 评论 -
每日一题--检验树是否平衡(Google推荐面试书--Cracking the Coding Interview)
题目原文:Implement a function to check if a tree is balanced. For the purposes of this question, a balanced tree is defined to be a tree such that no two leaf nodes differ in distance from the root by ...原创 2019-02-28 17:50:10 · 154 阅读 · 0 评论 -
机器学习ML/DL/NLP/CV面试学习书单
书籍:西瓜书、统计学习(最重要)、深度学习、机器学习实战、剑指 offer、百面机器学习(hulu)一份中外结合的 Machine Learning 自学计划:https://blog.csdn.net/sqc3375177/article/details/7964117120万、50万、100万的算法工程师,区别在哪?https://baijiahao.baidu.com/s?id=1...原创 2019-03-05 10:09:55 · 1183 阅读 · 0 评论 -
零基础python机器学习笔记--线性回归--代码实战第三天
今天我们来讨论线性回归问题,数据来源是该系列第一天的岩石与矿石的数据,主要用到回归模型是:from sklearn import linear_modelmodel = linear_model.LinearRegression()首先在第一天的学习中我们已经通过以下代码拿到了数据df(DataFrame):target_url = "https://archive.ics.uci.e...原创 2019-03-02 21:12:03 · 251 阅读 · 0 评论 -
零基础python机器学习笔记--代码实战第一天数据分析
学习参考用书:Machine Learning in Python:Essential Techniques for Predictive AnalysisRock or Mine 岩石还是矿石问题1.获取数据并简单分析代码import pandas as pdtarget_url = "https://archive.ics.uci.edu/ml/machine-learning...原创 2019-02-26 23:14:14 · 253 阅读 · 0 评论 -
L1/Lasso回归之最小角算法LARS初探- 零基础python机器学习笔记-第四天
上次我们介绍了L2岭回归的代码实现,本次我们将介绍L1 Lasso回归中的LARS算法。………………………………………………………………………………………………1. 首先看一下L1和L2范数的区别:这一部份的学习我参考了这篇博文,感觉写得非常高屋建瓴,摘出其中我认为在这里非常值得强调的部分如下:其实监督学习中几乎所有带参模型都可以写成最小化下面的目标函数:其中第一项L是训练误差要尽量小...原创 2019-03-06 11:50:13 · 2006 阅读 · 0 评论 -
支持向量机SVM的公式推导以及通俗解释名字由来
注:本帖来源观看《python数据分析与机器学习实战》后的学习笔记0,补充知识:已知直线/平面W(T)x+b=0,那么点x到直线/平面的距离为这里我们注意到有绝对值的存在,在计算机中这是不容易表示的,于是我们可以引入yi:这时距离可以表示为:便去掉了绝对值。1,优化目标-决策边界:找到一条线(w,b),使得离该线最近的点达到最远,或许可以通俗的理解为使最不容易区分的点区分的更明...原创 2018-10-06 20:55:01 · 1600 阅读 · 0 评论