模型|17个机器学习的常用算法!( 五 )


到整个样本的后验概率:

模型|17个机器学习的常用算法!
文章图片

其中:
通过对数进一步化简为:
3. 其实它的loss function为-l(θ) , 因此我们需使loss function最小 , 可采用梯度下降法得到 。 梯度下降法公式为:
Logistic回归优点:
1. 实现简单
2. 分类时计算量非常小 , 速度很快 , 存储资源低;
缺点:
1. 容易欠拟合 , 一般准确度不太高
2. 只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类) , 且必须线性可分;
线性回归:
线性回归才是真正用于回归的 , 而不像logistic回归是用于分类 , 其基本思想是用梯度下降法对最小二乘法形式的误差函数进行优化 , 当然也可以用normal equation直接求得参数的解 , 结果为:
而在LWLR(局部加权线性回归)中 , 参数的计算表达式为:
因为此时优化的是:
由此可见LWLR与LR不同 , LWLR是一个非参数模型 , 因为每次进行回归计算都要遍历训练样本至少一次 。
线性回归优点:实现简单 , 计算简单;
缺点:不能拟合非线性数据;
KNN算法:KNN即最近邻算法 , 其主要过程为:
1. 计算训练样本和测试样本中每个样本点的距离(常见的距离度量有欧式距离 , 马氏距离等);
2. 对上面所有的距离值进行排序;
3. 选前k个最小距离的样本;
4. 根据这k个样本的标签进行投票 , 得到最后的分类类别;
如何选择一个最佳的K值 , 这取决于数据 。 一般情况下 , 在分类时较大的K值能够减小噪声的影响 。 但会使类别之间的界限变得模糊 。 一个较好的K值可通过各种启发式技术来获取 , 比如 , 交叉验证 。 另外噪声和非相关性特征向量的存在会使K近邻算法的准确性减小 。
近邻算法具有较强的一致性结果 。 随着数据趋于无限 , 算法保证错误率不会超过贝叶斯算法错误率的两倍 。 对于一些好的K值 , K近邻保证错误率不会超过贝叶斯理论误差率 。
注:马氏距离一定要先给出样本集的统计性质 , 比如均值向量 , 协方差矩阵等 。 关于马氏距离的介绍如下:
KNN算法的优点:
1. 思想简单 , 理论成熟 , 既可以用来做分类也可以用来做回归;
2. 可用于非线性分类;
3. 训练时间复杂度为O(n);
4. 准确度高 , 对数据没有假设 , 对outlier不敏感;
缺点:
1. 计算量大;
2. 样本不平衡问题(即有些类别的样本数量很多 , 而其它样本的数量很少);
3. 需要大量的内存;
SVM:
要学会如何使用libsvm以及一些参数的调节经验 , 另外需要理清楚svm算法的一些思路:

推荐阅读