在线最优化求解(Online Optimization)之一:预备篇 动机与目的 在实际工作中,无论是工程师.项目经理.产品同学都会经常讨论一类话题:“从线上对比的效果来看,某某特征或因素对xx产品的最终效果有很大的影响”.这类话题本质上说的是通过已有的数据反映出某些特定的因素对结果有很强的正(或负)相关性.而如何定量计算这种相关性?如何得到一套模型参数能够使得效果达到最优?这就是最优化计算要做的事情. 举一类典型点的例子:在推荐和广告计算中,我们经常会需要对某些值进行预测,例如在一条推荐或广告…
在线最优化求解(Online Optimization)之二:截断梯度法(TG) 在预备篇中我们做了一些热身,并且介绍了L1正则化在Online模式下也不能产生较好的稀疏性,而稀疏性对于高维特征向量以及大数据集又特别的重要.因此,从现在开始,我们沿着提升模型稀疏性的主线进行算法介绍. 为了得到稀疏的特征权重 ,最简单粗暴的方式就是设定一个阈值,当的某维度上系数小于这个阈值时将其设置为称作简单截断).这种方法实现起来很简单,也容易理解.但实际中(尤其在OGD里面)的某个系数比较小可能是因为该维度训…
在线最优化求解(Online Optimization)之五:FTRL 在上一篇博文中中我们从原理上定性比较了L1-FOBOS和L1-RDA在稀疏性上的表现.有实验证明,L1-FOBOS这一类基于梯度下降的方法有比较高的精度,但是L1-RDA却能在损失一定精度的情况下产生更好的稀疏性.那么这两者的优点能不能在一个算法上体现出来?这就是FTRL要解决的问题. FTRL(Follow the Regularized Leader)是由Google的H. Brendan McMahan在2010年提出…
在线最优化求解(Online Optimization)之四:RDA 不论怎样,简单截断.TG.FOBOS都还是建立在SGD的基础之上的,属于梯度下降类型的方法,这类型方法的优点就是精度比较高,并且TG.FOBOS也都能在稀疏性上得到提升.但是有些其它类型的算法,例如RDA从另一个方面来求解Online Optimization并且更有效地提升了特征权重的稀疏性.RDA(Regularized Dual Averaging)是微软十年的研究成果.RDA是Simple Dual Averaging…
在线最优化求解(Online Optimization)之三:FOBOS FOBOS (Forward-Backward Splitting)是由John Duchi和Yoram Singer提出的[11].从全称上来看,该方法应该叫FOBAS,但是由于一开始作者管这种方法叫FOLOS(Forward Looking Subgradients),为了减少读者的困扰,作者干脆只修改一个字母,叫FOBOS. 1. 算法原理 在FOBOS中,将权重的更新分为两个步骤:   公式 (1) 前一个步骤实际…
原文:jQuery在线选座订座(影院篇) 我们在线购票时(如电影票.车票等)可以自己选座.开发者会在页面上列出座次席位,用户可以一目了然的看到可以选择的座位及支付.本文以电影院购票为例,为您展示如何选座.处理选座数据等. 在这里,我给大家介绍一款基于jQuery的在线选座插件:jQuery Seat Charts,它支持自定义座位类型和价格,支持自定义样式,支持设置不可选的座位,也支持键盘控制座位. 点击这里查看演示 HTML 我们假设进入电影<星际穿越>的选座页面,页面布局请看上面的大图,页…
iKcamp官网:http://www.ikcamp.com 访问官网更快阅读全部免费分享课程:<iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享>. 包含:文章.视频.源代码 第二章:小程序中级实战教程之预备篇   项目结构设计 教学视频地址:https://v.qq.com/x/page/q05544lzelw.html 开始前请把 ch2-1 分支中的 code/ 目录导入微信开发工具   前面的章节中,我们完成了小程序的准备工作,熟悉了小程序的基本…
前言 最新想学习一下Spring源码,开篇博客记录下学习过程,欢迎一块交流学习. 作为预备篇,主要演示搭建一个最简单的Spring项目样例,对Spring进行最基本梳理. 构建一个最简单的spring项目 Spring中最核心的Jar包有四个:spring-beans.spring-context.spring-core.spring-expression. 以前做spring项目有个误区,什么包都一个个导入进来,其实一个最最简单的Spring项目,理论上就需要引入一个jar包spring-co…
​C语言介绍 C语言基本是每个编程人员必学的一面语言,很好掌握,是理解编程的关键.很多编程语言基于其编写或者基于此语言的衍生品编写. C语言是人机交互的一个基础语言之一,虽然是之一,单一般其实就是唯一. 偶尔用汇编 其他非C的我没见过,理论上是存在的.没有C之前大家用的,有了C之后估计就少了. 有了计算机操作基础,可以学习编程了,推荐从C语言开始学习,使用这本书进行学习<C程序设计语言>,此书是C语言的作者编写就知道是多么的权威了,同时此书有英文版本<C程序设计语言(英文版)>,建…
拓扑是研究几何图形或空间在连续改变形状后还能保持不变的一些性质的一个学科.它只考虑物体间的位置关系而不考虑它们的形状和大小. 拓扑是集合上的一种结构. 拓扑英文名是Topology,直译是地志学,最早指研究地形.地貌相类似的有关学科.几何拓扑学是十九世纪形成的一门数学分支,它属于几何学的范畴. “代数拓扑的基本观点:几何对象的代数照相.这种照相是用范畴与函子的语言来表达的.” ——姜伯驹 范畴和函子(尤其是函子)主要是由代数拓扑引出的概念,主要目的是用一种更抽象统一的语言来描述关于拓扑空间的不变…