gbdt原理

分类,回归, 特征提取

基函数的线性组合, 训练过程产生的残差,达到数据分类或者回归的目的

每个 分类器在上个分类器残差的基础上进行迭代 ??残差基础上进行迭代什么意思
?? 残差就是当前模型的 负梯度值
每轮迭代产生弱分类器, 弱分类器的要求是 低方差,高偏差 ??高偏差如何理解 , 低方差高偏差,指的是谁的低方差,谁的高偏差 ?? 每轮迭代 如何理解

每轮训练 得到的弱分类器加权求和得到

?? 如果是 线性 组合 基函数, 那么 如果是分类正确,残差不大 ,怎么处理 呢
0-1损失 函数?? 对数损失函数

??损失函数的负梯度

gbdt 弱分类器:cart tree, 也可以选择其他,特征是 低方差,高偏差

cart tree 生成过程,就是 特征选择过程
特征 j的值小于m,归为1一类,大于m,归为另一类

逻辑回归处理线性数据,处理非线性数据,方法之一是确定不同的特征组合

gbdt产生有效的特征组合,以便于逻辑回归的训练,提升模型最终的效果

#找到每一个点的切分点feature,split
#x表示训练数据, y表示labele, x[i] 表示训练 数据的第i个特征,x_i表示第i个训练样本
def findLossAndSplit(x,y):

minLoss=Integer.max_value  #找到每个特征,每个切分点下的最小loss,以便确定 某个特征下的最佳 切分点
feature=0
split=0
for j in range(0,M):
	L=0
	for c in range(0,x[j]):
	    R1={x|x[j]<=c}
	    R2={x|x[j]>c}
	    y1=ave{y|x 属于 R1}
	    y2=ave{y|x 属于 R2}
	    for x_1  in all_x:
	    	if x in R1:
	    		L+=(y_1-y1)^2
	    	elif x in R1:
	    		L+=(y_2-y2)^2

	    if L<minLoss:
	    	feature=j
	    	split=c
	    	minLoss=L

1 def findLossAndSplit(x,y):
8 minLoss = Integet.max_value
9 # feature 表示是训练的数据第几纬度的特征
10 feature = 0
11 # split 表示切分点的个数
12 split = 0
13
14 # M 表示 样本x的特征个数
15 for j in range(0,M):
16 # 该维特征下,特征值的每个切分点,这里具体的切分方式可以自己定义
17 for c in range(0,x[j]):
18 L = 0
19 # 第一类
20 R1 = {x|x[j] <= c}
21 # 第二类
22 R2 = {x|x[j] > c}
23 # 属于第一类样本的y值的平均值
24 y1 = ave{y|x 属于 R1}
25 # 属于第二类样本的y值的平均值
26 y2 = ave{y| x 属于 R2}
27 # 遍历所有的样本,找到 loss funtion 的值
28 for x_1 in all x
29 if x_1 属于 R1:
30 L += (y_1 - y1)^2
31 else:
32 L += (y_1 - y2)^2
33 if L < minLoss:
34 minLoss = L
35 feature = i
36 split = c
37 return minLoss,feature ,split

欢迎使用Markdown编辑器

你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。

新的改变

我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:

  1. 全新的界面设计 ,将会带来全新的写作体验;
  2. 在创作中心设置你喜爱的代码高亮样式,Markdown 将代码片显示选择的高亮样式 进行展示;
  3. 增加了 图片拖拽 功能,你可以将本地的图片直接拖拽到编辑区域直接展示;
  4. 全新的 KaTeX数学公式 语法;
  5. 增加了支持甘特图的mermaid语法1 功能;
  6. 增加了 多屏幕编辑 Markdown文章功能;
  7. 增加了 焦点写作模式、预览模式、简洁写作模式、左右区域同步滚轮设置 等功能,功能按钮位于编辑区域与预览区域中间;
  8. 增加了 检查列表 功能。

功能快捷键

撤销:Ctrl/Command + Z
重做:Ctrl/Command + Y
加粗:Ctrl/Command + B
斜体:Ctrl/Command + I
标题:Ctrl/Command + Shift + H
无序列表:Ctrl/Command + Shift + U
有序列表:Ctrl/Command + Shift + O
检查列表:Ctrl/Command + Shift + C
插入代码:Ctrl/Command + Shift + K
插入链接:Ctrl/Command + Shift + L
插入图片:Ctrl/Command + Shift + G
查找:Ctrl/Command + F
替换:Ctrl/Command + G

合理的创建标题,有助于目录的生成

直接输入1次#,并按下space后,将生成1级标题。
输入2次#,并按下space后,将生成2级标题。
以此类推,我们支持6级标题。有助于使用TOC语法后生成一个完美的目录。

如何改变文本的样式

强调文本 强调文本

加粗文本 加粗文本

标记文本

删除文本

引用文本

H2O is是液体。

210 运算结果是 1024.

插入链接与图片

链接: link.

图片: Alt

带尺寸的图片: Alt

居中的图片: Alt

居中并且带尺寸的图片: Alt

当然,我们为了让用户更加便捷,我们增加了图片拖拽功能。

如何插入一段漂亮的代码片

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

// An highlighted block
var foo = 'bar';

生成一个适合你的列表

  • 项目
    • 项目
      • 项目
  1. 项目1
  2. 项目2
  3. 项目3
  • 计划任务
  • 完成任务

创建一个表格

一个简单的表格是这么创建的:

项目 Value
电脑 $1600
手机 $12
导管 $1

设定内容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列 第二列 第三列
第一列文本居中 第二列文本居右 第三列文本居左

SmartyPants

SmartyPants将ASCII标点字符转换为“智能”印刷标点HTML实体。例如:

TYPE ASCII HTML
Single backticks 'Isn't this fun?'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值