【Python】机器学习入门(一)

声明:本文仅为学习笔记,通过借鉴其他优质博客以及书记整理所得,不作它用。

机器学习概念

定义

机器学习是从数据中自动分析获得模型,并利用模型对未知数据进行预测。
用另外一种说法来讲:所谓机器学习就是用计算机系统模拟人类学习的一门学科。目前主要是一种以归纳思维为核心的行为,它将外界众多事实的个体,通过归纳思维方法将其归结成具一般性效果的知识。
【Python】机器学习入门(一)_第1张图片

结构模型

机器学习的结构模型分为计算机系统内部计算机系统外部两个部分。
其中,计算机系统内部是学习系统,它在计算机系统的支持下工作。计算机系统外部是学习系统外部世界
整个学习过程即是由学习系统与外部世界交互而完成学习功能

学习系统

机器学习中的学习系统主要完成学习的核心功能,它是一个计算机应用系统,这个系统由三个部分内容组成:

样本数据

此外,我们可以将一个标记好特征以及标签看作一个样本。
样本数据亦称样本(Sample),是客观世界中事物在计算机中的一种结构化数据的表示,具有统一的数据结构,一般都是通过感知器从外部环境中获得,由若干个属性组成。属性表示样本的固有性质
在学习系统中,计算机的学习都是通过样本数据学习的。在机器学习中,样本组成一种数据集合,在建模中训练模型,其量值越大,所训练的模型正确性越高,因此样本的数量一般应具有海量性

在训练模型过程中有两种不同表示形式的样本,样本中的属性在训练模型过程中一般仅作为训练而用,这种属性称为训练属性,因此如果样本中所有属性均为训练属性,这种样本通称为不带标号样本。而样本除训练属性外,还有另外一种作为训练属性所对应的输出数据的属性称为标号属性,而这种带有标号属性的样本称为带标号样本。一般而言,不同样本训练不同的模型。

此外,一组样本构成的集合称为数据集。一般分为两个部分:训练集和测试集。
训练集中的样本是用来训练模型的,而测试集中的样本是用来检验模型好坏的。

机器建模

机器建模即是用样本训练模型的过程,是学习系统中的主要内容。
在学习系统中,学习过程用算法表示,并用代码形式组成程序模块通过模块执行用以建立学习模型。在执行中需要输人大量的样本进行统计性计算。

学习模型

学习模型是由样本数据通过机器建模而获得的学习结果,它是一种知识模型,以样本数据为输入,用机器建模作运行,最终可得到学习的结果。举例如下:

监督学习中的人工神经网络方法、决策树方法、贝叶斯方法、支持向量机方法。
无监督学习中的关联规则方法、聚类分析方法。
半监督学习中的迁移学习方法、强化学习方法。

学习系统外部环境

学习系统外部世界是学习系统的学习对象。人类学习知识大都通过作用于它而得到,学习系统外部世界由环境感知器两部分内容组成。

环境

环境即是外部世界实体,它是获得知识的基本源泉。

感知器

环境中的实体有多种不同形式,如文字、声音、语言、动作、行为、姿态表情等静态与动态形式,还具有可见/不可见(如红外线紫外线等)、可感/不可感(如引力波、磁场等)等多种方式,它需要有一种接口,将它们转换成学习系统中具有一定结构形式的数据,作为学习系统的输入,这就是样本数据。

感知器的种类很多,常用的如模/数或数/模转换器,以及各类传感器。此外,如声音、图像、音频、视频等专用输入。

总结

一个机器学习的结构模型由五个部分组成。整个学习过程从外部世界的环境开始,从中获得环境中的一些实体,经感知器转换成数据后进人计算机系统以样本形式出现并作为计算机的输入,在机器建模中进行学习,最终得到学习的结果。这种结果一般以学习模型形式出现,是一种知识模型。
【Python】机器学习入门(一)_第2张图片
已经介绍机器学习是在计算机系统支持下,由大量样本数据通过机器建模获得学习模型作为结果的一个过程,可用下面的公式表示:
样本数据+机器建模=学习模型

机器学习方法

机器建模是学习系统中的主要内容,它可按不同样本分为以下三种:

监督学习

由带标号样本所训练模型的学习方法称为监督学习

这个方法是:在训练前已知输入和相应输出,其任务是建立一个由输入映射到输出的模型。这种模型在训练前已有一个带初始参数值的模型框架,通过训练不断调整其参数值,这种训练的样本需要足够多才能使参数值逐渐收敛,达到稳定的值为止。
这是一种最为有效的学习方法。目前使用也最为普遍。但是带标号样本数据的搜集与获取比较困难,这是它的不足之处。
监督学习又可以分为回归问题分类问题结构化学习问题

回归问题

回归分析用于预测输入变量(自变量)和输出变量(因变量)之间的关系,特别是当输入变量的值发生变化时,输出变量值随之发生变化

线性模型

线性回归算法假设特征和结果满足线性关系,意味着可以将输入项分别乘以一些常量,再将结果加起来得到输出。

流程

  1. 选择拟合函数形式
    在这里插入图片描述
  2. 确定损失函数形式
    【Python】机器学习入门(一)_第3张图片
  3. 训练算法,找到回归系数
    如最小二乘法、梯度下降法等
  4. 使用算法进行数据预测
    y=10*x+3
一元线性模型

对于输入变量只有一个,即单个的特征,线性回归表示如下:
y=ax+b
b表示y轴上的截距,a代表特征的权重系数,x为自变量,y为因变量。
求解方法为最小二乘法。
【Python】机器学习入门(一)_第4张图片

多元线性模型

当输入变量不止一个时,即多个特征,线性回归表示如下:
在这里插入图片描述
求解方法类似一元线性回归,使用最小二乘法
利用线性代数的形式,对多元线性回归的误差公式求导为:
【Python】机器学习入门(一)_第5张图片
在这里插入图片描述
用最小二乘法来进行线性回归参数学习的图示:
【Python】机器学习入门(一)_第6张图片

分类问题

分类问题是监督学习的一个核心问题,它从数据中学习一个分类决策函数或分类模型(分类器(classifier)),对新的输入进行输出预测,输出变量取有限个离散值。
分类问题根据其类别数量又可分为二分类问题多分类问题。核心算法包括决策树、贝叶斯、SVM、逻辑回归。
其中最常用的算法就是KNN算法:

KNN(K Near Neighbour)算法

k个最近的邻居,即每个样本都可以用它最接近的k个邻居来代表。

原理:当预测一个新的值x的时候,选择它距离最近的k个点,这k个点中属于哪个类别的点最多,x就属于哪个类别
【Python】机器学习入门(一)_第7张图片
流程

  1. 计算已知类别数据集中的点与当前点之间的距离
  2. 按距离递增次序排序
  3. 选取与当前点距离最小的k个点
  4. 统计前k个点所在的类别出现的频率
  5. 返回前k个点出现频率最高的类别作为当前点的预测分类

无监督学习

由不带标号样本训练模型的学习方法称为无监督学习

这个方法是:在训练前仅已知供训练的不带标号样本,其后期的模型是通过建模过程中算法的不断自我调节、自我更新与自我完善而逐步形成的。这种训练的样本也需要足够多才能使模型逐渐稳定。对于这种学习方法,目前其常用的有关联规则方法、聚类分析方法等。
无监督学习的样本较易获得,但所得到的模型规范性不足。

聚类问题

思想就是“物以类聚,人以群分”,聚类算法感知样本间的相似度,进行类别归纳,对新的输入进行输出预测,输出变量取有限个离散值。

换言之,聚类就是按照某个特定标准把一个数据集分割成不同的类或簇。

K均值聚类(Kmeans)算法

流程:

  1. 随机地选择k个点,每个点代表一个簇的中心;
  2. 将其他所有对象根据其与各簇中心的距离,将它赋给最近的簇;
  3. 重新计算每个簇的平均值,更新为新的簇的中心;
  4. 不断重复2、3,直到准则函数收敛。

【Python】机器学习入门(一)_第8张图片

降维问题

能在减少数据集中特征数量的同时,避免丢失太多信息并保持/改进模型性能的方法。

主成分分析法(PCA)

其主要思想是降维,把多指标转化为少数几个综合指标

半监督学习

半监督学习又称混合监督学习,是先用少量带标号样本数据做训练,接下来即可用大量的不带标号样本训练,这样做既可避免带标号样本难以取得的缺点,也可避免最终模型规范性不足的缺点。这是一种典型的半监督学习方法。
此外,还有一些非典型的半监督学习方法,又称弱监督学习方法。半监督学习方法目前常用的有:迁移学习方法等;弱监督学习方法目前常用的有:强化学习方法等。

模型评估

损失函数

损失函数评价模型所产生的预测结果的一个函数,衡量一组参数的好坏,在线性回归中则是a和b的好坏,损失函数的反馈值时机器学习调整参数的重要依据。

对于回归问题,采用以下几种损失函数:

  • 均方误差(MSE)
    在这里插入图片描述
  • 均方根误差(RMSE)
    在这里插入图片描述
  • 平均绝对值误差(MAE)
    在这里插入图片描述
  • 平方损失函数
    经常用在预测标签y为实数值的任务中,一般不适用于分类问题。
    在这里插入图片描述
  • 交叉熵损失函数
    对于两个概率分布,一般可以用交叉熵来衡量它们的差异.
    和模型预测分布(; )之间的交叉熵为:
    【Python】机器学习入门(一)_第9张图片

欠拟合和过拟合

欠拟合:泛化能力差,训练样本集准确率低,测试样本集准确率低。可能由于模型复杂度过低,特征量过少造成,可以采用提高样本数量和提高模型复杂度等方法解决。
过拟合:泛化能力差,训练样本集准确率高,测试样本集准确率低。可能由于训练数据少和噪声以及模型能力强等原因造成的.为了解决过拟合问题,一般会引入参数的正则化。
合适的拟合程度:泛化能力强,训练样本集准确率高,测试样本集准确率高
【Python】机器学习入门(一)_第10张图片

优化方法

机器学习的训练过程其实就是最优化问题的求解过程。

梯度下降法

首先,我们有一个可微分的函数,找到给定点的梯度 ,然后朝着梯度相反的方向,就能让函数值下降的最快!因为梯度的方向就是函数之变化最快的方向。
所以,我们重复利用这个方法,反复求取梯度,最后就能到达局部的最小值,这就类似于我们下山的过程。而求取梯度就确定了最陡峭的方向,也就是场景中测量方向的手段。
【Python】机器学习入门(一)_第11张图片

学习来源

《人工智能导论》(徐洁磐,人工智能导论,中国铁道出版社有限公司)
机器学习入门
机器学习之回归问题
机器学习之KNN(k近邻)算法详解

你可能感兴趣的:(python,人工智能)