原文链接:http://www.jianshu.com/p/b2fd6ffebb1e
作为一个初学机器学习的人,确定学习目标很重要。这篇文章列举出机器学习中基础的常见算法。
机器学习的算法分为监督学习算法和非监督学习算法。是否有监督,就看输入数据是否有标签。输入数据有标签,则为有监督学习,没标签则为无监督学习。
一、监督学习算法
1.线性回归算法
线性回归算法通常用来构建一个预测模型。例如,根据房子年限、房屋面积这两个特性,来预测房屋价格,就可以构建一个线性回归算法。利用已有的数据训练模型,再用训练好的模型预测新的房价。
如果有一个输入x,对应一个输出y,就可以构建一个一维现行回归模型,通常表现为一条直线或取现,当给定一个x值时,对应可以求出y值。当有多个特征共同影响y值时,就可以构建一个多元的线性回归模型。
2.逻辑回归算法
逻辑回归算法用来进行对数据的分类。它和线性回归算法类似,不同之处在于,输出值y是给定的几类。最常见的是分成两类,如好和坏。使用逻辑回归算法,可以根据输入数据的特征,判断该条数据的输出是哪一类的。
3.神经网络算法
神经网络算法也用于数据的预测。神经网络算法通过模拟人类大脑的工作模式来建立模型。前期通过大量的已有数据,进行神经网络模型的训练(给定输入的特征x1、x2、x3……,输出y)。接下来,使用训练好的神经网络预测未知的数据。
4.支撑向量机
支撑向量机可以用来分类和回归分析,其基本模型定义为特征空间上的间隔最大的线性分类器,即支持向量机的学习策略便是间隔最大化。
二、非监督学习
1.Kmeans聚类
聚类是一种非监督学习,它和分类的不同之处在于,分类是有标签的,而聚类是无标签的。分类的结果是知道哪个好哪个坏,而聚类是根据特性,将相似的事物聚集到一起,不考虑它们的好坏。
Kmeas算法是聚类算法中的一种,可以根据输入的特性,将一些数据聚集为成任意多个类别。Kmeas算法使用距离的远近来聚集一类数据。
2.降维
有的时候,一条数据的输入特性可能有很多。比如,在预测房价的问题上,可能会输入房间面积、年限、地理位置相关信息等近百个属性。使用这么多属性进行分析,会为分析过程带来麻烦。降维,就是将这些D个维度的输入属性,缩小成d个维度的输入属性。它将一些输入特性合并或进行某些操作,来减少变量的数量。
3.异常检测
异常检测用来判断某一个数据,其输入特性是否异常。例如,有多个属性来描述一个飞机的发动机,在大量的数据输入中,通过异常检测,来发现哪条数据记录存在异常
在下一阶段的机器学习学习中,将对上面提到的基本算法进行逐一研究。欢迎同样是初学机器学习的小伙伴互相交流~