- 博客(30)
- 收藏
- 关注
原创 Leetcode 寻找消失的数,寻找重复数汇总
442.Find All Duplicates in an Arraypublic class Solution {//如果数组里有负数的话不可以用这种方法,只能用交换 // some elements appear twice and others appear once. 这句话是关键 public List<Integer> findDuplicates...
2020-03-07 18:09:18
196
原创 快速排序、堆排序、归并排序 的java 代码
1. 快速排序public class quick_sort{ public int partition(int[]nums, int begin, int end){ int val = nums[begin]; int low = begin; int high = end; while(low < high){ while(low < high...
2020-03-05 23:31:52
228
原创 MSE(L2损失)与MAE(L1损失)的分析
简单来说,MSE计算简便,但MAE对异常点有更好的鲁棒性。训练一个机器学习模型时,目标就是找到损失函数达到极小值的点。当预测值等于真实值时,这两种函数都能达到最小。分析:MSE对误差取了平方(令e=真实值-预测值),因此若e>1,则MSE会进一步增大误差。如果数据中存在异常点,那么e值就会很大,而e²则会远大于|e|。因此,相对于使用MAE计算损失,使用MSE的模型会赋予异常点更大的权...
2020-02-09 22:07:09
5912
原创 消除positon bias的几种方法
1.消除推荐系统中的位置偏置,一种常见的做法是在训练阶段将位置作为一个特征加入到模型中,而在预测阶段置为0或者一个统一的常数,如下图所示:2。 还有一种做法是在训练阶段将点击率拆解为两个部分,即用户看到物品的概率 * 用户看到物品后点击的概率,而在测试阶段只预估用户看到物品后点击的概率,示意图如下:3.通过一个shallow tower(可理解为比较轻量的...
2020-01-05 11:55:20
1490
原创 Xgboost windows编译调试通过的经验之谈
调了3天终于跳出来了。。用到的工具有VS studio 2015。PS:当时博主搞的时候不知道VS studio2017对linux支持的很好,也是后来才知道,感兴趣 的同学可以一上来就用VS studio2017试一下。一开始是只想用VScode,但是cmake的时候openmp lib有错误,因为debug的目的是看xgboost的代码,而不是去深入了解VScode库的,所以...
2020-01-02 23:36:39
742
原创 SVM 经典疑问收录
1.回顾一下,w与αi,xi,yi的关系式为:w = ∑ αi*yi*xi ,其中i = 1,2,3,...,N我们初始化的α是一个全为0的向量,即α1=α2=α3=...=αN=0,w的值即为0.我们进行SMO算法时,每轮挑选出两个变量αi,固定其他的α值,也就是说,那些从来没有被挑选出来过的α,值始终为0,而根据前面所学,支持向量对应的αi是一定满足 0<αi<=C的.有...
2019-12-19 19:41:47
214
原创 c++ 什么时候用指向指针的指针
void test(int *s) { int tmp = 100; s = &tmp; //尝试对s的指向做了改变,但只是在局部有效 cout<< *s <<endl; } void test2(int **s) { int tmp = 100; *s = &...
2019-12-12 16:47:47
390
1
原创 解决数据倾斜的几种方法
1.从数据源清理做起。比如去除噪点数据,裁剪边2.增加partition,提高并行度。(注意,这个只会缓解数据倾斜,使得每个excutor可以处理更少的key,但如果一个key的数目超级多,还是无法解决)3.利用广播变量调优。join的时候,将数据量小的一方作为广播变量。4.拆解热点key。可以rdd.sample(false,0.1)抽样一下,看一下哪个key最多。 注意,这里不能直...
2019-12-01 21:42:05
2098
原创 batch normalization 为什么有效?
4.1 Normalization 的权重伸缩不变性从两方面来看,1、权重伸缩不变性可以有效地提高反向传播的效率。 主要体现在对x求导。2.权重伸缩不变性还具有参数正则化的效果,可以使用更高的学习率。 主要体现在对w求导。 意思是,如果某一次更新使得w变得很大,则lambada系数一定很大,那么梯度就减小了。在一定程度上体现了参数正则...
2019-11-22 11:56:19
191
原创 两种将 (batch_size, seq_length, cell.input_size) => (seq_length, batch_size, cell.input_size)的方法
1。##batch_size=30, seq_length=6;cell.input_size=100Y = np.random.randn(30,6, 100)inputs = tf.split(Y, 6, 1)inputs2 = [tf.squeeze(input_, [1]) for input_ in inputs] ##inputs2.size=(6,30,1...
2019-11-17 22:13:36
564
转载 tf local_variables_initializer 和global_variables_initializer的区别
作者:batman链接:https://www.zhihu.com/question/61834943/answer/828562407来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。首先,global和local variable只是逻辑上的区分!技术上是一样,都是记录在collection里面,也就是你可以自行定义你的变量是global或local,...
2019-11-06 22:44:04
899
原创 推荐系统 match阶段为什么不做ctr预估
1. 性能问题。2.用的数据来源问题问题。match阶段一般是用的多个系统的数据组成的行为序列,比如搜索+个性化推荐的系统的数据。点击率预估一般是用的自己的个性化推荐的系统数据。例如上图的match和rank的数据是不同的。rank采用的数据是impressive(我理解的是展现的)和观察的数据。而match用的数据有search的数据。简而言之,CTR预估的数据是用的展...
2019-10-13 23:20:43
321
原创 Youtube 推荐系统框架
1 。推荐一般分为match和rank.match阶段采用了word2Vec思想。关键的一点要理解vedio vector的权重在哪里。在softmax那一步骤,比如user vector是100维,video vector是100w维。则需要一个100*100w的矩阵,这个矩阵的权重就是video vector。 这个框架通过训练在100w维中只有一个为1,其余都是为0,来训练矩阵权...
2019-10-13 16:05:50
383
转载 SVM经典疑问
来源:https://www.cnblogs.com/pinard/p/6111471.html#!comments1.第一变量选择的时候如果所有的点都满足KKT这么办呢 那说明不用跑了,现有的所有$alpha$即为我们需要求解的值。2.第二变量选择为啥要E1-E2最大呢 这样做的目的是为了加速迭代收敛过程。理论上不用E1-E2绝对值最大,不过这样有可能很多时候更新量很小...
2019-09-23 18:39:18
386
原创 fasttext python3.5 windows 安装问题
安装的时候要 pip install fasttext. 没用conda install fasttextERROR : VC++ 14.0 required下载一个安装包即可:https://pan.baidu.com/s/1_-8y-3sIDShxcLodzcjrMA提取码:lnzp在查找资料的时候,发现有人评论windows中fasttext及时安装完成后也无法正...
2019-09-15 02:14:23
268
原创 LR和SVN的区别
1.损失函数不同。2.SVM仅考虑支持向量3.SVN有约束4.LR解释性更强4.SVNM不能给出概率结果6.SVN对w 正则项给出了几何解释7.SVM对非线性问题采用核函数,会更快点...
2019-09-07 19:31:09
226
原创 核函数简化的原理
假设原X是三维向量(x1, x2 ,x3)将核函数进行化简后得到的也是三维向量的内机。而如果不用核函数,现将原X映射到N维,再进行N维*N维,则计算量很大。通常N可能取到几百维下面是高斯核的推导可以看出,高斯核函数,将两个无线维的向量内积变成了两个向量减法的复杂度...
2019-09-07 18:02:15
549
原创 平方损失、绝对值损失以及L0损失的推导
1.平方和损失的时候,最小的是所有样本均值的推导2. 取绝对值损失的时候,最小的是中位数的推导(假设x升序排列,因为x的顺序无关绝对值损失)3. L0损失,取的是众数...
2019-07-16 23:49:14
2106
原创 Python 'unicode_escape'
1.a=‘\u767e\u5ea6\u5728\u7ebf\u7f51\u7edc\u6280\u672f\uff08\u5317\u4eac\uff09\u6709\u9650\u516c\u53f8’>>> print unicode(a,'utf-8')\u767e\u5ea6\u5728\u7ebf\u7f51\u7edc\u6280\u672f\uff08\u5...
2018-12-23 20:42:09
3916
原创 python字符乱码问题
1. 有人说reload必须要有 import sysreload(sys)sys.setdefaultencoding('utf-8') 2.#!/usr/bin/env python# -*- mode: python; c-basic-offset: 2; indent-tabs-mode: nil; coding: utf-8; -*-...
2018-12-22 18:34:18
688
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人