Kaggle Machine Learning 教程学习

Posted darkchii

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kaggle Machine Learning 教程学习相关的知识,希望对你有一定的参考价值。

 四、算法选择

  这一步骤让我很兴奋,终于谈到算法了,虽然没代码、没公式。因为教程君表示并不想过深的去探讨算法细节,于是着重于从算法的应用场景、算法的缺点、如何选择算法来纵向展开。

  我们的训练模型一般分为监督学习、无监督学习以及强化学习三种。教程中只提到了前两种,而训练算法又分为回归、分类以及聚类。其中回归与分类属于监督学习分,聚类属于无监督学习。

  教程中提到的适用于监督学习下的拟合算法:

    线性回归(Linear regression)、

    套索回归(Lasso regression)、

    岭回归(Ridge regression)、

    弹性网络正则化(Elastic net regularization)、

    p.s.逻辑回归(Logistic regression)。

  以及集成学习(Ensemble Learning)算法:

    集成算法是将多个分类器集成起来而形成的新的分类算法。又称元算法(meta-algorithm)。

    回归树(Regression Tree)、分类树(Classification Tree),统称CART。回归树是回归模型下的算法,分类树分类模型下的算法,它们都是一种决策树(Decision trees)。

    当集成模型是决策树时,一般有两种集成学习算法:随机森林(Random Forest)、梯度增强树(Gradient Boosted Tree)。

  1.回归

    线性回归使用最普遍的方法就是最小二乘法(Least Squares),最小二乘法的目标函数:

$$ min_{\omega}\space\space\space\Vert X_{\omega} - y \Vert_{2}^{2} $$

    虽然最小二乘是最常用的分析方法,然而,它有两个缺点:过拟合(overfitting)与不容易表达非线性(即离散)关系。

      (1)如何防止过拟合?比较好的方法就是对其加入正则化(regularization),其中常见的优化算法:索套回归(最小二乘法 + L1范数正则项(1阶范数))、岭回归(最小二乘法 + L2范数正则项(2阶范数))、弹性网正则化(L1 + L2范数正则项)。其中L1,L2范数正则项的系数叫做惩罚因子(penalty term)。

        Lasso的目标函数:

$$ min_{\omega}\space\space\space\frac{1}{2n}\Vert X_{\omega} - y \Vert_{2}^{2} + \alpha\Vert\omega\Vert_{1} $$

$$ 其中 \alpha 是常数(即惩罚系数),\Vert\omega\Vert_{1} 是L_{1}范数 $$。

        Ridge适用于训练模型发生过拟合、虚拟变量陷阱(第四篇提到过)等情况,Ridge的最小化目标函数:

$$ min_{\omega}\space\space\space\Vert X_{\omega} - y \Vert_{2}^{2} + \alpha\Vert\omega\Vert_{2}^{2} $$

$$ 这里 \alpha \geq 0 。 $$

         Elastic-net的目标函数:

$$ min_{\omega}\space\space\space\frac{1}{2n}\Vert X_{\omega} - y \Vert_{2}^{2} + \alpha\rho\Vert\omega\Vert_{1} + \frac{\alpha(1 - \rho)}{2}\Vert\omega\Vert_{2}^{2} $$

  2.分类

    逻辑回归(Logistic regression),逻辑回归是线性回归的分类任务下对应的算法。

      L2范数-Logistic regression模型:

$$ min_{\omega,c}\space\space\space\frac{1}{2}\omega^{T}\omega + C\sum_{i=1}^{n}log(e^{-y_{i}(X_{i}^{T}\omega + c)} + 1) $$

      L1范数-Logistic regression模型:

$$ min_{\omega,c}\space\space\space\Vert\omega\Vert_{1} + C\sum_{i=1}^{n}log(e^{-y_{i}(X_{i}^{T}\omega + c)} + 1) $$

  3.集成学习

    1.随机森林是基于Bagging思想的集成学习算法;

    2.梯度增强树是基于Boosting思想的集成学习算法。

  参考资料

    一些名词概念参考资料:

https://www.zhihu.com/question/23194489

https://www.zhihu.com/question/269063159

https://www.zhihu.com/question/28221429

https://www.zhihu.com/question/20473040

https://elitedatascience.com/algorithm-selection

    拟合算法及公式参考:

http://scikit-learn.org/stable/modules/linear_model.html

https://en.wikipedia.org/wiki/Lasso_(statistics)

https://en.wikipedia.org/wiki/Tikhonov_regularization

     关于两种集成学习思想的一些解释参考:

https://www.zhihu.com/question/29036379

https://www.bbsmax.com/A/lk5axwNJ1O/

https://blog.csdn.net/autoliuweijie/article/details/50285817

https://blog.csdn.net/google19890102/article/details/46507387

http://scikit-learn.org/stable/modules/ensemble.html#classification

 

以上是关于Kaggle Machine Learning 教程学习的主要内容,如果未能解决你的问题,请参考以下文章

机器学习计/算机视觉数据集UCI Machine Learning Repository

机器学习案例学习每周一例之 Titanic: Machine Learning from Disaster

KaggleIntermediate Machine Learning(管道+交叉验证)

KaggleIntermediate Machine Learning(管道+交叉验证)

投稿Machine Learning With Spark Note 1:数据基本处理

投稿Machine Learning With Spark Note 1:数据基本处理