- 提升(梯度)
- XGBoost
- Adaboost
- 安装xgboost
- 提升:是一个机器学习技术,可以用于回归和分类问题,它每一步产生一个弱预测模型(如决策树),并且加权累加到总模型中,如果每一步的弱预测模型生成都是依据损失函数的梯度方向,则称之为梯度提升(Gradient boosting)
–理论意义:如果一个问题存在弱分类器,则可以通过提升的方法得到强分类器 - 梯度提升算法:首先给定一个目标损失函数,其定义域是所有可行的弱函数集合(基函数),提升算法通过迭代的选择一个负梯度方向上的基函数来逐渐逼近局部最小值
- 过程:给定输入向量x和输出变量y组成的若干训练样本 ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . . , ( x n , y n ) (x_1,y_1),(x_2,y_2),....,(x_n,y_n) (x1,y1),(x2,y2),....,(xn,yn),目标是找到近似函数 F ^ ( x → ) widehat{F}(overrightarrow{x}) F (x ),使得损失函数 L ( y , F ( x ) ) L(y,F(x)) L(y,F(x))的损失值最小
- 假定
F
(
x
)
F(x)
F(x)是一组基函数
f
i
(
x
)
f_i(x)
fi(x)的加权和:
F ( x → ) = ∑ i = 1 M y i f i ( x ) + c o n s t F(overrightarrow{x})=sum_{i=1}^{M}y_if_i(x)+const F(x )=∑i=1Myifi(x)+const
其中 y i y_i yi为该基函数的权值 - 则最优函数为
F
∗
(
x
→
)
F^{*}(overrightarrow{x})
F∗(x
):
F ∗ ( x → ) = a r g m i n [ L ( y , F ( x → ) ) ] F^{*}(overrightarrow{x})=argmin[L(y,F(overrightarrow{x}))] F∗(x )=argmin[L(y,F(x ))]
–
L
(
y
,
F
(
x
)
)
L(y,F(x))
L(y,F(x))的典型定义为:
(1).
L
(
y
,
F
(
x
→
)
)
=
1
2
(
y
−
F
(
x
→
)
2
L(y,F(overrightarrow{x}))=frac{1}{2}(y-F(overrightarrow{x})^2
L(y,F(x
))=21(y−F(x
)2
若
F
(
x
→
)
F(overrightarrow{x})
F(x
)为常数,
F
(
x
→
)
F(overrightarrow{x})
F(x
)为样本均值
或
(2).
L
(
y
,
F
(
x
→
)
)
=
∣
y
−
F
(
x
→
)
∣
L(y,F(overrightarrow{x}))=|y-F(overrightarrow{x})|
L(y,F(x
))=∣y−F(x
)∣
若
F
(
x
→
)
F(overrightarrow{x})
F(x
)为常数,
F
(
x
→
)
F(overrightarrow{x})
F(x
)为样本中位数
– 为使得损失函数在训练集上的期望最小
最近安装XGBoost直接 pip install xgboost总是失败,上网查找得到解决方法。
解决方法1:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple xgboost(利用清华镜像)
解决方法2:直接从https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/win-64/ 下载对应的 压缩包,解压之后得到的 xgboost 放到 D:programfilesAnacondaenvstensorflowLibsite-packages 路径下 ,成功解决安装问题。
原文链接:https://blog.csdn.net/mtj66/article/details/78764295



