机器学习入门系列(2)–如何构建一个完整的机器学习项目,第七篇!
该系列的前六篇文章:
- 机器学习入门系列(2)–如何构建一个完整的机器学习项目(一)
- 机器学习数据集的获取和测试集的构建方法
- 特征工程之数据预处理(上)
- 特征工程之数据预处理(下)
- 特征工程之特征缩放&特征编码
- 特征工程(完)
前面六篇文章从一个项目的终极目标、寻找和获取数据,到数据预处理,做特征工程,接下来就需要开始选择合适的算法模型,进行训练评估和测试了。
所以接下来会整理下比较常用的机器学习算法的汇总比较,包括:
- 线性回归
- 逻辑回归
- 决策树
- 随机森林
- 支持向量机
- 朴素贝叶斯
- KNN 算法
- K-均值算法
- 提升方法(Boosting)
- GBDT
- 优化算法
- 卷积神经网络
因为篇幅问题,主要简单介绍每个算法的基本原理,优缺点等,以及为了保证每篇文章不会太长,可能会分成两篇或者三篇来介绍。
1. 线性回归
简述
定义:线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。
这种函数是一个或多个称为回归系数的模型参数的线性组合(自变量都是一次方)。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。
线性回归的模型函数如下:
h θ = θ T x h_\theta = \theta ^T x hθ=θTx
它的损失函数如下:
J ( θ ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2 J(\theta) = {1\over {2m}} \sum_{i=1}^m (h_\theta(x^{(i)}) - y^{(i)})^2 J(θ)=2m1i=1∑m(hθ(x(i))−y(i))2
通过训练数据集寻找参数的最优解,即求解可以得到 m i n J ( θ ) minJ(\theta) minJ(θ) 的参数向量 θ \theta θ ,其中这里的参数向量也可以分为参数 w 和 b w和b w和b , 分别表示权重和偏置值。
求解最优解的方法有最小二乘法和梯度下降法。
优缺点
优点:结果易于理解,计算上不复杂。
缺点:对非线性数据拟合不好。