导读
- 在机器学习里,尤其是像预测建模的监督学习里不存在确定的说哪个算法好,哪个不好。实验的结果总是有多种因素起作用。
- 机器学习算法可分为三大类-监督学习,无监督学习和强化学习。
- 监督学习在某些属性(标签)可用于某个数据集(训练集)但缺少且需要被预测为其他情况。
- 在挑战是要发现给定的未标记的 隐式关系的情况下,无监督学习非常有用 数据集(项目未预先分配)。
- 强化学习介于这两个极端之间-每个预测步骤或动作都有某种形式的反馈,但没有精确的标签或错误消息。
- 机器学习算法,指的是要学习一个目标函数,能够尽可能地还原输入和输出之间的关系。然后根据新的输入值X,来预测出输出值Y。精准地预测结果是机器学习建模的任务。
废话不多说,下面进入正题,和小编一起了解回顾下十种常见的算法。
监督学习
决策树
- 决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3, C4.5和C5.0生成树算法使用熵。这一度量是基于信息学理论中熵的概念。
- 决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。
话不多说上图感受下:
朴素贝叶斯分类
- 朴素贝叶斯分类器是基于贝叶斯定理并在特征之间具有强(朴素)独立性假设的基础上的简单概率分类器。特征图像是等式-其中P(A | B)是后验概率,P(B | A)是似然性,P(A)是类别先验概率,而P(B)是预测子先验概率。
- 这种预测建模的算法强大到超乎想象。可以直接从你的训练集中计算出来两种输出类别的概率。一个是每种输出种类的概率;另外一个,是根据给定的x值,得到的是有条件的种类概率。一旦计算之后,概率的模型可以用贝叶斯定理预测新的数据。当你的数据是实数值,那么按理说应该是符合高斯分布的,也就很容易估算出这个概率。
- 朴素贝叶斯定理之所以名字里有个“朴素”,是因为这种算法假定每个输入的变量都是独立的。
现实世界中的一些示例是:
1.将电子邮件标记为垃圾邮件或非垃圾邮件
2.对有关技术,政治或体育的新闻文章进行分类
3.检查一段表达积极情绪还是消极情绪的文字?
4.用于面部识别软件。
最小二乘回归法
最小二乘法(又称最小平方法)是一种数学优化技术。它通过最小化误差的平方和寻找数据的最佳函数匹配。利用最小二乘法可以简便地求得未知的数据,并使得这些求得的数据与实际数据之间误差的平方和为最小。最小二乘法还可用于曲线拟合。其他一些优化问题也可通过最小化能量或最大化熵用最小二乘法来表达。
Logistic回归
- 是一种可以用在二元分类问题上的方法。
- 逻辑回归,和线性回归相似,都是要找出输入值的系数权重。不同的地方在于,对输出值的预测改成了逻辑函数。输出值的范围是0到1。把逻辑函数的输出值加一个处理规则,就能得到分类结果,非0即1。比方说,可以规定输入值小于0.5,那么输出值就是1。
通常,回归可用于实际应用中,例如:
1.信用评分
2.衡量营销活动的成功率
3.预测某种产品的收入
4.特定日子会发生地震吗?
支持向量机:
SVM是二进制分类算法。给定N维位置上2种类型的点集,SVM会生成(N-1)维超平面,以将这些点分成2组。假设您在纸上有两种类型的点是线性可分离的。SVM会找到一条直线,将这些点分为两种类型,并与所有这些点尽可能远。
超平面是一条可以分割输入变量的空间的“线”。支持向量机的超平面,是能把输入变量空间尽可能理想地按种类切割,要么是0,要么是1。在二维空间里,你可以把超平面可以分割变量空间的那条“线”。这条线能把所有的输入值完美一分为二。SVM的学习目标就是要找出这个超平面。
使用SVM(采用适当修改的实现)已解决的一些最大问题是展示广告,人工拼接站点识别,基于图像的性别检测,大规模图像分类…
集成方法
集合方法是一种学习算法,可构造一组分类器,然后通过对预测的加权投票对新数据点进行分类。最初的集成方法是贝叶斯平均。
在集成学习理论中,我们将弱学习器(或基础模型)称为「模型」,这些模型可用作设计更复杂模型的构件。在大多数情况下,这些基本模型本身的性能并不是非常好,这要么是因为它们具有较高的偏置(例如,低自由度模型),要么是因为他们的方差太大导致鲁棒性不强(例如,高自由度模型)。
集成方法的思想是通过将这些弱学习器的偏置和/或方差结合起来,从而创建一个「强学习器」(或「集成模型」),从而获得更好的性能。
更多介绍请参考:https://baijiahao.baidu.com/s?id=1633580172255481867&wfr=spider&for=pc
无监督学习
聚类算法
聚类是对一组对象进行分组的任务,以使同一组(聚类)中的对象彼此之间的相似性高于其他组中的对象。
每个聚类算法都不相同,以下是其中的几个:
- 基于质心的算法
- 基于连接的算法
- 基于密度的算法
- 概率论
- 降维
- 神经网络/深度学习
主成分分析
PCA是一种统计过程,它使用正交变换将一组可能相关的变量的观测值转换为一组线性不相关的变量值,称为主成分。
奇异值分解
在线性代数中,SVD是实复矩阵的分解。对于给定的 m * n 矩阵M,存在分解使得M =UΣV,其中U和V是unit矩阵,而Σ是对角矩阵。
PCA实际上是SVD的简单应用。在计算机视觉中,第一种人脸识别算法使用PCA和SVD来将人脸表示为“特征人脸”的线性组合,进行降维,然后通过简单方法将人脸与身份进行匹配;尽管现代方法要复杂得多,但许多方法仍依赖于相似的技术。
独立成分分析
ICA是一种统计技术,用于揭示构成随机变量,测量值或信号集基础的隐藏因素。ICA为观察到的多元数据定义了一个生成模型,该模型通常以大型样本数据库的形式给出。在模型中,假定数据变量是一些未知潜变量的线性混合,并且混合系统也是未知的。假定潜在变量是非高斯的且相互独立的,它们被称为观测数据的独立组成部分。
详情参考链接
https://www.kdnuggets.com/2016/08/10-algorithms-machine-learning-engineers.html/2