1.1 机器学习的主要任务
机器学习的主要任务就是分类
首先需要做的是算法训练,即学习如何分类
用于训练机器学习算法的数据样本集合为算法的训练集。
特征或者属性通常是训练样本集的列,它们是独立测量得到的结果,多个特征联系在一起共同组成一个训练样本。
目标变量是机器学习算法的预测结果,训练样本集必须确定知道目标变量的值,以便机器学习算法可以发现特征和目标变量之间的关系。
通常使用两套独立的样本集:训练数据和测试数据。
比较测试样本预测的目标变量值与实际样本类别之间的差别,就可以得出算法的实际精确度。
知识表示可以采用规则集的形式,可以采用概率分布的形式,也可以是训练样本集中的一个实例。
机器学习的另一项任务是回归,主要用于预测数值型数据。
分类和回归属于监督学习,这类算法必须知道预测什么,即目标变量的分类信息。
监督学习:k-近邻算法,朴素贝叶斯算法,线性回归,局部加权线性回归,支持向量机,决策树,Ridge 回归。
无监督学习:数据没有类别信息,也不会给定目标值。数据集合分成由类似的对象组成的多个类的过程被称为聚类;将寻找描述数据统计值的过程称之为密度估计。无监督学习还可以减少数据特征的维度。
无监督学习:K-均值,最大期望算法,DBSCAN。
1.2 选择合适的算法
必须考虑两个问题:一、使用机器学习算法的目的,想要算法完成何种任务;二、需要分析或收集的数据是什么。
要预测目标变量的值,则可以选择监督学习算法,然后进一步确定目标变量类型,如果目标变量是离散型,如是/否、1/2/3、A/B/C或者红/黄/黑等,则可以选择分类算法;如果目标变量是连续型的数值,如0.0~100.00、999~999或者-∞~+∞等,则需要选择回归算法。
数据的特性:特征值是离散型变量还是连续型变量,特征值中是否存在缺失的值,何种原因造成缺失值,数据中是否存在异常值,某个特征发生的频率如何等
一般并不存在最好的算法或者可以给出最好结果的算法,同时要尝试不同算法的执行效果。一般说来发现最好算法的关键环节是反复试错的迭代过程。
1.3 开发机器学习应用程序的步骤
(1) 收集数据
(2) 准备输入数据
(3) 分析输入数据 主要是人工分析数据,确保数据集中没有垃圾数据
(4) 训练算法
(5) 测试算法 对于监督学习,必须已知用于评估算法的目标变量值
(6) 使用算法