机器学习介绍+算法

机器学习算法就是企图从大量历史数据中挖掘出其中隐含的规律,并用于回归(预测)或者分类。从广义上来说,机器学习是一种能够赋予机器学习的能力以此让它完成直接编程无法完成的功能的方法;但从实践的意义上来说,机器学习是一种通过利用数据,训练出模型,然后使用模型预测的一种方法。

一、机器学习的分类

按学习理论分,机器学习模型可以分为有监督学习,半监督学习,无监督学习,迁移学习和强化学习:

监督学习是训练样本带有标签,分为回归和分类两大部分;

半监督学习是训练样本部分有标签,部分无标签;

无监督学习是训练样本无标签;

迁移学习是把已经训练好的模型参数迁移到新的模型上以帮助新模型训练;

强化学习是一个学习最优策略,可以让本体(agent)在特定环境中,根据当前状态,做出行动,从而获得最大回报。强化学习和有监督学习最大的不同是,强化学习每次的决定没有对与错,而是希望获得最多的累计奖励。

二、机器学习算法介绍

1. 回归算法

回归算法包括线性回归和逻辑回归。

线性回归的一般思想是如何拟合出一条直线最佳匹配我们所有的数据?一般使用“最小二乘法”来求解,最小二乘法将最优问题转化为求函数极值问题。函数极值在数学上我们一般会采用求导数为0的方法,但这种做法并不适合计算机,可能求解不出来,也可能计算量太大。因此,就提出了“梯度下降法”和“牛顿法”来处理求解函数极值的问题。

逻辑回归与线性回归类似,但是线性回归处理的是数值问题,也就是最后预测出的结果是数字;而逻辑回归属于分类算法,也就是说,逻辑回归预测结果是离散的分类,例如判断这封邮件是否是垃圾邮件,以及用户是否会点击此广告等等。

2. SVM(支持向量机)

SVM属于监督学习算法。

SVM从某种意义上来说是逻辑回归算法的强化。

SVM可以分成线性支持向量机和非线性支持向量机。线性支持向量机用于求解线性问题,非线性支持向量机用于求解非线性的分类问题,需要用到核技巧(核函数),“核”事实上就是一种特殊的函数,最典型的特征就是可以将低维的空间映射到高维的空间。

SVM的优点:不容易过拟合

SVM的缺点:计算量大

3. 决策树

决策树属于监督学习算法。

决策树(decision tree)是一种基本的分类与回归问题 ,在分类问题中,决策树可以认为是if-then规则。决策树由结点(node)和有向边(directed edge)组成,结点又分为内部结点和叶节点。

决策树学习算法包括特征选择、决策树的生成(用到ID3、C4.5算法)、决策树的剪枝(用到分类与回归树CART算法)。

  • 特征选择决定用哪个特征来划分特征空间,选取对训练数据具有分类能力的特征,以提高决策树的学习能力。
  • 决策树的生成是通过计算信息增益,从根节点开始,从根节点开始递归的产生决策树。
  • 决策树的剪枝是由于生成的决策树存在过拟合的问题,需要对其进行剪枝从而简化决策树。

决策树的优点:可解释性强,可视化。

决策树的缺点:容易过拟合(通过剪枝避免过拟合),很难调优,准确率不高。

4. 朴素贝叶斯分类

朴素贝叶斯分类属于监督学习算法。

“朴素”指的是特征与特征之间是独立的,互不干扰。

朴素贝叶斯分类器是一类简单的概率分类器。应用场景例如通过商品的描述(特征X)来推理商品的类别(Y)时就可以用到朴素贝叶斯分类器。

朴素贝叶斯法是典型的生成学习方法,由训练数据学习联合概率分布P(X,Y),然后求得后验概率P(Y|X),具体来说,利用训练数据学习P(X|Y)和P(Y)的估计,得到联合概率分布:P(X,Y)=P(Y)P(X|Y)。

过程:训练的时候得出条件概率;推理的时候比较条件概率的大小。

5. KNN(K近邻)算法

KNN属于监督学习算法。

KNN:K个最近的邻居,是一种基本的分类与回归算法。基本思想是:由你的邻居来推断出你的类别。基本做法是:对给定的训练实例点和输入实例点,首先要确定输入实例点的K个最近邻训练实例点,然后利用这K个实例点的类的多数来预测输入实例点的类。

KNN的三要素:距离度量(常用欧氏距离)、K值的选择(K值的选择反映了对近似误差和估计误差之间的权衡)、分类决策规则(常用的分类决策规则是多数表决)。

使用kd-tree即kd树减少计算距离的次数,来提高KNN附件的搜索效率。

6. Adaboost提升算法

Adaboost属于监督学习算法。

提升方法通过改变训练样本的权重,学习多个分类器,并将多个分类器进行线性组合,提高分类性能,基本思想是:对于一个复杂的任务,将多个专家的判断进行适当的综合得出的判断,要比其中任何一个专家单独判断的好。

Adaboost从弱分类算法出发,反复学习,得到一系列弱分类器,并将这些弱分类器组合成一些强分类器。

7. 聚类算法

聚类算法属于无监督学习,比较常用的算法有K-means(k均值聚类)

K-means算法的基本思想:首先选择K个类的中心,通过用欧氏距离计算每个样本与质心之间的相似度,将样本分到与中心最近的类中,得到一个聚类结果,然后计算每个样本的均值,作为类的中心,重复以上步骤直到收敛。

K-means算法的缺点:该算法是迭代算法,不能保证全局最优。

三、机器学习总的应用

大数据分析

预测

.....

四、机器学习的延申:深度学习

近年来,机器学习的发展产生了一个新的方向,即“深度学习”,深度学习的理念非常简单,就是传统的神经网络发展到了多隐藏层的情况。自从90年代以后,神经网络已经消寂了一段时间,但是BP算法的发明人Geoffrey Hinton一直没有放弃对神经网络的研究。由于神经网络在隐藏层扩大到两个以上,其训练速度就会非常慢,因此实用性一直低于SVM。2006年,Geoffrey Hinton在科学杂志《Science》上发表了一篇文章,表明具有多个隐藏层的神经网络称为深度神经网络,基于深度神经网络的学习研究称之为深度学习。从此便开始了深度学习的进一步研究。

参考:机器学习十大经典算法入门_pennyyangpei的博客-CSDN博客_机器学习十大算法

           基本Kmeans算法介绍及其实现_Liam Q的专栏-CSDN博客_kmeans算法

           李航.《统计学习方法》

注:本文主要用于自己的学习,内容大多是从很多优秀的博主以及李航老师的《统计学习方法》中得出的,还有一些自己的理解,仅供学习,侵权删除

猜你喜欢

转载自blog.csdn.net/weixin_44570845/article/details/122365860