我不生产bug,我只是bug的搬运工
我以前写过一篇关于word2vec的文章,说实话,写的一坨,我决定以后写博客认认真真的去写。 我的博客来自于网上各位前辈的资料的整理,这位这位和这位翻译的让我对word2vec有了深入的理解。
大家都是只关注stacking的操作是什么,虽然这很重要,但是却没有说明白为何有效。这一直是困惑我的点,我想通过论文搞清这些东西。貌似没找到,找到再贴。 我们将假设训练数据:train.csv有1000行;测试数据:test.csv有200行。
题目描述: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10。
深层网络一般很难训练,要么梯度弥散要么梯度爆炸。但是我们考虑这样一个事实:假设我们有一个浅层网络,网络是很同意训练的。现在我们不断增加新层来建立深层网络,一个极端的情况是增加的层什么也不学习,仅仅只是拷贝浅层的输出,即这样的新层是恒等映射(Identity mapping)。
1.原因 神经网络为什么会出现梯度消失和梯度爆炸的问题,根源是反向传播。一般整个深度神经网络可以视为一个复合的非线性多元函数 那么在这样一个公式中,我们都知道,计算梯度的时候是链式求导,比如一个只有4个隐层的网络: 图中是一个四层的全连接网络,假设最简单的情况,激活函数为 ,其中i为第i层,x是i层输入,那么 。
SVM是我写的最长的一篇博客。 解决SVM有两个思路,这两个思路指导我们后面的方法: 简单情况,线性可分或线性不可分,把问题转化成为一个凸优化问题,可以利用拉格朗日乘子法简化,然后有既有的算法解决。
关于随机森林,我只想讲一句话,bagging算法其实就是装袋算法,如下: 装袋算法 而随机森林如下: 随机森林 自助样本是有放回抽样,而且抽样的个数与样本总数相同。
上一节我们讲了AdaBoost,而提升树也是提升方法的一种,它的基分类器为分类树或者回归树。(ps:首先我们讲一下残差的概念:残差是指实际值和估计值之间的差,就是相减。
大家都知道,决策树能够做分类问题,但是到了CART(classsiification and regression tree)算法发明的时候,树又能做分类也能做回归。
提升算法有两个问题需要回答:一是每一轮如何改变迅雷数据的权值和概率分布;二是如何将弱分类器组合成一个强分类器。关于第一个问题,AdaBoost的做法是,提高那些被前一轮弱分类器错误分类样本的权值,而降低那些被正确分类样本的权值。
上一次我们介绍了图的相关的数据结构,今天我们来介绍图的有关算法。 接下来我将以如下的顺序介绍算法:1.图的遍历(广度和深度)2.最小生成树 3.最短路径 4.拓扑排序 5.关键路径 一、图的遍历 1.基本思路 1).图的遍历:从图中某一个顶点出发遍历途中其余结点,每一 个顶点仅仅被遍历 一次。
一直想写一篇关于图的博客,但是奈何功力不够,迟迟没有下手。查看多方资料后,觉得写一篇笔记供自己参考,各位看官轻喷。感谢这个博客https://blog.csdn.net/qq_35644234/article/details/57083107 图是顶点(vetex)和边(edge)的集合。
单调栈结构是这样的,栈里放的内容要么是从小到大的,要么是从大到小的。 问题1:在一个数组中,每一个位置的num,找到左边离num近的>num的值,和右边离num近的>num的值。
二叉树递归遍历的实质是,只要这个节点不为空,那么这个节点一定会遍历3次,先序中序后续只不过是打印的时机不同。先序是第一次到达这个节点,中序是第二次,后序是第三次。
贪心的过程要么是最大要么是最小,堆可以很好的满足这个要求。 问题1:一块金条切成两半,是需要花费和长度数值一样的铜板的。比如 长度为20的 金条,不管切成长度多大的两半,都要花费20个铜 板。
凡是递归的过程,都可以化成树的过程。递归就是问题变成子问题求解的过程。动态规划暂时没明白,好像是需要一张动态规划表,是根据递归搞出来的。 问题1:开始有一头母牛,母牛每年会生一只母牛,新出生的母牛成长三年后也能每年生一只母牛,假设牛都不会死。
快速排序是一个经典的排序,而且针对特定的问题,又分为2路快排和3路快排。今天,我们不搞这些复杂的,就搞经典快排。 快速排序.png 如图所示,快速排序如果遇到数组都有序的情况,那么快排将会退化成O(n^2),所以选择随机快排来更改这个情况。
题目描述: 一个矩阵中只有0和1两种值,每个位置都可以和自己的上、下、左、右 四个位置相连,如果有一片1连在一起,这个部分叫做一个岛,求一个 矩阵中有多少个岛? 举例: 0 0 1 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0 0 0 0 0 0 0 这个矩阵中有三个岛。
前缀树是一个非常好用的数据结构,特别是针对求相同前缀字符串有多少个的时候。如图 前缀树.jpg 下面是前缀树的一些代码操作。 public class TrieTree { //内部类 private class Tri...
题目描述: 在一个排序的链表中,存在重复的结点,请删除该链表中重复的结点,重复的结点不保留,返回链表头指针。 例如,链表1->2->3->3->4->4->5 处理后为 1->2->5。
题目描述: 给定一个数组A[0,1,...,n-1],请构建一个数组B[0,1,...,n-1],其中B中的元素B[i]=A[0]A[1]...A[i-1]A[i+1]...A[n-1]。
以前一直用hash表,但是并不清楚它的原理。所以,我决定手写一个hash表,彻底搞清它的工作方式。这里有一个误区是:通常我们会认为对象数组是存储对象本身,也就是对象数组是开辟一个空间,然后将对象放进去。
题目描述: 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 解决思路: 方法一:首先不要想着使用排序。
题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}。由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2。
这几篇,先放着,随后做整理https://www.jianshu.com/p/62f85f53ec16 https://blog.csdn.net/sofuzi/article/details/80825197
以鄙人之见,设计模式是一种思想,类似于架构的思想,不是技术的思想,他不能称为一种技术的实现,应该是一种思想的实现。所以,看了设计模式之后,会觉得很空。。。
TF为"词频",IDF为"逆文档频率",将这两个值相乘,就得到了一个词的TF-IDF值。某个词对文章的重要性越高,它的TF-IDF值就越大。所以,排在最前面的几个词,就是这篇文章的关键词。
word2vec是一个开源的nlp工具,它可以将所有的词向量化。至于什么是词向量,最开始是我们熟悉的one-hot编码,但是这种表示方法孤立了每个词,不能表示词之间的关系,当然也有维度过大的原因。
杂项,后期整理 1.tf.sampled_softmax_loss 此函数和tf.nn.nce_loss是差不多的, 取样求loss def sampled_softmax_loss( weights...
这篇文章我是基于一个博主文章改造的,但是这个博主有些方面没有说的很清楚,也可能是我比较愚昧的,所以关键的地方我都加了注释,让大家都知道,要想训练一个rnn,到底怎么组织输入,怎么利用输出(当然了,这是基于tensorflow,不同的框架可能有不同)。
堆排序过程是:先将所有的数组建成一个大根堆,然后将堆顶和堆的最后一个数交换,然后堆的大小减一,意味着堆不包括最后一个数。建立堆的过程其实是一个很简单的过程,就是将堆看成一个完全二叉树。
还是先阐述一下排序思路: 首先归并排序使用了二分法,归根到底的思想还是分而治之。拿到一个长数组,将其不停的分为左边和右边两份,然后以此递归分下去。然后再将她们按照两个有序数组的样子合并起来。
本人决定要开始准备数据挖掘面试了,之前并没有想到从哪里下手,这两天搜了搜知乎牛客网,大致知道自己要怎么准备笔试面试了。下面是我的计划。z 1.吴恩达的机器学习基础知识 首先应该将吴恩达的那款笔记从头到尾过一遍,公式必须要手推。