人工智能培训机器学习算法与机器学习方法

时间:2018-04-02 16:46:42   来源:百战程序员   阅读:

一、机器学习算法

机器学习算法的分类是棘手的,有几种合理的分类,他们可以分为生成/识别,参数/非参数,监督/无监督等。

例如,Scikit-Learn的文档页面通过学习机制对算法进行分组。这产生类别如:1,广义线性模型,2,支持向量机,3,最近邻居法,4,决策树,5,神经网络,等等…

但是,从我们的经验来看,这并不总是算法分组最为实用的方法。那是因为对于应用机器学习,你通常不会想,“今天我要训练一个支持向量机!”相反,你心里通常有一个最终目标,如利用它来预测结果或分类观察。

 



图片来源于网络

所以在机器学习中,有一种叫做“没有免费的午餐”的定理。简而言之,它的意思就是说没有任何一种算法可以完美地解决每个问题,这对于监督式学习(即预测性建模)尤其重要。

例如,你不能说神经网络总是比决策树好,反之亦然。有很多因素在起作用,比如数据集的大小和结构。因此,您应该为您的问题尝试许多不同的算法,同时使用数据的“测试集”来评估性能并选择优胜者。

当然,你尝试的算法必须适合你的问题,这就是选择正确的机器学习算法的重要性之所在。打个比方,如果你需要清理你的房子,你可以使用真空吸尘器,扫帚或拖把,但是你不会拿出一把铲子然后开始挖掘。

接下来我们看看一些机器算法的优缺点。


二、  决策树

2.1  决策树的优点

1、决策树易于理解和解释,可以可视化分析,容易提取出规则。

2、可以同时处理标称型和数值型数据。

3、测试数据集时,运行速度比较快。

4、决策树可以很好的扩展到大型数据库中,同时它的大小独立于数据库大小。

2.2 决策树缺点

1、对缺失数据处理比较困难。

2、容易出现过拟合问题。

3、忽略数据集中属性的相互关联。

4、ID3算法计算信息增益时结果偏向数值比较多的特征。

2.3、改进措施

1、对决策树进行剪枝。可以采用交叉验证法和加入正则化的方法。

2、使用基于决策树的combination算法,如bagging算法,randomforest算法,可以解决过拟合的问题

2.4 应用领域

企业管理实践,企业投资决策,由于决策树很好的分析能力,在决策过程应用较多。

 

三、KNN算法

3.1、KNN算法的优点

1、KNN是一种在线技术,新数据可以直接加入数据集而不必进行重新训练

2、KNN理论简单,容易实现

3.2、KNN算法的缺点

1、对于样本容量大的数据集计算量比较大。

2、样本不平衡时,预测偏差比较大。如:某一类的样本比较少,而其它类样本比较多。

3、KNN每一次分类都会重新进行一次全局运算。

4、k值大小的选择。

3.3、KNN算法应用领域

文本分类、模式识别、聚类分析,多分类领域
 

四、支持向量机(SVM)

4.1、  SVM优点

1、解决小样本下机器学习问题。

2、解决非线性问题。

3、无局部极小值问题。(相对于神经网络等算法)

4、可以很好的处理高维数据集。

5、泛化能力比较强。

4.2、SVM缺点

1、对于核函数的高维映射解释力不强,尤其是径向基函数。

2、对缺失数据敏感。

4.3、SVM应用领域

文本分类、图像识别、主要二分类领域
 

五、AdaBoost算法

5.1、  AdaBoost算法优点

1、很好的利用了弱分类器进行级联。

2、可以将不同的分类算法作为弱分类器。

3、AdaBoost具有很高的精度。

4、相对于bagging算法和Random Forest算法,AdaBoost充分考虑的每个分类器的权重。

5.2、Adaboost算法缺点

1、AdaBoost迭代次数也就是弱分类器数目不太好设定,可以使用交叉验证来进行确定。

2、数据不平衡导致分类精度下降。

3、训练比较耗时,每次重新选择当前分类器最好切分点。

5.3、AdaBoost应用领域

模式识别、计算机视觉领域,用于二分类和多分类场景

 

六、朴素贝叶斯算法

6.1、  朴素贝叶斯算法优点

1、对大数量训练和查询时具有较高的速度。即使使用超大规模的训练集,针对每个项目通常也只会有相对较少的特征数,并且对项目的训练和分类也仅仅是特征概率的数学运算而已。

2、支持增量式运算。即可以实时的对新增的样本进行训练。

3、朴素贝叶斯对结果解释容易理解。

6.2、朴素贝叶斯缺点

1、由于使用了样本属性独立性的假设,所以如果样本属性有关联时其效果不好。

6.3、朴素贝叶斯应用领域

文本分类、欺诈检测中使用较多
 

七、Logistic回归算法

7.1、logistic回归优点

1、计算代价不高,易于理解和实现

7.2、logistic回归缺点

1、容易产生欠拟合。

2、分类精度不高。

7.3、logistic回归应用领域

用于二分类领域,可以得出概率值,适用于根据分类概率排名的领域,如搜索排名等。

Logistic回归的扩展softmax可以应用于多分类领域,如手写字识别等。
 

八、人工神经网络

8.1、  神经网络优点

1、分类准确度高,学习能力极强。

2、对噪声数据鲁棒性和容错性较强。

3、有联想能力,能逼近任意非线性关系。

8.2、神经网络缺点

1、神经网络参数较多,权值和阈值。

2、黑盒过程,不能观察中间结果。

3、学习过程比较长,有可能陷入局部极小值。

8.3、人工神经网络应用领域

目前深度神经网络已经应用与计算机视觉,自然语言处理,语音识别等领域并取得很好的效果。


九、近邻传播

近邻传播是一种相对较新的聚类技术,可以根据点之间的图距进行聚类。集群倾向于变得更小和具有不均匀的大小。

优点:用户不需要指定簇的数量(但是需要指定“样本偏好”和“阻尼”超参数)。

缺点:近邻传播的主要缺点是速度很慢,占用内存很大,难以扩展到较大的数据集。另外,它也需要假设真正的底层集群是球状的。

 

十、分层/凝聚

分层聚类,又名聚集聚类,是基于相同思想的一套算法:(1)从它自己的聚类中的每个点开始。 (2)对于每个簇,根据一些标准将其与另一个簇合并。 (3)重复,直到只剩下一个群集,并留下一个簇的层次结构。

优点:分层聚类的主要优点是不会假设球体是球状的。另外,它可以很好地扩展到更大的数据集里。

缺点:就像K-Means算法一样,用户必须选择聚类的数量(即在算法完成之后要保留的层次级别)。


参考文章:http://blog.csdn.net/mach_learn/article/details/39501849

来源:百战程序员 ,欢迎分享


分享:0

电话咨询

客服热线服务时间

周一至周五 9:00-21:00

周六至周日 9:00-18:00

咨询电话

0755-23061965

18898413781

微信扫一扫