机器学习基础1-概述

2023-05-09  本文已影响0人  牧_青

1.1、概念关系

1.2、需求层次

Scikit-Learn说明文档中的数学表达式

1.3、基本原理

机器学习的意向主要工作就叫作"训练模型",比"训练"表达更准确的词,叫做“拟合”。拟合是机器学习的主要工作。

1.3.1、算法模型和损失函数

算法模型输出一个数值,损失函数经过计算,回馈一个偏差结果,算法模型是根据这个偏差结果进行调整,在输出一个数值,周而复始,直到正确为止。这就是机器学习的学习过程,这个过程称作拟合。

1.3.2、欠拟合和过拟合

1.4、机器学习的基本概念

1.4.1、术语介绍

  1. 常用术语

    • 模型(model)

      机器学习的核心概念,机器学习的量大组成部分是<u>模型</u>和<u>数据集</u>

    • 数据集

      有些文献又将数据集分为<u>训练集</u>和<u>测试集</u>

    • 数据

      数据集就是数据的集合,一条数据称为一个样本(sample),形式类似于一维数组,样本通常包含多个特征(Feature)

      • 如果是用于分类问题的数据集,还会包含类别(Class Lablel)
      • 如果是用于回归问题的数据集,还会包含一个连续型的数值
    • 特征

      某个对象的几个记录的维度。例如个人信息表,特征就是这张表里的空格,如名字,性别,出生日期,籍贯等。

      数据类型类似一维数组,特征就是数值的值

    • 向量

      可以理解为向量就是该类算法所对应的数据结构,一条样本数据就是以一个向量的形式输入模型的。

      一条监督学习数据的向量形式如下:

      [特征值x1值,特征值x2值, ..., Y1值]
      
    • 矩阵

      可以将矩阵看做事向量组成的数组,形式上非常接近二维数组。

数据库矩阵
  1. 常用函数

    • 假设函数(Hypothesis Function)

      用H(x)表示

    • 损失函数(Loss Function)

      用L(x)表示,x是假设函数的预测结果。函数返回值越大,表示结果偏差越大

    • 成本函数(Cost Function)

      用J(x)表示,x也是假设函数的预测结果。返回值越大,表示结果偏差越大

      区分损失函数和成本函数的关键在于对象,损失函数是针对单个样本,成本函数则是针对整个数据集。也就是说,损失函数求得的总和就是成本函数。成本函数是由损失函数计算得到的

      在实际计算中,可以选择令成本函数为损失函数值的总和,也可以令成本函数是损失函数值的平均值。

1.4.2、机器学习的基本模式

要开始进行机器学习,至少需要准备三样东西:

将数据"喂"给假设函数,假设函数会"吐"出一个结果,这仅仅是个预测结果, 需要使用损失函数对预测结果进行评估,一边告诉我们它与真实情况到底差了多少。

基本模式

但是仅仅知道差了多少并没有什么用,然后就会根据损失函数的返回结果,用一个名为<u>优化方法</u>的过程来调整假设函数

1.4.3、优化方法

  1. 假设函数对输入数据产生期望的输出,即预测值
  2. 损失函数则通过比较预测值和实际值算出损失值
  3. 损失函数把损失值告诉优化方法,优化方法告诉假设函数如果调整参数

优化方法可能会比较简单,例如:

新参数值 = 旧参数值 - 损失值

这种方法比较简单,只有在极特殊的情况下使用,不过也有专门的优化方法,例如:

梯度下降(Gradient Descent)法是机器学习中常用的一种优化方法,梯度是微积分学的术语。某个函数在某点的梯度指向该函数取得最大值的方向,那么它的反方向自然就是取的最小值的方向。

  1. 首先由梯度确定方向
  2. 当损失值比较大时,梯度会比较大,假设函数的参数更新幅度也会更大一些
  3. 随着损失值慢慢变小,梯度也随之慢慢变小,假设函数的参数更新幅度也会更小

如果样本数量庞大,完成一次完整的梯度下降需要很长时间,在实际工作中会根据情况调整每次参与损失计算的样本数量。

1.4.3、机器学习问题分类

机器学习问题具体类别的判断方法图

1.6、常见的机器学习算法

  1. 线性回归算法

    最基本的机器学习算法,使用线性方法解决回归问题

  2. Logistic回归算法

    其思想核心依然是线性方法,但是加了Logistic函数,让其具有解决分类问题的能力

  3. KNN分类算法

    不依赖数学或统计模型,通过"找最近邻"的思想解决分类问题,其核心思想和区块链技术中的共识机制有着深远的关系

  4. 朴素贝叶斯分类算法

    认为结果不是确定性的而是概率性的,眼前所见的不过是概率最大的结果。用来解决分类算法

  5. 决策树分类算法

  6. 支持向量机分类算法

    使用数学将线性不可分的数据点映射成线性可分,再用最简单的线性方法来解决问题

  7. K-means聚类算法

  8. 神经网络分类算法

    神经网络就是由许多神经元连接所构成的网络,很多人认为该算法是一种仿生算法,模仿的对象正是我们的大脑。神经网络分类算法是当下热门的深度学习算法的起点

1.7、机器学习算法的性能衡量指标

机器学习算法尊层NFL定律,即所有的机器学习算法中,并不存在最厉害的算法。

在分类问题中,将机器学习模型的预测与实际情况进行对比后,结果可以分为四种:

有了结果分类,就可以计算指标了,常用的指标有三个:

准确率 精确率 召回率

1.8、数据对算法结果的影响

1.8.1、数据决定了算法的能力上限

数据决定了模型能够达到的上限,而算法只是逼近这个极限

1.8.2、特征工程

统计时也可以有多种维度,这些统计维度就是前面所介绍的组成一条样本数据的多个特征

机器学习模型正式从这些特征中进行学习,特征有多少价值,机器才能学多少价值。

上一篇 下一篇

猜你喜欢

热点阅读