机器学习算法
小小码农JACK
这个作者很懒,什么都没留下…
展开
-
spark数据倾斜及解决数据倾斜的8种方法
添加链接描述原创 2021-10-21 18:14:41 · 423 阅读 · 0 评论 -
spark中使用udf函数
https://zhuanlan.zhihu.com/p/64410979原创 2021-06-10 17:41:08 · 370 阅读 · 0 评论 -
极大似然估计与最大后验概率估计
https://zhuanlan.zhihu.com/p/40024110原创 2021-05-11 17:31:32 · 79 阅读 · 0 评论 -
tensorflow训练的异步、并发和并行
[https://www.cnblogs.com/zyly/p/8982335.html]原创 2021-02-25 16:27:50 · 403 阅读 · 0 评论 -
grpc详细入门(golang)
所谓RPC(remote procedure call 远程过程调用)框架实际是提供了一套机制,使得应用程序之间可以进行通信,而且也遵从server/client模型。使用的时候客户端调用server端提供的接口就像是调用本地的函数一样。gRPC的优势,如下:1.gRPC可以通过protobuf来定义接口,从而可以有更加严格的接口约束条件。2.通过protobuf可以将数据序列化为二进制编码,这会大幅减少需要传输的数据量,从而大幅提高性能。3.gRPC可以方便地支持流式通信。流程:1.创建接口文原创 2020-10-29 15:57:08 · 1576 阅读 · 0 评论 -
tensorflow模型不收敛的原因
模型不收敛的原因1.数据量少的话,一般不会带来不收敛不收敛一般是由于样本的信息量太大导致网络不足以fit住整个样本空间,样本少只可能带来过拟合的问题。降低过拟合的方法:比如dropout,SGD,增大minibatch的数量,减少fc层的节点数量,momentum,finetune等。2.尽量收集更多的数据3.尽可能用小模型数据量太少应考虑缩小模型复杂度。考虑减少层数或者减少kerne...原创 2020-01-03 10:55:21 · 1855 阅读 · 1 评论 -
tf.data.TFRecordDataset的使用
pass原创 2019-11-11 11:21:18 · 580 阅读 · 0 评论 -
机器学习----拉马努金式思维训练法
https://zhuanlan.zhihu.com/p/51934140原创 2019-11-07 11:55:44 · 443 阅读 · 0 评论 -
tensorboard可视化--绘制loss变化图及网络图
import tensorflow as tf##定义一个简单的计算图,实现两个常量相加的操作with tf.name_scope('graph') as scope: a = tf.constant(1, name='a') b = tf.constant(2, name='b') add = tf.add(a, b, name='add')sess = tf.S...原创 2019-11-05 20:16:28 · 2846 阅读 · 1 评论 -
graph attention network原理及代码解析
代码实现:通过一维卷积增加非线性,赋予不同权重,然后通过矩阵加矩阵的转置,来对attention的权重进行学习,通过-1e9(1-邻接矩阵),以及softmax来过滤掉不与当前顶点相连的节点。通过叠加GAT网络,来对高阶节点信息进行加权。。。import numpy as npimport tensorflow as tffrom utils import layersfrom ...原创 2019-07-02 18:09:00 · 4605 阅读 · 0 评论 -
Kmeans算法与KNN算法的区别
kmeans算法的缺陷:1.聚类中心的数量k需要事先给定,但在实际中这个k值的选定是非常难以进行估计的,很多时候,事先并不知道给定的数据集应该分成多少个类别才更合适。2.kmeans需要初始化聚类中心,不同的初始聚类中心可能导致完全不同的聚类效果。针对第2个缺陷,可以使用kmeans++算法来解决。knnknn本质上是基于一种数据统计的方法!其实很多机器学习算法也是基于数据统计的。k...原创 2019-09-05 15:03:10 · 556 阅读 · 0 评论 -
graph embedding相关论文阅读与实践
论文及效果记录graph embedding 综述https://cloud.tencent.com/developer/article/1427335Graph Embedding Techniques, Applications, and Performance: A Survey将现有方法分为三大类:因式分解、随机游走、深度学习Graph Factorization: Dist...原创 2019-06-03 13:12:49 · 508 阅读 · 0 评论 -
L1、L2正则的具体实现
地址:https://blog.csdn.net/red_stone1/article/details/80755144转载 2019-07-29 11:28:14 · 318 阅读 · 0 评论 -
正向与反向传播推导
https://blog.csdn.net/u013894072/article/details/83586044转载 2019-07-25 18:05:27 · 252 阅读 · 0 评论 -
转载---cnn反向传播的推导
原文地址:https://blog.csdn.net/legend_hua/article/details/81590979 上一篇文章介绍了DNN的反向传播,对DNN不清楚的可以去看看,CNN在DNN的基础上进行解释。一、回顾DNN的反向传播上一篇DNN反向传播过程得出结论:1、计算每一层的W、b的梯...转载 2019-08-27 10:33:27 · 161 阅读 · 0 评论 -
面试题目汇总
1.千亿级数据量下,找两句话相似度,如何降低复杂度?通过SimHash算法来实现海量文本的相似度计算与快速去重,通过海明距离,计算相似度,然后再通过抽屉原理提升效率。SimHash 是 Google 在2007年发表的论文《Detecting Near-Duplicates for Web Crawling 》中提到的一种指纹生成算法或者叫指纹提取算法,被 Google 广泛应用在亿级的网页去...原创 2019-08-27 16:27:16 · 131 阅读 · 0 评论 -
bagging和boosting
面对一个机器学习问题,通常有两种策略,一种是尝试各种模型选择其中表现最好的模型做重点调参优化。另外一种策略是集各家之长,核心是将多个分类器的结果统一成一个最终的决策,使用这类策略的机器学习方法称为集成学习,其中的每个单独的分类器成为基分类器。Boostingboosting方法训练基分类器时采用串行的方式,各个基分类器之间有依赖。它的基本思路是将基分类器层层叠加,每一层在训练的时候,对前一层...原创 2019-09-10 13:40:12 · 558 阅读 · 0 评论 -
pytorch使用多GPU训练
import torchimport torch.nn as nnfrom torch.utils.data import Dataset, DataLoaderclass RandomDataset(Dataset):def __init__(self, size, length): self.len = length self.data = torch.randn(le...原创 2019-02-25 10:22:48 · 706 阅读 · 0 评论 -
word2vec和svd以及自编码器的区别
1、Word2Vec的这种方案,可以看作是通过前后词来预测当前词,而自编码器或者SVD则是通过前后词来预测前后词;2、Word2Vec最后接的是softmax来预测概率,也就是说实现了一个非线性变换,而自编码器或者SVD并没有。...原创 2019-05-05 16:15:51 · 1129 阅读 · 0 评论 -
word embedding怎么处理未登录词
知乎:https://www.zhihu.com/question/308543084第一种方法:基本思路是尽可能找到还原语义的pre-trained embedding。步骤是:1.原始词有没有2.全小写有没有3.全大写有没有4.首字母大写有没有5.三种次干化有没有6.长得最像的几种编辑方法有没有依次瀑布式查找。当然,最好的方式,是使用subword level的pre-trained l...原创 2019-04-17 15:29:24 · 2550 阅读 · 0 评论 -
value propagation network阅读笔记
这篇文章提出了一种基于价值迭代的参数高效差异化规划模块---价值传播网络,可以通过强化学习来进行训练,用来完成未见过的任务,该模块可以泛化到更大尺寸的地图中,并学习在动态环境中进行导航。文章主要贡献:(1)引入 VProp——这是一个网络规划模块,通过强化学习能成功学习解决路径搜寻任务,(2)展现了只在小图训练的基础上也具有的在大型未见过的地图中泛化的能力,(3)表明无论是在转换函数还是观察复杂...原创 2019-02-25 10:51:35 · 435 阅读 · 0 评论 -
Text-CNN简介及如何使用Text-CNN做中文文本分类
1.简介TextCNN是利用卷积神经网络对文本进行分类的算法。合理性:深度学习模型在计算机视觉与语音识别方面取得了卓越的成就。卷积具有局部特征提取的功能,所以可用CNN来提取句子中类似n-gram的关键信息。2.参数与超参数sequence_lengthQ:对于CNN,输入与输出都是固定的,可每个句子长短不一,怎么处理?A:需要做定长处理,比如定为n,超过的截断,不足的补0。注意补...转载 2019-02-25 10:29:06 · 2369 阅读 · 0 评论 -
DeepWalk: Online Learning of Social Representations
这篇论文主要介绍了如何把自然语言处理模型word2vec的方法应用到网络的节点表示中,通过word2vec的方法把网络学习为向量的潜层表示,能把网络中的联系编码到连续的向量空间中,这样网络的关系就能够很方便的通过各种统计模型来对这些网络中的联系进行各种应用。简介本文通过将已经成熟的自然语言处理模型word2vec应用到网络的表示上,做到了无需进行矩阵分解即可表示出网络中的节点的关系。Deep...翻译 2019-02-25 10:27:32 · 261 阅读 · 0 评论 -
Q-learing算法
想总结一下Q-learning算法,但是发现已经有不错的总结了,转载一下,供以后参考。英文原文地址:http://mnemstudio.org/path-finding-q-learning-tutorial.htm转载地址:https://blog.csdn.net/itplus/article/details/9361915第一部分:中文翻译...转载 2019-02-28 17:01:42 · 243 阅读 · 0 评论 -
对神经网络中的Epoch、Batch Size和iteration的理解
Epoch:当一个完整的数据集通过了神经网络一次并且返回了一次,这个过程称为一个epoch,然而,当一个epoch对于计算机而言太庞大的时候,就需要把它分为多个小块。为什么要使用多于一个epoch?在神经网络中传递完整的数据集一次是不够的,而且我们需要将完整的数据集在同样的神经网络中传递多次。但是请记住,我们使用的是有限的数据集,并且我们使用一个迭代过程即梯度下降是不够的,因此仅仅更新权重一...原创 2018-12-23 14:22:27 · 987 阅读 · 1 评论 -
python中的切片
line=“abcd”line[:-1]的结果为: abcline[::-1]的结果为:dcba#[::-1]中省略起止位置,步进为-1在python中,当步进为正,从左往右取;步进为负,从右往左取line[::-1]实现字符串翻转...原创 2018-12-27 16:59:04 · 387 阅读 · 0 评论 -
sklearn用法总结
1.数据预处理sklearn中数据预处理的常用函数from sklearn import preprocessing1.1标准化,均值去除和按方差比例缩放数据集的标准化:当个体特征太过或者明显不符合高斯正态分布时,标准化表现的效果较差。实际操作中,经常忽略特征数据的分布形状,移除每个特征均值,划分离散特征的标准差,从而等级化,实现数据中心、化1.1.1 scale零均值单位方差fr...原创 2018-11-30 22:15:57 · 2482 阅读 · 0 评论 -
pytorch实现最简单的线性回归
import torchimport timeimport argparsefrom torch.autograd import Variableimport torch.nn.functional as Fparser = argparse.ArgumentParser()x = torch.unsqueeze(torch.linspace(-2, 2, 10), dim=1)y...原创 2019-02-25 16:03:19 · 700 阅读 · 0 评论 -
Episodic Curiosity through Reachability阅读笔记
在现实世界中,奖励很稀疏,而今天大多数的强化学习算法都在与这种稀疏性斗争。这个问题的一个解决方案是让智能体自己创造奖励,从而使奖励更加密集,更加适合学习。很多现实世界的任务都有稀疏的奖励,例如:寻找食物的动物可能需要走很多英里而没有来自环境的任何奖励。标准强化学习算法因为依赖简单的行动熵最大化作为探索行为的来源,所以在这些任务中表现挣扎。...原创 2019-02-26 10:57:17 · 761 阅读 · 0 评论 -
stacking的理解
转载地址:https://www.cnblogs.com/Christina-Notebook/p/10063146.html其实本质上stacking就是用下一个模型去针对上一个模型预测的结果进行学习, 注意这里训练的输入是上一个模型的预测结果, 换句话说, 就是我下一个模型学习的目标是找到上一个模型预测结果和真实结果之间的模式, 通过学习这种模式可以优化最终的结果.具体流程:1、首先我...转载 2019-03-31 15:56:19 · 336 阅读 · 0 评论 -
textcnn网络图及其pytorch实现
通过pytorch实现其中nn.Conv2d()的参数说明:#coding=utf-8import torchimport torch.autograd as autogradimport torch.nn as nnimport torch.nn.functional as Fclass TextCNN(nn.Module): def __init__(self...原创 2019-04-04 14:14:44 · 549 阅读 · 0 评论 -
深度学习中的attention机制----转载
原 深度学习中 的 Attention机制 2018年03月13日 15:15:13 GerHard_Z 阅读数:21728 </div> <div class="operating">...转载 2019-03-26 12:08:52 · 362 阅读 · 0 评论 -
transformer理解
转载请注明出处,原文地址简介Attention Is All You Need是一篇Google提出的将Attention思想发挥到极致的论文。这篇论文中提出一个全新的模型,叫 Transformer,抛弃了以往深度学习任务里面使用到的 CNN 和 RNN ,目前大热的Bert就是基于Transformer构建的,这个模型广泛应用于NLP领域,例...转载 2019-03-25 21:11:27 · 1013 阅读 · 0 评论 -
深度学习中batch size和learning rate对训练结果的影响
一般情况下,在合理的范围之内,越大的batch size使下降方向越准确,震荡越小;batch size如果过大,则可能会出现局部最优的情况。小的batch size引入的随机性更大,难以达到收敛,极少数情况下可能会效果变好。...原创 2019-03-08 11:08:20 · 3107 阅读 · 0 评论 -
转载-----关于深度学习优化器 optimizer 的选择
转 关于深度学习优化器 optimizer 的选择,你需要了解这些 2017年08月03日 18:17:22 sooner高 阅读数:10756 ...转载 2019-03-11 12:30:40 · 124 阅读 · 0 评论 -
对于seq2seq的理解
从广义上讲,它的目的是将输入序列(源序列)转换为新的输出序列(目标序列),这种方式不会受限于两个序列的长度,换句话说,两个序列的长度可以任意。以nlp领域来说,序列可以是句子、段落、篇章等,所以我们也可以把它看作处理由一个句子(段落或篇章)生成另外一个句子(段落或篇章)的通用处理模型。对于句子对,我们期望输入句子Source,期待通过Encoder-Decoder框架来生成目标句子Target。...原创 2019-03-08 17:17:26 · 375 阅读 · 0 评论 -
python中面向对象及垃圾回收机制
之前虽然会使用,但是感觉还是没有完全搞明白,从菜鸟教程中弄过来,方便以后查看。面向对象技术简介类(Class): 用来描述具有相同的属性和方法的对象的集合。它定义了该集合中每个对象所共有的属性和方法。对象是类的实例。类变量:类变量在整个实例化的对象中是公用的。类变量定义在类中且在函数体之外。类变量通常不作为实例变量使用。数据成员:类变量或者实例变量, 用于处理类及其实例对象的相关的数据。...原创 2019-02-26 20:21:31 · 256 阅读 · 0 评论 -
用python实现tf-idf
tf-idf的基本思想:词语的重要性与它在文件中出现的次数成正比,但同时会随着它在语料库中出现的频率成反比下降。python中defaultdict用法:创建默认字典,当字典内的key不存在但被查找时,返回的不是keyError而是一个默认值,例如dict=defaultdict(fac),当fac是list时,如果key不存在,返回[]#coding=utf-8from collectio...原创 2018-11-29 19:19:07 · 1014 阅读 · 0 评论