2017.02.28回顾 gbdt预测值更新 np数组取反

70 篇文章 0 订阅
20 篇文章 0 订阅

1、对决策引擎做了一些审批阈值的调整

2、继续对GBDT进行研究,研究了预测值如何更新的问题,我当初简单以为是用叶子节点的样本平均值表示预测值,昨天仔细跟了代码,才知道是用叶子节点样本的残差和除以一个以残差、y为输入的式子,sum(residual)/sum((y-residual)*(1-y+residual))这个就是所谓的牛顿迭代法求解,这个值的数量级整体趋势为什么会越来越小?(这个是我问题最初的出发点)我还不能证明。我后来又研究了一点,以1、0定义的二分类问题,损失函数求梯度,恰好就是y-expit(F),也就是代码中所谓的residual,这个残差就是梯度。所以建树是以friedman-mse的准则去建树,但是怎么计算预测值和loss有关,因为是loss求梯度,梯度在做个所谓的line search,衍生出的式子需要用牛顿迭代法求解。

3、了解了一个新的numpy array的用法

masked_terminal_regions = np.array([2,3,4,5])
sample_mask = np.array([True,True,True,True])
print masked_terminal_regions
print type(masked_terminal_regions)
masked_terminal_regions[~sample_mask] = -1
print masked_terminal_regions
~sample_mask是取反的意思,True变False,False变True,masked_terminal_regions和sample_mask结构相同,一一对应的,masked_terminal_regions[~sample_mask]会把对应True位置的令成-1,但是如果sample_mask是np.array([1,1,1,1]),结果会不太一样,我并么深究

4、下一步研究清楚line_search,应该就打通了整条脉络

5、节奏不能乱,执行力要拿出来,星期二晚上按计划是运动,但运动量太小,不应该wow,今天不WOW了,运动,今天去club动起来!执行力!执行力!执行力!有些动作不想做也要逼迫自己去做!没办法!就该做那些事情!执行力!合理利用碎片时间!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值