机器学习(台湾李宏毅版)学习笔记 gradient descent

       梯度下降属于线性回归的一个重要的部分。但是这种方法具有局限性,在一般的情况下,并不能保证找到的局部最小就是全局最小。所以这种方法适用于目标函数是凸函数的情况(local minimum == global minimum)。即使是在凸函数中也不能保证最后找到的点就是最小值,这取决于算法的中止条件(即变化率小于一个定值)和所取的参数λ。所以算法很可能在找到一个相对平滑而并非最小值的地方以后就终止。

       在梯度下降中,λ的选择尤为重要。λ偏大的话,算法会一直徘徊在最小值左右的两个点而陷入死循环;λ偏小的话,会导致梯度下降的速率偏慢。基于这种情况,我们不再将λ设置成为一个定值,而是随着算法不断变化。一般来说,我们选择先快后慢,即初始的λ较大,而第k次更迭的λ与k-1次的λ成正比,与1+k的开方成反比。现在考虑另一个问题:对于同一个特征X来说,若w1处的导数值大于w2处的导数值,那么在w1处移动的距离将会大于在w2处移动的距离,这样正好满足了我们对于梯度下降的要求,即越靠近可能是最小值的点时,移动的距离越小。但是对于所有的特征来说都通用吗?试想Y=1000X^2 这个函数,相当陡峭,即使是在靠近X=0这个点,附近的导数也很大,这样依然是很容易越过最小值点而陷入死循环。那么如何解决这个问题呢?我们注意到,这里涉及到了变化率的大小这个问题,也就是说λ的设置不仅与更迭的次数有关,还与该特征变化的快慢(即导数的大小)有关系。很明显,对于导数偏大的特征,我们需要降低下降的速率,对于导数偏小的特征,我们需要加快下降的速率。故第k次的λ还与前k-1次的导数平方的累加成反比,为了避免该值过大,我们取其均值的开方放在分母上。

       好的,当自由变量λ设置好以后,又出现了新的问题:如果一个特征的变化范围在10000到100000中,而另一个特征的变化范围在10^(-9)到10^(-8)中。这样的情况下,参数w的变化对于小范围的特征来说微乎其微,而对于大范围的参数来说,会更加放大w的变化。而且过大或者过小的特征的值,不仅会很大程度地影响梯度下降的速率,而且对于设定算法终止条件也很困难。所以需要进行feature scaling ,来消除特征本身范围对于梯度下降的影响。这样既保证了最后找到的点是全局相对平滑的点,又保证了梯度下降的速率和准确度。

那么, 如何来进行feature scaling 呢?其实方法有很多种,关键是控制放缩比例。常见的方法是:

       mi 是特征X的均值,σi 是特征X的标准差。这样一来,得到的所有例子的特征X的新值,均值为0,方差为1。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Gradient Boosting Regressor是一种强大的机器学习算法,但是需要进行超参数调整以获得最佳性能。以下是一些可能需要调整的超参数: 1. n_estimators:决定了要训练的树的数量,一般来说增加树的数量可以提高性能。但是增加树的数量也会增加计算时间,因此需要在准确性和计算成本之间进行权衡。 2. learning_rate:决定了每个树的贡献,较小的学习率可以使算法更加稳定,但是也需要更多的树才能达到相同的准确性。 3. max_depth:限制每个回归树的最大深度,可以避免过拟合,但是如果设置得太小,可能会导致欠拟合。 4. min_samples_split:决定了一个节点必须具有的最小样本数才能分裂,较小的值可以提高模型的复杂度,但也可能导致过拟合。 5. min_samples_leaf:决定了一个叶子节点必须具有的最小样本数,较小的值可以提高模型的复杂度,但也可能导致过拟合。 6. subsample:决定了每个树的训练集的比例,较小的值可以减少方差,但也可能导致偏差。 进行超参数调整的一种常见方法是使用网格搜索(Grid Search)或随机搜索(Random Search)。在网格搜索中,我们定义一个超参数的范围,并在该范围内尝试不同的超参数组合。在随机搜索中,我们定义超参数的分布,并从该分布中随机抽取超参数组合。然后,我们可以使用交叉验证来评估每个超参数组合的性能,并选择表现最佳的超参数组合。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值