自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

很吵请安静

Too young too simple

  • 博客(711)
  • 论坛 (1)
  • 收藏
  • 关注

原创 hive生成连续日期或数字

with subquery as ( select split(space(datediff('2020-11-30','2020-11-01')), ' ') as x) select date_add('2020-11-01', idx) as new_datefrom subquery t lateral view posexplode(x) pe as idx, ele

2020-11-19 20:25:09 15

原创 Linux vim升级到8并支持python3

git clone https://github.com/vim/vim.gitcd vim#make distclean # if you build Vim beforemake -j8sudo make installcp src/vim /usr/bin如果遇到no terminal library found checking for tgetent()... configure: error: NOT FOUND! You need to install a terminal

2020-11-11 16:54:18 32

原创 c++匿名函数前的[]

摘自 stackoverflowhttps://stackoverflow.com/questions/39789125/what-does-mean-before-functionIt means that the lambda function will capture all variables in the scope by reference.To use other variables other than what was passed to lambda within it, we c

2020-11-07 00:28:25 27

原创 Mac下配置maven

1.下载mvnhttp://maven.apache.org/download.cgi2.解压到/Library 目录下tar -zxf souce destination3.配置.bash_profile没有的话先创建一个touch ~/.bash_profile编辑open ~/.bash_profile添加JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-15.jdk/Contents/HomePATH=$PATH:$JAVA

2020-09-20 13:31:28 130

原创 c++创建对象方式

#include<iostream>using namespace std;class people{public: people(string name, int age){ _name = name; _age = age; } people(); ~people(){ cout << "class people end" << endl; } void getA

2020-09-12 16:08:45 48

原创 Hive使用with...as建立子查询

基本格式with sub_query_name1 as ( select xx from xxx), -- 注意这里用逗号分割sub_query_name2 as ( --注意这里没有as,上面一个as跟多个sub_query select xx from xx)select --正式查询语句,与上面的with as直接没有符号分割 xxfrom xx注意事项sub_query直接用逗号分割,一个sub_query用圆括号扩起来with 只能使用一次,后面

2020-08-30 17:00:51 210

原创 Hive用直接传入的数据生成表

需求想通过fixed的数据直接生成一个hive 表,不是select from其他表的那种。类似pandas 生成dataframedata = pd.DataFrame([[1,2,3], [4,5,6]], columns=['a','b','c'])在Hive中可以通过stack来实现,stack APIhttps://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-stack(v

2020-08-30 12:06:31 52

原创 Vscode coderunner运行环境问题

现象conda装了各种包,coderunner运行py项目显示环境有问题解决办法打开setting文件添加如下信息,输入“code-runner”会自动补全,修改python对应的环境路径即可"code-runner.executorMap":{ "javascript": "node", "java": "cd $dir && javac $fileName && java $fileNameWithoutExt",

2020-08-27 00:24:18 293

原创 Vscode终端python环境不一致问题

现象mac终端下可以使用conda环境,VS终端下输入python启动的是自带的py2解决办法打开全局setting.json(不是.vscode下的那个)添加如下(path后面为空str) "terminal.integrated.env.osx": { "PATH": "" }保存重启即可...

2020-08-27 00:20:39 290

原创 Hive条件count

记住一件事count时, null不coutsum 时,null不统计,相当于0条件count1.用ifcount(if(substr(uid,0,1)='4',uid,null))if(条件,条件成立值,条件不成立值)2.用case whencount(case when substr(uid,0,1)='4' then uid else null end)count(case when substr(uid,0,1)='4' then uid end )case when可以

2020-08-26 01:06:53 204

原创 广告竞价-广义第二出价

定义广义第二出价(GSP)是暗拍的一种(明拍就是电视上常看到的实时举牌叫价),竞拍一次报价,一次竞价出结果,竞拍方互相不知道对方的出价,商品最终以竞拍者出价的第二高的价格卖出,目前各大互联网公司的广告竞价系统基本都是基于GSP来做的。为什么GSP成为主流?1.广告平台视角:A和B竞拍一些商品,第一次A出价100获胜,第二次A出价99又获胜,接下来的竞价中,A通常会继续压低自己的价格,因为基于前两次竞价A大致能感觉到B出价不高,在后续的竞拍中继续压低自己的价格,给广告平台带来损失;2.竞拍方视角:可以

2020-08-10 00:17:25 267

原创 深入理解XGBoost

目标函数的基本形式模型对于某个样本的预测值:fkf_{k}fk​是基学习器,最终模型是多个基学习器最初的目标函数可以写成y^i(t−1)\hat{y}_{i}^{(t-1)}y^​i(t−1)​:是前t-1个集成学习器对样本的预测值ft(xi)f_{t}\left(\mathbf{x}_{i}\right)ft​(xi​):是当前学习器对样本的预测值Ω(ft)\Omega\left(f_{t}\right)Ω(ft​):是第t个学习器的正则项对目标函数进行泰勒二阶展开gi=∂y^(t.

2020-08-09 23:25:46 161

原创 深入理解GBDT

基本概念概述Gradient Boosting Decision Tree,梯度提升决策树。GBDT是一个Boosting算法 , Boosting算法将弱分类器集成成一个强分类器,相比于bagging:boosting算法中当前的分类器会受到之前的学习器的影响,比如adaboost当前学习器中样本的权重是前n轮学习器改变后的结果,比如GBDT中当前学习器要拟合东西是前n个学习器产生的残差。而bagging算法中每一个学习器都是相对独立的,不会受到其他学习器的影响。GBDT 相当于 Grad

2020-08-09 23:05:25 146

原创 逻辑回归——你想知道的全在这里

概述逻辑回归是一个假设样本服从伯努利分布,利用极大似然估计和梯度下降求解的二分类模型,在分类、CTR预估领域有着广泛的应用。公式推导逻辑回归是用来解决分类问题用的,与线性回归不同的是,逻辑回归输出的不是具体的值,而是一个概率。除去了sigmoid函数的逻辑归回和线性回归几乎是一样的。有人说逻辑回归不是回归,因为输出的不是回归值。也可理解为逻辑回归是先求回归函数,再将结果通过逻辑函数转化一下得到最终的结果。基本步骤:构造hypothesis构造损失函数通过损失函数最小化求目标函数的各个参数

2020-08-09 22:27:53 107

原创 VSCode在制定行内搜索

command + p打开setting, add "editor.find.autoFindInSelection": "multiline"

2020-08-07 09:06:39 99

原创 VSCode代码补全问题

插件环境啥的都没问题,代码补全的时候只能补全全一些基本的c++关键字,解决方法如下:设置中搜索IntelliSense->修改IntelliSenseEngine(default改为Tag Parser)

2020-08-02 17:39:26 360

原创 pandas对不同类型的column进行fillna

因为dataframe中数据有不同类型,统一fillna可能会造成统一列数据类型不同的错误,有两种方法方法1:逐一判断for col in df: if df[col].dtype=="object":.....方法2:用select_dtypesdf=df.select_dtypes(include='object').fillna('') ...

2020-06-25 21:17:01 332

原创 Keras 搭建神经网络的简单pipeline

整体流程大概是:定义好用到特征——搭建好网络——定义一些回调函数比如earlystopping,——编译模型——给模型喂数据进行训练——预测结果原始数据通常为csv文件特征定义用tensorflow的feature_column函数完成对特征的转换,在这一步只是指明对将来喂入数据中的某个特征要做什么样的处理,这一步还没接触到真正的数据,相当于预定了一个处理框架。from tensorflow import feature_column对于数值特征,直接用numeric_column处理age

2020-06-24 20:10:44 252

原创 Jupyter设置proxy

需要读取外网服务器时,需要走代理,本机代理走的是1080端口,可以将jupyter的代理设置到该端口上。方法1:临时修改在终端进行设置,再在该终端上启动jupyter,起来的notebook即可走代理。set HTTP_PROXY=http://127.0.0.1:1080set HTTPS_PROXY=http://127.0.0.1:1080更通用的方法set HTTP_PROXY=http://<user>:<password>@<proxy server&

2020-06-23 19:21:59 526

原创 tf.keras.losses.SparseCategoricalCrossentropy

交叉熵损失函数tf.keras.losses.SparseCategoricalCrossentropy( from_logits=False, reduction=losses_utils.ReductionV2.AUTO, name='sparse_categorical_crossentropy')y_pred为N维向量(N为类别的个数),label为单个数字,如果label也是one-hot之后的值,需要使用CategoricalCrossentropy损失函数。参数:

2020-06-23 10:06:07 1815

原创 将conda环境导入Jupyter

#conda下先进入需要导入的环境cenvconda activate cenv#安装ipykernel(cenv)$ conda install ipykernel#创建jupyter kernel (cenv)$ ipython kernel install --user --name=<jupyter kernel name>刷新jupyter页面即可看到导入的环境...

2020-06-22 11:11:55 261

原创 ImportError: cannot import name create_prompt_application

用ipython创建kernel时出现下面问题参考该方法:https://github.com/jupyter/jupyter_console/issues/158sudo pip install prompt-toolkit==1.0.15

2020-06-22 11:09:00 235

原创 Memory-based和Model-based推荐系统

以下理解参考该文章:memory-based-vs-model-based-recommendation-systemsMemory-based: 主要通过计算近似度来进行推荐,比如user-based和item-based协同过滤,这个两个模式中都会首先构建用户交互矩阵,然后矩阵的行向量或者列向量可以用来表示用户和item,然后计算用户或者物品的相似度来进行推荐。这里叫Memory是可能是因为要事先把交互矩阵载入到内存中进行计算吧。Model-based:主要是对交互矩阵进行填充,预测用户购买某个

2020-06-15 16:18:01 203

原创 NCF(Neural Collaborative Filtering)——协同过滤与神经网络的结合

Neural Collaborative Filtering paper关于协同过滤协同过滤简而言之就是物以类聚人以群分,在真实场景中,通常会获得一张用户物品交互表,其实就是一个矩阵M,M[i][j]=1M[i][j]=1M[i][j]=1则表示用户iii购买了物品jjj,=0=0=0表示没有购买。主要分为以下两种:user-based协同过滤...

2020-06-13 20:29:39 486 1

原创 VSCode:Cannot edit in read-only editor

File ->preference->输入run code->找到Run code configuration,把whether to run code in Intergrated Terminal 勾上重启VSCode即可

2020-06-12 13:24:06 1103

原创 NFM——引入pooling和NN的FM

Neural Factorization Machines for Sparse Predictive Analytics paper解决痛点NFM可以看做是主要针对FM和FNN的改进,他们缺点如下FM模型虽然学习到了交叉特征,但是对于交叉后的特征仍然是线性建模,学习不到非线性的关系FNN模型虽然在底层用的FM进行向量初始化,在上层使用DNN来学习到高阶非线性特征,但是单个特征embedding后通过拼接(concatenating),然后在后续的DNN结构中学习到交叉特征(deep& w

2020-06-04 17:16:53 242

原创 端到端的高低阶特征学习——DeepFM模型

解决痛点DeepFM模型对比了FNN、PNN、Deep&wide,在其缺点上进行了改进,得到了DeepFM模型。这三种模型的结构如上图所示,其不足分别如下:FNN缺点如下:FNN底层通过为FM预训练得到向量,预训练有两个缺点:(1)FNN embedding矩阵的参数会受到预训练结果的影响(2)预训练的引入使得模型的效率降低FNN只能学到高阶特征组合,学习不到低阶特征PNN无法学些到低阶特征(可以理解为输入直接过了若干层网络,只学习到了高阶组合)deep&wi

2020-05-29 15:12:57 489 2

原创 FM与DNN的组合——FNN模型

origin paper: https://arxiv.org/pdf/1601.02376.pdf解决痛点特征学习和模型泛化的能力有限。网络结构top-down视角CTR层y^=sigmoid⁡(W3l2+b3)\hat{y}=\operatorname{sigmoid}\left(\boldsymbol{W}_{3} \boldsymbol{l}_{2}+b_{3}\right)y^​=sigmoid(W3​l2​+b3​)W3∈R1×L,b3∈R and l2∈RL

2020-05-28 14:03:11 363

原创 利用product解决特征交叉问题——PNN模型

解决痛点传统模型: (应该指的是逻辑回归这种)挖掘特征的能力有限,比如无法挖掘到二阶特征深度网络模型: 无法应用到大规模高维稀疏特征上。所以提出了PNN模型,该模型先用embedding层学习到类别特征的表达形式,再用一个乘积层学习到不同特征间的交叉信息,最后用全连接层学习到更高阶的特征表达。网络结构从一个top-to-down的视角来看:最顶层最上面一层是一个CTR的输出y^=σ(W3l2+b3)\hat{y}=\sigma\left(\boldsymbol{W}_{3} \boldsy

2020-05-27 15:10:34 278

原创 谷歌CTR预估模型——deep&cross(DCN)

提出动机解决交叉特征学习问题,虽然传统的FM模型可以学习到二阶交叉特征,对于高阶交叉特征,需要大量的参数,在deep&wide模型,wide部分需要手动进行特征工程,deep&cross模型在wide部分实现了自动生成高阶交叉特征,并使用了resnet的形式。网络形式经过公共的embedding和stacking层,左边为cross network,右边为deep network。Embedding and stacking layer该层对特征进行拼接成input,对于Dens

2020-05-13 17:02:41 225

原创 自动特征组合——微软deep crossing模型

提出动机deep crossing是微软bing ad团队提出的,用来解决大规模特征组合问题的模型,避免了人工进行特征组合,并使用了当年提出的残差神经网络。模型主要结构如下(搞不懂这图为啥画的这么随意)。主要分为embedding layer,stacking layer,residual unit 和scoring layer。deep crossing模型中输入的部分用得是原始的单个特征,不进行手动特征组合,完全靠模型自己去学。Embedding layer对于sparse特征x,通过emb

2020-05-12 19:33:21 556

原创 深度残差网络ResNet

paper https://arxiv.org/pdf/1512.03385.pdf提出动机ResNet是为了解决深度神经网络中由于层数过多带来的模型退化问题(degradation)。一般情况下,模型退化主要有以下几种原因:过拟合,层数越多,参数越复杂,泛化能力弱梯度消失/梯度爆炸,层数过多,梯度反向传播时由于链式求导连乘使得梯度过大或者过小,使得梯度出现消失/爆炸,对于这种情况,可以通过BN(batch normalization)可以解决由深度网络带来的退化问题,一般情况下,网络层数越深

2020-05-11 21:17:58 491

原创 NNLM(Neural Network Language Model)模型

论文链接定义词汇表VVV,w1⋯wTw_{1} \cdots w_{T}w1​⋯wT​表述词汇表中的单词目标函数,f(wt,⋯ ,wt−n+1)=P^(wt∣w1n−1)f\left(w_{t}, \cdots, w_{t-n+1}\right)=\hat{P}\left(w_{t} | w_{1}^{n-1}\right)f(wt​,⋯,wt−n+1​)=P^(wt​∣w1n−1​),即...

2020-04-30 19:12:57 178

原创 doc2vec模型

Distributed Representations of Sentences and Documents该论文提出了一种训练段落向量的方法。(一) 提出动机已经有比较优秀的模型可以很好的生成词向量,但是对于生成句子或者段落的向量,目前还没有比较好将单词向量变为句子向量的方法,常见的方法以及缺点如下:bag of words: 缺乏顺序性和语义性average word vector...

2020-04-28 22:29:56 214

原创 AutoRec模型

论文原文利用自编码器做协同过滤,协同过滤主要有如下两种情景user-based:userA和userB臭味相投,那么A喜欢看的电影可以推荐给Bitem-based: movieX和movieY比较相似,那么用喜欢看movieX,那么可以将movieY也推荐给他Rating matrix比如在电影推荐场景中,用户对电影(item)的打分可以构成一个R∈Rm×nR \in \mathb...

2020-04-27 17:41:41 481

原创 Deep & Wide模型

(一)CTR预估基本模式对于用于的一次访问请求,比如打开App Store,这即是一次请求,系统会通过召回和排序给你推荐一些可能感兴趣的App。召回和排序也称为粗排和精排。Retrieval召回部分主要是从App集合中粗粒度的选出一些可能会被下载的软件,应为App集合数量过于庞大,直接精排会差生效率上的问题。首先根据一些自定义的rule做预处筛选。Ranking排序即对于召回模块提供的A...

2020-04-27 01:49:54 261

原创 MLR(mixed logistic regression)模型

基本形式MLR模型是阿里巴巴12年提出(17年发表)点击率预估模型,它利用分段方式对数据进行拟合,相比LR模型,能够学习到更高阶的特征组合。其基本表达式如下p(y=1∣x)=g(∑j=1mσ(ujTx)η(wjTx))(1)p(y=1 | x)=g\left(\sum_{j=1}^{m} \sigma\left(u_{j}^{T} x\right) \eta\left(w_{j}^{T} x...

2020-04-26 02:14:44 1121

原创 softmax与交叉熵损失

softmax基本形式softmax是一个将实数域上取值的N维向量转化为[0,1]范围内的函数,常用用于分类问题中,接在神经网络最后一层,将输出值映射到概率区间上,其基本形式如下所示pi=eai∑k=1Neak(1)p_{i}=\frac{e^{a_{i}}}{\sum_{k=1}^{N} e^{a_{k}}} \qquad(1)pi​=∑k=1N​eak​eai​​(1)基本形式优化...

2020-04-25 16:44:58 157

原创 DataFrame删除column的不同方法

import pandas as pddata = [['a',1],['b',2]]data = pd.DataFrame(data, columns=['name', 'age'])#通过特征选取data = data[['age']]#通过del 关键字del data['name']#通过drop函数data.drop(['name'],axis=1, inplac...

2020-04-25 10:20:02 997

原创 tensorflow数据batch化训练模板

定义产生batch数据的函数# 定义产生bacth数据的函数def get_batch_data(): data_x, data_y = gen_data(10**4) data_x, data_y = tf.constant(data_x), tf.constant(data_y) input_queue = tf.train.slice_input_producer...

2020-04-23 20:57:12 125

空空如也

很吵请安青争的留言板

发表于 2020-01-02 最后回复 2020-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除