机器学习常见算法总结(1)

201 阅读4分钟

机器学习常见算法总结

学习方式概念
监督式学习从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据此函数预测结果。训练数据集中的目标由人标注的。常见的算法有回归分析和统计分类
非监督式学习与监督式学习相比,训练集没有人为标注的结果,常见的算法有聚类
半监督式学习训练集部分被标识,部分没有被标识。常见的算法有SVM
强化学习输入数据作为模型的反馈,模型对此作出调整。常见的算法有时间差学习
机器学习算法分类概念
--------------
决策树算法根据数据属性,采用树状结构建立决策模型。常用来解决分类和回归问题。 常见算法:CART(Classification And Regression Tree),ID3,C4.5,随机森林等
回归算法对连续值预测,如逻辑回归LR等
分类算法对离散值预测,事前已经知道分类,如k-近邻算法
聚类算法对离散值预测,事前对分类未知,如k-means算法
神经网络模拟生物神经网络,可以用来解决分类和回归问题 感知器神经网络(Perceptron Neural Network) ,反向传递(Back Propagation)和深度学习(DL)
集成算法集成几种学习模型进行学习,将最终预测结果进行汇总 Boosting、Bagging、AdaBoost、随机森林 (Random Forest) 等

机器学习算法分类

决策树算法 根据数据属性,采用树状结构建立决策模型。常用来解决分类和回归问题。 常见算法:CART(Classification And Regression Tree),ID3,C4.5,随机森林等 回归算法 对连续值预测,如逻辑回归LR等 分类算法 对离散值预测,事前已经知道分类,如k-近邻算法 聚类算法 对离散值预测,事前对分类未知,如k-means算法 神经网络 模拟生物神经网络,可以用来解决分类和回归问题 感知器神经网络(Perceptron Neural Network) ,反向传递(Back Propagation)和深度学习(DL) 集成算法 集成几种学习模型进行学习,将最终预测结果进行汇总 Boosting、Bagging、AdaBoost、随机森林 (Random Forest) 等

SVM

1、SVM不太容易过拟合:松弛因子+损失函数形式

SVM的求解方法叫拉格朗日乘子法

有时候如果你非要很明确地分类,那么结果就会像右边的一样 —— 过拟合。明显左边的两个都比过拟合好多了,可是这样就要求允许一些样本不在正确的类上.

目标:找出总损失值最小并且能大概分类的超平面

2、方法选择

1、如果Feature的数量很大,跟样本数量差不多,这时候选用LR或者是Linear Kernel的SVM 2、如果Feature的数量比较小,样本数量一般,不算大也不算小,选用SVM+Gaussian Kernel 3、如果Feature的数量比较小,而样本数量很多,需要手工添加一些feature变成第一种情况

3、数据维度 如果数据特征维度高,svm要使用核函数来求解

Note:拉格朗日对偶没有改变最优解,但改变了算法复杂度:原问题—样本维度;对偶问题–样本数量。 线性分类 样本维度<样本数量:原问题求解(liblinear默认); 非线性–升维—一般导致 样本维度>样本数量:对偶问题求解

朴素贝叶斯

朴素贝叶斯的优点: 对小规模的数据表现很好,适合多分类任务,适合增量式训练。 缺点: 对输入数据的表达形式很敏感(离散、连续,值极大极小之类的)

线性回归

线性回归试图学得一个线性模型以尽可能准确地预测实值输出标记。均方误差是回归任务中最常用的性能度量,基于均方误差最小化来进行模型求解的方法成为最小二乘法。在线性回归中,最小二乘法就是试图找到一条直线,使得所有样本到直线上的欧式距离之和最小。这个想法和分类问题是正好相反的,分类问题是找到一个分界面离所有样本尽可能远。

优化方法

当x矩阵是列满秩的时候,可以用最小二乘法,但是求矩阵的逆比较慢

参考


觉得本文对您有一点帮助,欢迎讨论、点赞、收藏,您的支持激励我多多创作。

我的个人博客主页,欢迎访问

我的CSDN主页,欢迎访问

我的GitHub主页,欢迎访问

我的知乎主页,欢迎访问