机器学习(基础)

简介: 机器学习(基础)

1. 什么是机器学习?


机器学习是一种人工智能的分支,它利用数据和算法来实现自动化的学习过程,从而使计算机能够从经验中提取规律和知识,并用于预测、分类、聚类、识别等任务。


机器学习的核心思想是从数据中学习模式和规律,进而利用这些规律来推断和预测未知数据的行为。因此,其过程主要包括数据预处理、特征提取、模型训练和模型评估等步骤。


机器学习在很多领域都有广泛的应用,如自然语言处理、计算机视觉、医疗诊断、金融风控、推荐系统等。


重点归纳:

  • 机器学习本质上是一种数学模型。机器学习的目的就是自动找到最合适的函数。
  • 因为现实问题往往非常复杂,难以(或者不可能)建立完全精确的数学解析模型,因此机器学习就非常必要。

高中数学学习的最小二乘法也能算得上是一种机器学习,但是现实生活中,能有多少场景能简单到用线性函数就能表达的呢

2. 机器学习分类


按学习方式分类,机器学习分为有监督学习和无监督学习两种。


总的来说,有监督学习需要对数据进行标注,而无监督学习则不需要标注,两种学习方式都有其适用的场景和算法。


2.1 有监督学习(Supervised Learning)


有监督学习是指给算法提供带有标记的训练数据,让算法通过学习标记和特征之间的关系,得出一个能够对新的未标记数据进行正确分类或预测的模型。例如,给算法提供带有“猫”或“狗”标记的图片,让算法学习图片的特征和它们所对应的标记之间的关系,以便对新的未标记图片进行分类。


2.2 无监督学习(Unsupervised Learning)


无监督学习则是指给算法提供没有标记的训练数据,让算法自行学习数据之间的关系和规律,进而对新的未知数据进行分类、聚类或者降维等操作。


例如在电商网站中,可以利用聚类算法将人们的行为和偏好相似的用户分组,从而可以对他们进行更加个性化的推荐。聚类算法可以被用于许多其他领域,例如有监督学习的前置处理,图像分割,语音识别,生物信息学等。


3. 损失函数


损失函数是指用来衡量模型预测结果与真实结果之间差异的函数。在机器学习中,常用损失函数来评估模型的训练效果,并通过优化损失函数来更新模型参数。常见的损失函数包括以下几种:


  1. 均方误差(MSE):MSE是回归问题中最常用的损失函数,它衡量模型预测值与实际值之间的平均差值的平方。
  2. 交叉熵(Cross Entropy):交叉熵是分类问题中常用的损失函数,它可以衡量模型预测值与实际值之间的差异。
  3. 对数损失(Log Loss):对数损失是二元分类问题中常用的损失函数,它可以测量模型预测值与实际值之间的差异。
  4. Hinge Loss:Hinge Loss是支持向量机(SVM)中使用的损失函数,它可以衡量模型预测值与实际值之间的差异。
  5. KL散度(KL Divergence):KL散度是一种度量两个概率分布之间差异的方法,它常用于无监督学习中的聚类算法。


不同的损失函数适用于不同的学习任务和模型类型,选择合适的损失函数可以提高模型的性能和训练效果。


3.1 损失的来源


机器学习中损失值可能有以下几种来源:


  1. 模型本身的复杂度不足或过度,导致预测结果与真实值之间的差距较大。
  2. 数据集中存在噪声或离群值,使得模型的预测结果偏差较大。
  3. 数据集中某些特征的信息量不足,导致模型无法充分利用数据中的信息进行预测。
  4. 数据集的样本规模较小,训练数据不足以充分训练模型。
  5. 数据集中存在与目标变量相关的变量或因素未被考虑,从而影响模型的预测效果。
  6. 模型选择的损失函数不适合当前的数据集和问题,或者模型训练的超参数设置不合适。


通过识别和分析损失的来源,可以优化模型和训练数据,进一步提高模型的预测性能。


3.2 Variance和Bias


Bias是指模型在训练数据上表现的好坏,即模型的预测结果与真实值之间的偏差。如果模型的Bias很大,说明模型在训练数据上的表现不够好,可能出现欠拟合现象。这种情况下,模型无法很好地捕捉到数据之间的关系,预测结果会比较偏离真实值。


Variance是指模型在测试数据上的波动性,即同样的模型在不同的测试数据上的预测结果之间的差异。如果模型的Variance很高,说明模型过度拟合了训练数据,在测试数据上的预测结果可能会出现较大的误差。这种情况下,模型对于训练数据的噪声过于敏感,导致模型预测的结果不稳定。


在机器学习中,通常需要在Bias和Variance之间进行权衡,以达到最优的预测性能。如果Bias过大,可以选择增加模型的复杂度,比如添加更多的特征或增加神经网络的层数。而如果Variance过高,可以采用正则化等方法来减少模型复杂度,并使模型更加稳定。


3.3过度拟合(Overfitting)与欠拟合(Underfitting)


通过机器学习得出的模型,在train组表现很好,在test组表现很差即为Overfitting;如果在train组表现就很差,即为Underfitting。


4. 损失函数的优化


损失函数的优化过程的目标就是通过调整模型参数来最小化损失函数,从而使模型的预测结果更加准确。


以下是优化损失函数的基本过程:


  1. 选择优化函数:常见的优化算法包括随机梯度下降(SGD)、动量法、RMSprop、Adam等。这些算法主要是为了更快地收敛到全局最优解或局部最优解,并且可以避免梯度下降算法中的局部最优问题。
  2. 初始化模型的参数:通常情况下,模型的参数都是随机初始化的。
  3. 计算损失函数:将训练数据输入到模型中,根据模型的预测结果和实际结果计算损失函数的值。
  4. 计算梯度:使用反向传播算法计算损失函数对于模型参数的梯度。
  5. 更新模型参数:根据梯度信息和学习率(learning rate),更新模型的参数。
  6. 重复上述步骤:重复执行上述步骤,直到达到预设的训练轮次或者损失函数达到一个较小的阈值。


相关文章
|
机器学习/深度学习 Web App开发 算法
ML之RF:随机森林RF算法简介、应用、经典案例之详细攻略
随机森林指的是利用多棵决策树对样本进行训练并预测的一种分类器。它包含多个决策树的分类器,并且其输出的类别是由个别树输出的类别的众数而定。随机森林是一种灵活且易于使用的机器学习算法,即便没有超参数调优,也可以在大多数情况下得到很好的结果。随机森林也是最常用的算法之一,因为它很简易,既可用于分类也能用于回归。
ML之RF:随机森林RF算法简介、应用、经典案例之详细攻略
|
机器学习/深度学习 人工智能 算法
详解机器学习概念、算法
详解机器学习概念、算法
详解机器学习概念、算法
|
机器学习/深度学习 算法
【Deepin 20系统】机器学习分类算法模型xgboost、lightgbm、catboost安装及使用
介绍了在Deepin 20系统上使用pip命令通过清华大学镜像源安装xgboost、lightgbm和catboost三个机器学习分类算法库的过程。
386 4
|
存储 算法 搜索推荐
【数据结构与算法】归并排序(详解:递归与非递归的归并排序 | 赠:冒泡排序和选择排序)
【数据结构与算法】归并排序(详解:递归与非递归的归并排序 | 赠:冒泡排序和选择排序)
|
并行计算 PyTorch 编译器
|
机器学习/深度学习 资源调度 自然语言处理
循环神经网络RNN完全解析:从基础理论到PyTorch实战1
循环神经网络RNN完全解析:从基础理论到PyTorch实战
2033 0
|
机器学习/深度学习 人工智能 自然语言处理
|
机器学习/深度学习 算法 数据挖掘
深度学习中常用损失函数介绍
选择正确的损失函数对于训练机器学习模型非常重要。不同的损失函数适用于不同类型的问题。本文将总结一些常见的损失函数,并附有易于理解的解释、用法和示例
769 0
深度学习中常用损失函数介绍
|
数据采集 存储 数据可视化
【优秀python数据分析案例】基于python的中国天气网数据采集与可视化分析的设计与实现
本文介绍了一个基于Python的中国天气网数据采集与可视化分析系统,通过requests和BeautifulSoup库实现数据爬取,利用matplotlib、numpy和pandas进行数据可视化,提供了温湿度变化曲线、空气质量图、风向雷达图等分析结果,有效预测和展示了未来天气信息。
3497 3
|
机器学习/深度学习 人工智能 自然语言处理
什么是深度学习模型?如何部署它?
【8月更文挑战第23天】
827 0