<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Oliverkehl的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Oliverkehl</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Oliverkehl]]></copyright><item><title><![CDATA[交叉熵、相对熵、KL散度、JS散度]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/88789765</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/88789765</guid><author>Oliverkehl</author><pubDate>Mon, 25 Mar 2019 11:49:16 +0800</pubDate><description><![CDATA[以前没有从另一个角度理解过熵：用最小的bit位数描述一个分布，这个bit数就是熵



交叉熵就是用分布Q(x)拟合真实分布P(x)，最常见的就是LR的Loss

相对熵就是交叉熵减去真实分布的熵



KL散度就是相对熵，但是KL散度不具有对称性

JS散度是 JSD(P||Q)=1/2*KL(P||(P+Q)/2) +1/2*KL(Q||(P+Q)/2)

可见JS散度是具有对称性的

...]]></description><category></category></item><item><title><![CDATA[[深度学习] embedding 在test阶段遇到OOV怎么办]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/79897329</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/79897329</guid><author>Oliverkehl</author><pubDate>Wed, 11 Apr 2018 15:42:21 +0800</pubDate><description><![CDATA[即使是char级别的rnn模型，在test阶段也会遇到OOV
这种情况肯定是没法用embedding层的lookup的


如果OOV情况不多，就可以当做UNK处理
有两类思路：
1. UNK有对应的embedding
    这种情况怎么来的呢，就是把训练集中所有出现频率小于某个阈值的词都标记为UNK，当然也别太多，这样就得到了UNK的embedding，这里的embedding有]]></description><category></category></item><item><title><![CDATA[[优质论文]伪造共同访问对推荐系统进行攻击]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/78680672</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/78680672</guid><author>Oliverkehl</author><pubDate>Thu, 30 Nov 2017 20:39:11 +0800</pubDate><description><![CDATA[针对推荐系统的攻击个人概要论文原文：  Fake Co-visitation Injection Attacks to Recommender Systems  论文解读：  [论文学习] 脆弱的推荐系统: 通过伪造共同访问对推荐系统进行攻击  这篇文章写的很清楚，所以如果真的要看就去看它好了，我记下来只是为了让自己印象更深。这篇文章为什么吸引我？
因为之前知道广告作弊，搜索作弊等，但是从来没有接触]]></description><category></category></item><item><title><![CDATA[开始TensorFlow学习]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/76272644</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/76272644</guid><author>Oliverkehl</author><pubDate>Fri, 28 Jul 2017 17:45:15 +0800</pubDate><description><![CDATA[最近想把扔了一年多的机器学习相关的东西拾起来，看看kaggle，回顾一下各种classifier和regressor以及ensemble。
顺便正好看看TensorFlow的东西，毕竟这么火


实现cnn做图像识别和文本分类的效果
实现了lstm做分类和时序预测的效果
实现了word2vec


其实说不上实现，只因为用tensorflow做这些工作实在是太简单了，以前的ker]]></description><category></category></item><item><title><![CDATA[solr的schema中几个特殊参数明细]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/75431256</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/75431256</guid><author>Oliverkehl</author><pubDate>Wed, 19 Jul 2017 17:56:31 +0800</pubDate><description><![CDATA[positionIncrementGap使用场景：multi-value field对应的phrase query场景  Suppose a document has a multi-valued “author” field.   Like this:  author: John Doe 
author: Bob Smith  With a position increment gap of 0,]]></description><category></category></item><item><title><![CDATA[solr spellcheck 距离选取方案]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/73344166</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/73344166</guid><author>Oliverkehl</author><pubDate>Fri, 16 Jun 2017 17:41:11 +0800</pubDate><description><![CDATA[spellcheck本质上工作机制是两步：
1. ngram进行候选检索
2. 选取ngram打分最高的几个，进行距离计算，如果距离大于solrconfig中的accuracy配置项，就返回该纠错结果


之前沿用了默认配置项编辑距离，
str
name="distanceMeasure">org.apache.lucene.search.spell.LevensteinDistan]]></description><category></category></item><item><title><![CDATA[批量车源解析方案]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/73136445</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/73136445</guid><author>Oliverkehl</author><pubDate>Mon, 12 Jun 2017 21:35:13 +0800</pubDate><description><![CDATA[车商批量资源发布解决方案背景车商发布资源门槛较高，手里的资源想全部转化为平台上的规范资源需要一条一条发布，比较繁琐，但是车商会天天在朋友圈、微信群里发布他们用自然语言“编写”的资源，例如：X1/286000 白，蓝，红，粽⬇14.5点  
GT320/398000 矿白黑 ⬇16.5点  
525/499600 矿白摩卡 ⬇18.5点  
☎18521707911  
全部上海提，店车店票  
如果]]></description><category></category></item><item><title><![CDATA[Solr完整个性化搜索排序方案]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/55099057</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/55099057</guid><author>Oliverkehl</author><pubDate>Tue, 14 Feb 2017 14:45:51 +0800</pubDate><description><![CDATA[Solr个性化搜索排序A厂的排序方案是添加各种各样的排序链，用于支持各个业务场景下的搜索排序功能，之前我们主搜排序以及筛选页的逻辑非常简单，就是文本相关性+业务分(业务加分+业务扣分)，搜索结果干预功能也很直接，这些模块都直接添加在SolrIndexSearcher中，为的是最快的支持搜索排序业务，然后就这么撑了6个月。。。我们发现，用到排序的场景越来越多，比如首页很关键的两个入口：推荐资源和推荐寻]]></description><category></category></item><item><title><![CDATA[solr 4.2 使用插件链来完善、简化增量index逻辑]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/53088962</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/53088962</guid><author>Oliverkehl</author><pubDate>Tue, 08 Nov 2016 21:54:25 +0800</pubDate><description><![CDATA[业务背景之前做村淘的时候开发过一个插件，即动态的根据商品的类目判定该商品是不是要被和谐，所以了解到在update商品信息的时候，商品是肯定会经过一个由若干Processor组成的chain最终进入底层索引的现在遇到的问题是这样的，当前的商品逻辑比较复杂，有很多不是从db里得到的字段，进索引时会根据业务逻辑做相应的处理，例如时间间隔，title，以及离线的一些分数，例如商品预测质量分等。全量索引时逻辑]]></description><category></category></item><item><title><![CDATA[[长期更新] Linux简单实用的功能]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/52414558</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/52414558</guid><author>Oliverkehl</author><pubDate>Fri, 02 Sep 2016 15:53:00 +0800</pubDate><description><![CDATA[linux下的一些小技巧总结
长期更新]]></description><category></category></item><item><title><![CDATA[ERROR: must be superuser to COPY to or from a file]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/52414532</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/52414532</guid><author>Oliverkehl</author><pubDate>Fri, 02 Sep 2016 15:47:43 +0800</pubDate><description><![CDATA[用COPY需要superuser很麻烦
直接用 \copy就可以把file导入到表中了



> Hello
> > I want to fill in a table from a file, but when I use the COPY command I
> > get the following error:
> >
> > mydb=> COPY weather FROM ']]></description><category></category></item><item><title><![CDATA[Solr Lucene Group查询]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/51842176</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/51842176</guid><author>Oliverkehl</author><pubDate>Wed, 06 Jul 2016 20:39:49 +0800</pubDate><description><![CDATA[Solr Group查询背景搜索引擎在某种意义上也是一直数据库，写过sql的应该都知道group这个关键字，在有些场景下我们也需要搜索提供类似group的功能，例如作为基于信息流的电商我们需要按照不同的时间段返回结果，举个例子，就是先展示最近3天的商品，然后再展示3-7天的商品，那么group在solr里，或者说在lucene里是怎么实现的呢？group思路先介绍下大体思路，当然这个思路也是参考过s]]></description><category></category></item><item><title><![CDATA[solr 的commit, soft commit等]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/51801311</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/51801311</guid><author>Oliverkehl</author><pubDate>Fri, 01 Jul 2016 14:50:57 +0800</pubDate><description><![CDATA[背景最近又被soft commit 和 hard commit搞得有点迷糊，其实都怪自己没有早点看源代码。问题出自这段代码，这也是我一开始接触solr时，查到的代码sample(事实证明问题都出在这里，引以为戒，有问题真的不要不求甚解)if (rs.next()){
    while (true) {
        NiuniuSolrInputDocument doc = new Niuniu]]></description><category></category></item><item><title><![CDATA[lucene中的Filter]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/51746857</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/51746857</guid><author>Oliverkehl</author><pubDate>Thu, 23 Jun 2016 21:28:57 +0800</pubDate><description><![CDATA[前言用Lucene一定不能不知道Filter，Filter在合适的场景下能大大提升搜索性能背景最近在折腾solr，这个3年前“玩过”的东西，现在又来玩了，3年前是瞎比玩，只知道最上层的一些接口，却不知其所以然，而现在的目标就是要把solr以及lucene底层的核心代码都分析一遍，并成功的部署一套电商搜索解决方案。Filter逻辑Filter的构造逻辑其实本身和Query的构造逻辑差距不大，唯一一点不]]></description><category></category></item><item><title><![CDATA[solr 个性化打分]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/51674812</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/51674812</guid><author>Oliverkehl</author><pubDate>Tue, 14 Jun 2016 21:32:36 +0800</pubDate><description><![CDATA[背景搜索排序怎么排呢，如果还是想着怎么改similarity或者SchemaSimilarityFactory就范围太小了，similarity只能提供一个文本相关性得分，不管你怎么boost去调整，最后你会发现这他妈根本不是你想要的打分逻辑，tf, idf, lengthnorm, coord,boost,甚至还涉及到lucene-core 下SmallFloat的精度问题，一团乱麻。方案可以扩展]]></description><category></category></item><item><title><![CDATA[solr 自定义QueryParser 用户查询解析方案]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/51673839</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/51673839</guid><author>Oliverkehl</author><pubDate>Tue, 14 Jun 2016 18:33:05 +0800</pubDate><description><![CDATA[背景一个完整的搜索流程，query其实是最关键的角色，它甚至比人的标签等信息更加关键，这也是PPC这种搜索广告赚钱的基本保障。  我们作为搜索服务提供商，能够怎么应对这些query，并且根据用户输入的query构造出不同的lucene布尔查询，这是非常关键的一个问题。拿之前做过的地图检索为例，用户输入：上海市浦东新区罗山路28号，我们的底层schema存有省，市，县，区，街道等信息，那么我们如果把用]]></description><category></category></item><item><title><![CDATA[怎样检测和应对数据集的Outliers]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/50433617</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/50433617</guid><author>Oliverkehl</author><pubDate>Wed, 30 Dec 2015 11:50:58 +0800</pubDate><description><![CDATA[怎样检测和应对数据集的Outliers什么是OutlierOutlier中文可以叫做异常样本，但是一般还是直接称呼Outlier，它就是大量观测样本中那些量较少的、偏离整体的模式样本，这些样本很容易就能够让你得到偏差很大的模型，导致欠拟合，所以需要格外关注它们。 
举个例子，我们在做消费者画像时，需要统计消费者的平均收入，大家的平均年薪可能只有20w，但是这时样本中冒出来了马云和王健林，它们的收入远]]></description><category></category></item><item><title><![CDATA[逻辑回归，决策树，支持向量机 选择方案]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/50129999</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/50129999</guid><author>Oliverkehl</author><pubDate>Tue, 01 Dec 2015 15:23:51 +0800</pubDate><description><![CDATA[逻辑回归 vs 决策树 vs 支持向量机分类是我们在工业界经常遇到的场景，本文探讨了3种常用的分类器，逻辑回归LR，决策树DT和支持向量机SVM。  这三个算法都被广泛应用于分类（当然LR，DT和SVR也可以用于回归，但是本文先不讨论）。我经常看到人们会问，这个问题我该使用LR呢还是决策树（或者GBDT）还是SVM呢。然后你会听到一个“经典”而且“绝对正确”的答案：”It depends.”这个答案]]></description><category></category></item><item><title><![CDATA[Solr为不同的fieldType配置Similarity]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/49670825</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/49670825</guid><author>Oliverkehl</author><pubDate>Fri, 06 Nov 2015 00:04:52 +0800</pubDate><description><![CDATA[Similarity业务需要，想对不同的field使用不同的similarity。继承DefaultSimilarity实现里面的方法，重写了tf, idf，toString这三个方法，直接在schema中替换就可以对不同的field使用不同的similarity在schema中可以设置similarity，发现不太行，solr4.2并不支持这么细粒度的similarity用法，不过可以支持不同的f]]></description><category></category></item><item><title><![CDATA[ssh的连接重用]]></title><link>https://blog.youkuaiyun.com/Oliverkehl/article/details/48288555</link><guid>https://blog.youkuaiyun.com/Oliverkehl/article/details/48288555</guid><author>Oliverkehl</author><pubDate>Tue, 08 Sep 2015 11:18:08 +0800</pubDate><description><![CDATA[http://www.fwolf.com/blog/post/385


原理很简单，开一个ssh连接在后台放着，以后再有需要用到ssh到同样主机的时候，直接使用这个连接的socket文件，不用再创建连接了，同理，也不需要再进行用户身份验证。

默认是关闭的，可以在~/.ssh/config中打开：
Host *
    ControlMaster auto
    ControlPa]]></description><category></category></item></channel></rss>