blog | 逍遥郡


  • Home

  • Archives

  • Tags

  • Search

BP算法理解

Posted on 2014-06-22 |
反向传播(Back Propagation)是利用链式法则递归计算表达式的梯度的方法。 历史:1986年Rumelhart和Hinton一起重新发现了backprop,当时BP还是把求梯度和权重更新(梯度下降)打包了;而现在深度学习权重更新已经很简单粗暴了,BP基本单指第一步:求梯度。所以,现在BP已经完全等同于链式法则了。 图解传统BP 包括了前向传播+反向传播+更新权重。注意这里 $\delta$ 的含义有些混淆,没有乘以 $f’_i(e)$ ,可以结合这篇BP推导看,符号使用相对清晰。 思考:对DNN而言,单层网络(感知机)只要激活函数是单调的,能够保证是凸函数;但多层网络就是非凸优化了。 BP算法 Why:求解NN每层的参数,可以使用梯度下降,但难点在于如何计算每层loss对参数的梯度,而BP是计算梯度的有效方法。 BP算法推导参考Ufldl,损失函数为squared loss,激活函数为sigmoid,符号说明 如下: 样本集 $\brace{ (x^{(1)}, y^{(1)}), \ldots, (x^{(m)}, y^{(m)}) }$,包含$m$个 ...
Read more »

Word2vec词向量

Posted on 2014-06-19 |
[TOC] $\newcommand{\T}{\mathsf{T}}$ 向量空间模型 (VSMs)将词汇表达(嵌套)于一个连续的向量空间中,语义近似的词汇被映射为相邻的数据点。向量空间模型在自然语言处理领域中有着漫长且丰富的历史,不过几乎所有利用这一模型的方法都依赖于 分布式假设,其核心思想为出现于上下文情景中的词汇都有相类似的语义。采用这一假设的研究方法大致分为以下两类:基于计数的方法 (e.g. 潜在语义分析), 和 预测方法 (e.g. 神经概率化语言模型). 背景知识 统计语言模型(Statistical Language Model)是一种概率模型,它是NLP的基础,被广泛应用在语音识别、机器翻译、分词、词性标注和信息检索等任务。 假设句子$s:= (w_1,w_2,\cdots,w_T)$ 表示由这$T$个词按顺序构成,则该句子$s$的概率即是这些词的联合概率 $P(s)=p(w_1^T)=p(w_1,w_2,\cdots,w_T)$,这个概率分布也就是该语言的生成模型。利用Bayes公式,可以表示为各个词的条件概率形式 $P(s)=p(w_1)p(w_2 ...
Read more »

blade语法高亮插件

Posted on 2014-05-01 |
转到广点通后,开始使用陈老师(@RoachCock)开发的blade工具来统一构建程序代码,可惜在Emacs里暂时还没有相关的mode可以使用,所以就临时开发了一个。这里刚好也对如何去开发一个语言的语法高亮插件做个小结。 关键词语法高亮 关键词语法高亮使用 font-lock-defaults 定义,例如: (set (make-local-variable 'font-lock-defaults) '(...)) 设置语法描述表 这是关键步骤,告知emacs如何理解一些语法词汇,比如 (defvar blade-mode-syntax-table (let ((st (make-syntax-table))) (modify-syntax-entry ?_ "w " st) ;; 把下划线当作变量名的一部分 (modify-syntax-entry ?\' "\" " st) ;; 用单引号表示字符串 ;; bash style comment (modify-syntax-entry ?# ...
Read more »

增强use-package包管理工具

Posted on 2014-01-23 |
对于一个emacs重度用户,可能最频繁的操作就是去添加一些包,或者修改一些包的配置。那么如果可以很好的管理包的配置,或者能够快速的定位到包的配置,无疑可以很大程度的提高生产力。 以前是我自己写了一些包的管理函数,但最近发现了use-package这个非常优秀的包管理工具: 可以和package.el整合,自动下载安装需要的包; 可以把包相关的配置都定义在一个表达式里,非常整洁; 可以方便的定义包或者mode下的快捷键。 这些功能很好的解决了包的管理配置问题,但是还稍有缺憾,就是无法快速定位到某个包。如果你有多个配置文件,那么你想修改某个包的配置时,还需要在多个配置文件里去搜索的话,那效率就很差了。所以我在use-package之外advice了一层函数,用于辅助包的快速跳转,只要你输入想要配置的包的名字,可以自动跳转过去,非常方便快捷。 首先,必须要启用 package,如果没有 use-package,那么得先安装上: (require 'package) (setq package-enable-at-startup nil) (setq package- ...
Read more »

《Hive编程指南》读书笔记

Posted on 2013-12-31 |
Hive cli配置文件 ~/.hiverc set hive.cli.print.current.db=true; # 在cli里显示当前db名 set hive.cli.print.header=true # 输出表头 set hive.exec.mode.local.auto=true; # 启动本地模式,尽量不启动map reduce set hive.auto.convert.join=true; # 启动map-side JOIN set hive.mapjoin.smalltable.filesize=25000000; # map-side JOIN表需要小于25M Hive cli里可以直接执行dfs命令。比如 dfs -ls /; Hive数据库所在目录由属性 hive.metastore.warehouse.dir 指定,数据库中的表会以子目录的形式存储。默认位置在 /user/hive/warehouse,当此时创建数据库financials ...
Read more »

《Hbase权威指南》阅读笔记

Posted on 2013-11-12 |
本书代码:https://github.com/larsgeorge/hbase-book 1 简介 hbase是按照bigtable模型实现的,是一个稀疏的、分布式的、持久化的、多维的映射,由行键、列键和时间戳索引。 (Table, RowKey, Family, Column, Timestamp) -> Value 一行由若干 列 组成,若干列又构成一个列族(Column Family),这不仅有助于构建数据的语义边界,也有助于给它们设置某些压缩特性,或指示它们存在在内存中。一个列族的所有列存储在同一个底层存储文件里,即 HFile。 一个列族的所有列成员是有着相同的前缀。比如,列 courses:history 和 courses:math 都是 列族 courses的成员。冒号(:)是列族的分隔符,用来区分列族(列的前缀)和列。列族必须是可打印的字符(对应HFile文件名),剩下的部分(对应列,也称为qualify),可以由任意字节数组组成。列族必须在表建立的时候声明。column就不需要了,随时可以新建。 在物理上,一个的列族成员在文件系统上都是存储在一 ...
Read more »

计算广告的Auction机制

Posted on 2013-08-08 |
竞价(Auction)是竞价广告区别于搜索和推荐的重要特点,因为广告涉及平台、用户和流量三方,是一个商业系统,而良好的竞价机制设计是让这个商业系统顺利运转的关键。 Auction是种博弈 Auction是广告系统售卖流量的一种重要方式,而Auction机制的好坏很大程度决定了广告这个经济系统是否正常稳定运转,以及各方收益是否最优合理。 Auction Theory Branch of Game Theory that deals with how participants (players) act in Auction markets. 为了便于理解博弈论(Game Theory),这里拿最常见的石头(rocks)剪刀(scissors)布(paper)的猜拳游戏来说,player的策略规则如下: RSP Rock Scissors Paper Rock 0 1 -1 Scissors ...
Read more »

Explore & Exploit

Posted on 2013-08-04 |
推荐广告或推荐系统领域的EE问题: Explore 探索用户兴趣,或者避免算法走入死胡同。 Exploit 确定了用户兴趣,然后推荐与之相关的内容。 对于固定流量来说,Exploit的这部分流量显然会产生收益,而Explore不一定能立刻就有收益。所以,如何分配E&E流量,最大化收益是值得研究的内容。 E&E一般常等同于多臂老虎机问题(Multi-armed bandit problem)进行解决。 累积后悔 累积后悔(Cumulative Expected Regret)可以来评估bandit算法,或其他一些在线学习算法。 多arm的回报可以看作一组真实的随机分布:$B=( R_i,\dots,R_K )$,其中,$K$代表arm。 设 $\mu_1,\dots,\mu_K$ 代表每个arm的平均回报,每一轮拉动一个arm得到一次回报。多arm问题等同于一个状态的马尔科夫问题。 设$T$轮之后的后悔度为 $\rho$,则可以表示如下: \[\rho = T\mu^* - \sum_{t=1}^T \hat{r_t}\] 其中,$\mu^ ...
Read more »

《计算广告学》学习

Posted on 2013-07-30 |
广告的基本知识 广告(Advertising) 广告是由已确定的出资人通过各种媒介进行的有关产品(商品、服务和观点)的,通常是有偿的、有组织的、综合的、劝服性的非人员的信息传播活动。 广告的主体: 出资人(sponsor) 即广告主(advertiser) 媒介(medium) 受众(audience) 广告的本质功能:是借助某种有广泛受众的媒体的力量,完成较低成本的用户接触(reach) 广告 vs 推荐 广告系统和推荐系统很类似,但也有很大区别。 一个例子:同一广告位同样广告内容的情况下,文字链广告点击率通常大于图片广告,但对推荐来说,图片的推荐效果远远好于单纯的文字推荐。 广告的有效性模型 在线广告的两个评价指标:CTR和CVR (RPM和ROI呢?) 在线广告的特点:精细的受众定向 + 以精确计算为中心 标准化:进行受众定向之后,广告售卖方式由广告位为载体变成以人群为载体。所以希望广告本身的格式、尺寸大小是标准化的。 效果广告 vs 品牌广告:评价指标?收费方式?不同的媒体? 在线广告市场 需求方 (Demand) ...
Read more »

置信区间估计

Posted on 2013-04-21 |
问题示例: 已知样本数据,求解置信区间 【例】一家保险公司收集到36个投保人组成的随机样本,得到每个投保人的年龄,试建立投保人平均年龄90%的置信区间。 求解抽样样本容量 【例】根据某城市一次900户随机抽样调查结果,被调查家庭在过去一年中耐用消费品的购买额均值为450元。根据经验估计标准差为120,如果置信系数为0.95且误差在4.5户之内,问样本量应该确定为多少? 基本概念 虚拟假设、零假设、H0、Ho(Null hypothesis) 对立假设、折备假设、H1、Ha(Alternative hypothesis) 一型错误(Type I error) FP 二型错误(Type II error) FN 犯一型错误的概率,称为显著性水平(Significance level): \[α = P(\mbox{Type I error}) = P(\mbox{reject H0} | \mbox{H0 is true})\] 犯二型错误的概率: \[β = P(\mbox{Type II error}) = ...
Read more »
1 2 3 4 … 19
Julian Qian

Julian Qian

记录编程、Hack和自娱自乐的一些玩意。

189 posts
60 tags
RSS
Creative Commons
© 2024 Julian Qian
Powered by Jekyll
Theme - NexT.Mist