机器学习线性回归算法实验报告_机器学习——线性回归及kNN算法(作业)

机器学习简介

  1. 人工智能AI、机器学习与深度学习

机器学习线性回归算法实验报告_机器学习——线性回归及kNN算法(作业)_第1张图片
来自贪心学院课堂PPT

它们都是一种科学研究方法。宗旨即辅助人进行决策,减少人的不必要劳动时间。

机器学习:训练模型 + 决策(判别)

  • 训练模型:前提选择已知的模型(如 LR, kNN, DT,SVM,MSE等),然后训练模型中的每个参数【训练参数即学习得到参数】;
  • 决策(判别):即通过模型对一个未知类别的样本进行分类的过程,同时也是一种检验模型好坏的方法【好的训练模型应具有不错的泛化能力】;

不同领域的爱称: 模式识别,现代统计学,数据挖掘等。

【当然大多是基于对自己专业情感上的一种爱称】

机器学习分类:

监督学习: 指对学习过程有参考帮助,即训练样本有已知标签;

注:按标签的连续或者离散划分,有分类与回归。

有时候为了方便解决问题标签连续及离散之间也可以相互转换。连续性标签可以分成离散的区间,离散标签也可以通过加权平均得到连续值。

非监督学习:指没有标签参考的帮助,通过样本的分布结构或者样本之间的相似度来学习;

机器学习的一般过程

机器学习线性回归算法实验报告_机器学习——线性回归及kNN算法(作业)_第2张图片
来自贪心学院课堂PPT
  • 数据清洗 处理缺失数据或者明显的错误数据
  • 特征工程 把样本属性特征转化成向量或者矩阵
  • 预处理 特征选择特征提取、数据定标【归一化和标准化】等

深度学习:一种基于多层神经网络的学习模型,能够保存更多的样本信息而找到样本潜在的联系。

Python作为机器学习的必备工具,其明显的高效率编写及封装了广泛的可选数据模型库。当然为了熟悉具体的算法过程,还需要了解源码库的实现过程。当然这并不是唯一的选择,其中Matlab也是一种高效的实现工具。


第一节 线性回归

线性回归(Linear Regression)

即假设样本数据呈现线性关系,用线性模型基于最小均方误差MSE的准则,找出一条最佳分类决策边界。 对于二维样本,决策边界是一条分类线;对于三维样本,决策边界是一个分类面,以此类推。

为了方便理解问题本质,简单之。当样本是二维特征时,可以通过可视化来找到一条最佳回归线。

练习:

读取样本数据

机器学习线性回归算法实验报告_机器学习——线性回归及kNN算法(作业)_第3张图片
读取样本数据【海拔与气温】

绘图:

机器学习线性回归算法实验报告_机器学习——线性回归及kNN算法(作业)_第4张图片
样本在二维平面的点图

训练模型

机器学习线性回归算法实验报告_机器学习——线性回归及kNN算法(作业)_第5张图片

模型分类线:

机器学习线性回归算法实验报告_机器学习——线性回归及kNN算法(作业)_第6张图片

模型预测

f8d1242f93e9171cbe5b44ea4695e988.png

第二节 kNN算法

k近邻算法即kNN,它是一处监督分类方法。未知样本的标签取决于离其距离最近的N个样本的标签。

最近距离:其中度量距离的方法多种,根据不同的距离度量方法有多种kNN算法。

其中,d 表示样本的维度,两个样本之间的距离可以表示成如上形式。

参数

kNN算法中唯一的参数是k, 而且是一个超参数。由于该算法模型没有模型参数(线性分性的参数分别为a,b),k 是模型之外的一个超参。不同取值的k即对应不同的kNN算法模型。

根据kNN算法的含义,当k取值越大时,参考周围的标签样本越多,算法更具泛化能力。但不一定越大越好,足够大时容易过拟合,太小容易欠拟合;所以选择合适的k值是一个需要研究的问题。通常的做法是k-CV(k折叠交叉验证),选择最优的k值。

特点:

需要计算样本与所有其他样本之间的距离,当样本数足够大时该算法的时间复杂度不太理想。所以提出了KD-tree方法和局部哈希LSH。

进阶

目标样本的类别是根据周围近邻样本综合投票获得,如果基本某种准则个别样本的类别的标签更具参考性,那么目标样本的标签应该更倾向于该样本。所以在决策样本标签时有加权平均kNN算法。

kNN算法需要计算两个样本之间的距离,根据不同的距离的定义有不同的kNN算法。如果某样本之间经过核映射到一个高维空间,而在这一核空间里样本可能具有更直接的分类特征。所以基于核映射的kNN算法也是一种选择。

总而言之,kNN是一种简单的分类算法,适合处理低维空间的数据。在预测时因为需要计算与每个样本的距离,所以时间复杂度不够理想。当然针对问题有相应的优化方法。

python 实现

读取iris数据

机器学习线性回归算法实验报告_机器学习——线性回归及kNN算法(作业)_第7张图片

k == 1 时准确率

机器学习线性回归算法实验报告_机器学习——线性回归及kNN算法(作业)_第8张图片

k == 3 时准确率

机器学习线性回归算法实验报告_机器学习——线性回归及kNN算法(作业)_第9张图片

k == 5 时准确率

机器学习线性回归算法实验报告_机器学习——线性回归及kNN算法(作业)_第10张图片

k 不同取值时,其性能指标不一样。为了选择最优的k 值,一般用折叠交叉验证的方法 。

你可能感兴趣的:(机器学习线性回归算法实验报告)