- 博客(56)
- 收藏
- 关注
原创 Embedding在推荐系统中的应用(DeepFM算法)
一、DeepFM算法DeepFM = FM + DNN: 提取低阶(low order)特征 => 因子分解机FM 既可以做1阶特征建模,也可以做2阶特征建模 提取高阶(high order)特征 => 神经网络DNN end-to-end,共享特征输入 对于特征i,wi是1阶特征的权重, Vi表示该特征与其他特征的交互影响,输入到FM模型中可以获得特征的2阶特征表示,输入到DNN模型得到高阶特征。二、推荐系统应用在推荐系统中,可以通过Embedding向量进行快速召回 向量化召回,
2021-08-22 18:44:03
634
原创 基于流行度的推荐
一、流行度(Popularity)内容的流行程度,也称之为热度,最常见的是将榜单中热度的内容推荐给用户(微博热搜,TopN商品)基于流行度的推荐是围绕流行度计算产生的推荐模型(不仅是TopN) 解决冷启动问题 => 根据流行度来推荐商品的算法,也就是什么内容吸引用户,就给用户推荐什么内容流行度是对商品热度的一种衡量方式,是否对推荐结果有效,还需要具体分析二、认知流行度流行度的衡量:流行度有多种度量的方式,可粗可细一段时间内的:总数Count,相对值Ratio,可能性Poss
2021-08-15 16:59:16
3870
原创 LSH 近似最近邻查找
一、什么是近似最近邻查找NN与ANN NN,Nearest Neighbor Search,最近邻查找问题KNN,K-Nearest Neighbor,k最近邻,查找离目标数据最近的前k个数据项ANN,Approximate Nearest Neighbor,近似最近邻检索,在牺牲可接受范围内的精度的情况下提高检索效率最近邻检索是线性复杂度的,当处理大规模数据时可以采用ANN方法LSH,局部敏感哈希是ANN的一种二、什么是Hash主要的索引技术:基于树的索引技术(二叉树,
2021-08-08 20:20:58
1001
原创 Wide & Deep算法
一、模型介绍推荐系统的挑战是 memorization与generalizationmemorization,记忆能力,学习items或者features之间的相关频率,在历史数据中探索相关性的可行性generalization,泛化(推理)能力,基于相关性的传递,去探索一些在过去没有出现过的特征组合结合线性模型的记忆能力和DNN模型的泛化能力,在训练过程中同时优化两个模型的参数二、模型1、Wide推荐: 系统通过获得用户的购物日志数据,包括用户点击哪些商品,购...
2021-08-01 17:20:28
316
原创 FM算法详解
一、FM算法因为计算量大,一般FM采用2阶特征组合的方式实际上高阶/非线性的特征组合适合采用深度模型 是FM的核心思想,使得稀疏数据下学习不充分的问题也能得到充分解决 => 可提供的非零样本大大增加二、FM算法的应用场景三、libFM算法使用libFM自带的libsvm格式转换triple_format_to_libfm.pl (perl文件)-target 目标变量-delete_column 不...
2021-07-25 23:17:10
1252
原创 关于用户画像
一、用户画像的准则Step1、统一标识 用户唯一标识是整个用户画像的核心Step2、给用户打标签 用户标签的4个维度Step3、基于标签指导业务 业务赋能的3个阶段二、用户标签都有哪些维度八字原则:用户消费行为分析用户标签:性别、年龄、地域、收入、学历、职业等消费标签:消费习惯、购买意向、是否对促销敏感行为标签:时间段、频次、时长、收藏、点击、喜欢、评分 (User Behavior可以分成Explicit Behavior和Implicit Behavior)...
2021-07-18 17:28:29
380
原创 关联规则学习
一、支持度、置信度和提升度支持度:是个百分比,指的是某个商品组合出现的次数与总次数之间的比例。支持度越高,代表这个组合出现的频率越大。“牛奶”的支持度=4/5=0.8“牛奶+面包”的支持度=3/5=0.6。 订单编号 购买的商品 1 牛奶、面包、尿布 2 可乐、面包、尿布、啤酒 3 牛奶、尿布、啤酒、鸡蛋 4
2021-07-11 20:57:34
677
原创 推荐系统介绍
一、分类1、Content-based Filtering最早人们使用的是基于内容的推荐方法,根据物品的属性为他们打上标签 再通过这些标签计算他们之间的相似度2、Collaborative Filtering协同过滤就是通过数据找到与你相似的用户,通过他们的行为和他们喜欢的内容。为你推荐你可能感兴趣的物品或内容3、用户行为:显性反馈数据:用户明确表示对物品的喜欢行为:评分,喜欢,收藏,购买隐性反馈数据:不能明确反映用户喜好的行为:浏览,停留时间,点击二、相似度1、
2021-07-04 19:08:16
274
原创 VRP问题
一、关于vrp问题车辆路径问题,可以看成旅行商问题的推广有N辆车,都从原点出发,每辆车访问一些点后回到原点,要求所有的点都要被访问到,求最短的车辆行驶距离或最少需要的车辆数Thinking:有哪些应用领域,适用于VRP问题快递公司,给司机分配送货线路 拼车软件,为司机分配接送乘客的路线常见的限制要求: 车辆具有可携带的最大重量或数量司机需要在指定时间窗口内访问某位置 点的访问顺序等二、VRP问题的流程:使用RoutingModel进行路径规划管理1)设置城市个数,车辆
2021-06-27 23:00:32
10122
2
原创 启发式算法
一、什么是启发式算法相对于最优化算法提出的,一个问题的最优算法求得该问题每个实例的最优解启发式算法可以这样定义:一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度一般不能被预计一般用于解决NP-hard问题,其中NP是指非确定性多项式常用的算法有:模拟退火算法(SA)、遗传算法(GA)、蚁群算法(ACO)、人工神经网络(ANN)对于NP Hard问题,可行时间内在各空间中找到全局最优解的可能性很小,需
2021-06-13 22:01:27
3495
原创 常见规划问题2
一、Ortools使用线性规划,默认使用GLOP整数规划,默认使用CBC(Coin-or branch and cut),还包括SCIP、GLPK、Gurobi等开源求解器,在计算性能和规模上弱于商业求解器,适用于中小企业及普通问题ortools: 整数规划求解器,默认使用CBC(Coin-or branch and cut),还包括SCIP、GLPK、Gurobi等Solver创建 solver = pywraplp.Solver.CreateSolver('SCIP')变量设置
2021-06-06 20:06:30
378
原创 常见规划问题
一、规划问题LP:Linear Programming 线性规划 研究线性约束条件下线性目标函数的极值问题ILP:Integer Linear Programming 整数线性规划 全部决策变量必须为整数MIP:Mixed Integer Programming 混合整数规划 混合整数规划是LP的一种,其中部分的决策变量是整数(不要求全部都是整数)VRP:Vehicle Routing Problem 车辆路径问题二、规划工具pulp 只用于线性模型,包括如整数规划、01规划,还是混
2021-05-30 20:01:04
1398
原创 基于评分卡的风控模型开发
Project:基于评分卡的风控模型开发一、基本信息– 基本属性:包括了借款人当时的年龄– 偿债能力:包括了借款人的月收入、负债比率– 信用往来:两年内35-59天逾期次数、两年内60-89天逾期次数、两年内90天或高于90天逾期的次数– 财产状况:包括了开放式信贷和贷款数量、不动产贷款或额度数量。– 其他因素:包括了借款人的家属数量– 时间窗口:自变量的观察窗口为过去两年,因变量表现窗口为未来两年二、开发流程Step1,数据探索性分析 违约率分析 缺失值分析 对于某个字
2021-05-23 14:52:06
233
原创 评分卡模型
一、评分卡模型:1、评分卡模型是常用的金融风控手段之一 风控,就是风险控制,我们采取各种措施和方法,减少风险发生的可能性,或风险发生时造成的损失2、根据客户的各种属性和行为数据,利用信用评分模型,对客户的信用进行评分,从而决定是否给予授信,授信的额度和利率,减少在金融交易中存在的交易风险3、按照不同的业务阶段,可以划分为三种:贷前:申请评分卡(Application score card),称为A卡贷中:行为评分卡(Behavior score card),称为B卡贷后:催收评分卡(
2021-05-16 22:51:04
877
原创 评分卡模型
一、评分卡模型介绍评分卡模型是常用的金融风控手段之一 风控,就是风险控制,我们采取各种措施和方法,减少风险发生的可能性,或风险发生时造成的损失 根据客户的各种属性和行为数据,利用信用评分模型,对客户的信用进行评分,从而决定是否给予授信,授信的额度和利率,减少在金融交易中存在的交易风险 按照不同的业务阶段,可以划分为三种: 贷前:申请评分卡(Application score card),称为A卡 贷中:行为评分卡(Behavior score card),称为B卡
2021-04-25 19:05:33
6999
原创 AlphaGo实战一
一、MCTS算法树结构:树结构定义了一个可行解的解空间,每一个叶子节点到根节点的路径都对应了一个解(solution)蒙特卡洛方法:MSTC不需要事先给定打标样本,随机统计方法充当了驱动力的作用,通过随机统计实验获取观测结果损失评估函数:提供一个可量化的确定性反馈,用于评估解的优劣 => MCTS是通过随机模拟寻找损失函数代表的背后“真实函数”反向传播线性优化:每次获得一条路径的损失结果后,采用反向传播(Backup)对整条路径上的所有节点进行整体优化启发式搜索策略:算法遵循损失最
2021-03-14 10:07:39
318
原创 Airbnb个性化推荐
一、Aribnb个性化推荐1、Real-time Personalization using Embeddings for Search Ranking at Airbnb2、网址:https://www.kdd.org/kdd2018/accepted-papers/view/real-time-personalization-using-embeddings-for-search-ranking-at-airbnb二、主要使用场景特征特征:1、大部分的用户很少会多次预定同一类型的房间
2021-02-21 11:43:15
716
原创 基于周期因子的时间序列预测
一、基于周期因子的时间序列预测1、场景很多数据都具有周期性,比如客流量、支付需要确定周期长短, 比如一周,一个月,结合STL分解 观察周期变化2、缺点 没有考虑到节假日、突发事件情况3、STL分解介绍将时序图拆解为Trend+Sensoinnal+Residual4、时间序列规则选择特征,可以用简单统计量来作为特征,从中提取出有用的信息a、中位数、均值b、临近数据,距离待测数据越近的数据对齐影响越大二、预测步骤假设给任务是根据前三周的数据预测第四周每天..
2021-01-29 17:16:11
2457
1
原创 时间序列预测之Prophet
一、ARIMA进行预测的缺点 1、ARMA 要求时序数据是稳定的,显示数据很难符合 2、ARIMA 模型为线性模型,无法处理非线性的关系,同事要求数据间隔等长 3、如果数据丢失,需要使用插值等方法预估缺失值,然后使用预估值进行参数拟合,这样会引入噪音二、prophet 模型引入 1、prophet基于相加模型的时间预测,可以精准拟合非线性周期趋势 2、对yearly、weakly和daily的周期性使用非线性拟合,可以很好的对节日(比如十一、...
2021-01-21 20:28:35
3002
原创 时间序列预测
一、统计工具statsmodelsstatsmodels工具提供了 统计计算,包括描述性统计、统计模型的估计和推断子模块:1、回归模型: 线性回归、广义线性模型、线性混合效应模型2、方差分析:(ANOVA)通过分析研究不同来源的变异对总变异的贡献大小,从而确定可控因素对研究结果影响力的大小3、时间序列分析:AR、ARMA、ARIMA包名:import statsmodels.api as sm# 使用tsa对沪市指数进行分析:trend, seasonal, residua..
2020-12-28 17:43:45
1142
2
原创 cocos2dx-lua 对lua项目中class(sub,super)的理解
lua 模拟面向对象的继承通常是通过class方法,今天简析一下对class的理解,先例子local MyApp = class("MyApp", cc.load("mvc").AppBase)这是MyApp里的一个方法继承语句,class方法内部两个参数,一个是新建类简称A ,另一个是require的A继承的父类的文件简称B,这句代码可以使得生成的A类继承B类后返回名为MyApp的
2017-02-06 22:52:42
4595
原创 脚本工具笔记之自动删除废弃资源
今天分享大家一份自动删除资源的脚本,脚本语言 python。 场景:在项目进行过n次资源迭代后,项目中会残留很多废弃不用的资源,它们使包体增大,增长在迭代中资源管理的时间。 需求:1.自动删除lua中没有进行引用 2.界面编辑器(.csb)中没有用到 3.静态配表中没有用到。
2016-01-07 18:42:28
855
原创 2016虚拟现实产业链格局将铺设
第10位:智能家庭平台智能家庭已经存在,只是它们分散成不同的产品,要整合面临巨大挑战。Zigbee、Z-Wave和Thread等技术企业正在推动各产品的整合,而大企业则忙着控制整个平台解决方案。2016年,三星SmartThings、苹果HomeKit和Google Brillo都将缓慢发展,而更专业的Nest、Hive、Canary等都将决定选择哪个系统。 第9位:苹果Watch
2015-12-27 18:43:54
367
原创 cocosIDE(Mac)跑项目报路径文件找不到!
quick-lua 用cocosIDE的最大好处在于,它可以给lua断点,这是一件极具诱惑力的事情,然而,在用惯了sumbline的同学第一次用cocosIDE总会遇到这样那样的问题,我这类总结了几点,
2015-12-25 15:54:35
908
原创 脚本工具笔记之资源替换工具
大家好,今天是圣诞节,在此分享一下开发经验!作为软件开发,为自己量身定做一系列的工具是非常必要的,最近在学习时间管理,书上说,要时间用在能产生生产力的地方,那么怎样提高效率、减少误操作就摆在开发路上的两大问题,“机器能做的,绝对不要让人来做”,这句话应该是每个开发人员的座右铭。脚本省去了人力,减少了操作,解放了双手,避免了重复操作和误操作,何乐而不为呢!下面分享一段shell脚本,脚本作用
2015-12-25 15:02:04
589
转载 c++关于封装、接口的简单理解
类是 面向对象程序设计语言中的一个概念。类是对某个对象的定义。它包含有关对象动作方式的信息,包括它的名称、方法、属性和事件。类成员有3种不同的访问权限: 1)公有( public )成员可以在类外访问。 2)私有( private )成员只能被该类的成员函数访问。 3)保护( protected )成员只能被该类的成员函数或派生类的成员函数访问。 数据成员通常是私有的,成员函
2014-03-29 10:54:11
2594
转载 c++中assert()函数的解释
assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息,然后通过调用 abort 来终止程序运行。请看下面的程序清单badptr.c:include
2014-03-28 09:57:38
408
原创 简单u3d脚本lable
using UnityEngine;using System.Collections;public class demo : MonoBehaviour { public Texture image; // Use this for initialization void Start () { } // Update is called once per frame v
2014-02-19 14:29:49
283
转载 cocos2dx中的CCRect类
class CC_DLL CCRect : public CCObject { public: //CCRect的原点 CCPoint origin; //CCRect的大小 CCSize size; public: //构造函数 CCRect(); CCRect(float x, float
2014-02-19 11:37:39
2656
转载 一篇好文章关于onEnter与addTargetedDelegate
cocos2dx 不要直接在 onEnter 里面 addTargetedDelegate (或 addStandardDelegate) 今天看别人 cocos2d 代码的时候发现个怪现象, 整个工程里面 没有 setTouchEnabled(true) 这样的代码, 但是程序跑起来的时候却可以响应 触屏事件。于是下断点跟踪啊跟踪,发现 m_bIsTouchEnabled
2014-02-19 11:14:04
397
转载 cocos2dx,关于CCArray的基本用法
一.基本用法1.声明初始化变量C++123cocos2d::CCArray* pArray;pArray=CCArray::createWithCapacity(100);pArray->retain();//如果保留成员变量的话,此处必须retain,否则会
2014-02-18 10:04:30
1170
转载 cocos2dx里的格式刷CCString
在做数据转换时,最好包含以下头文件#include #include #include #include USING_NS_CC;using namespace std;在2d-x中,也有一个格式刷:CCString(数据转换常常找她做中间人)那么我们要转换类型,可先将起始数据类型刷成CCString然后再转成目的数据类型,这个方法比较方便且实
2014-02-18 09:22:44
365
转载 cocos2dx看懂CCAnimate
动画里的update,代码如下 class CCTexture2D;//序列帧动画class CC_DLL CCAnimate : public CCActionInterval{public://构造与析构。 CCAnimate(); ~CCAnimate(); //初始化动画。 bool initWithAnim
2014-02-17 12:51:53
355
原创 registerWithTouchDispatcher 注册触屏事件
1、注册触屏事件registerWithTouchDispatcherCCDirector::sharedDirector()->getTouchDispatcher()->addTargetedDelegate();addTargetedDelegate()主要用于单点触控 virtual void ccTouchesBegan(CCSet *pTouches, CCEv
2014-02-17 10:10:00
691
原创 深入了解CCSprite::create
首先看一下cocos2dx的原代码CCSprite* CCSprite::create(const char *pszFileName)//需要传递字符串型的文件名称作为参数{ CCSprite *pobSprite = new CCSprite();//创建精灵对象 if (pobSprite && pobSprite->initWithFile(pszFileName))
2014-02-13 20:49:16
763
转载 C++ CREATE FUNC的函数
函数实现create,/** * define a create function for a specific type, such as CCLayer * @__TYPE__ class type to add create(), such as CCLayer */#define CREATE_FUNC(__TYPE__) \static __TYPE__* cre
2014-02-13 16:22:47
1856
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人