机器学习基础

本文详细介绍了机器学习的基础概念,包括其定义、关键术语,以及主要任务如分类、回归等。讲解了如何选择合适的算法,考虑任务目标和数据特性,并概述了开发机器学习应用程序的基本步骤,强调实践的重要性。
摘要由CSDN通过智能技术生成

目录

1 机器学习

1.1 机器学习的定义        

1.2 一些关键术语

2 机器学习的主要任务

3 如何选择合适的机器学习算法

4 开发机器学习应用程序的一般步骤


1 机器学习

1.1 机器学习的定义        

        机器学习就是把无序的数据转换成有用的信息。机器学习算法通过对大量数据的分析和学习,能够自动发现数据中的模式,并利用这些模式来做出预测或做出决策。

        机器学习横跨了计算机科学、工程技术和统计学等多个学科。

1.2 一些关键术语
  • 数据集 (Dataset):用于训练和评估机器学习模型的数据集合。
  • 特征 (Feature):用于描述数据集中每个样本的属性或特性,也称为输入变量。特征类型有数值型、二值型、枚举型等。
  • 标签 (Label):用于监督学习的数据集中的输出变量,表示样本的真实结果或目标。在分类算法中目标变量的类型通常是标称型的(即,离散型的分类类别),而在回归算法中通常是连续型的。
  • 模型 (Model):通过机器学习算法从数据中学习到的规律或模式的表达形式。该模型可以用于预测新数据的结果或进行决策。
  • 算法训练 (Training):机器学习模型通过使用训练数据集来学习数据的规律或模式的过程。
  • 训练集(TrainDataset):用于训练机器学习算法的数据样本集合。
  • 测试集 (TestDataset):用于评估机器学习模型性能的数据集,该数据集与训练数据集是独立的。
  • 监督学习 (Supervised Learning):一种机器学习方法,训练数据包含了输入和相应的输出(标签),模型通过学习输入和输出之间的关系来进行预测,例如分类和回归。
  • 无监督学习 (Unsupervised Learning):一种机器学习方法,训练数据只包含输入,模型通过学习数据之间的隐藏结构或模式来发现数据的内在关系,例如聚类、密度估计等,无监督学习可以减少数据特征的维度。
  • 半监督学习 (Semi-supervised Learning):一种机器学习方法,训练数据集包含部分有标签数据和部分无标签数据,模型利用有标签数据进行监督学习,并利用无标签数据进行学习。
  • 强化学习 (Reinforcement Learning):一种机器学习方法,模型通过与环境互动,在尝试达到某个目标的过程中学习最优的行为策略。
  • 损失函数 (Loss Function):用于度量模型预测结果与实际标签之间的差异的函数。
  • 优化算法 (Optimization Algorithm):用于调整模型参数以最小化损失函数的算法。
  • 过拟合 (Overfitting):当模型过度学习训练数据中的噪声或特定样本的特征,导致在新数据上表现不佳的情况。
  • 欠拟合 (Underfitting):当模型未能捕获数据中的相关关系,导致无法对训练数据或新数据进行准确预测的情况。
  • 交叉验证 (Cross-validation):一种评估机器学习模型泛化性能的技术,通过将数据集划分为多个子集,在不同的子集上进行训练和评估,以减少评估结果的方差。

 

2 机器学习的主要任务

  • 分类 (Classification):将数据集中的样本划分到不同的类别中。常见应用:垃圾邮件识别、图像分类、医学诊断等。
  • 回归 (Regression):主要用于预测连续型变量的数值。例如房价预测、销售量预测等。
  • 聚类 (Clustering):将数据集中的样本划分为不同的组别,使得组内的样本相似度较高,组间的相似度较低,常用于市场细分、社交网络分析等。
  • 降维 (Dimensionality Reduction):减少数据集中特征的维度,保留最重要的特征信息,可以帮助减少计算复杂度、去除冗余信息、可视化数据等。
  • 异常检测 (Anomaly Detection):识别数据集中与大多数样本不同的异常样本,可应用于信用卡欺诈检测、网络安全等领域。
  • 关联规则学习 (Association Rule Learning):发现数据集中项目之间的关联关系。例如购物篮分析中的频繁项集挖掘。
  • 强化学习 (Reinforcement Learning):通过与环境的交互学习最优的动作策略,应用于机器人控制、游戏玩法优化等。
  • 生成对抗网络 (Generative Adversarial Networks, GANs):学习生成能够欺骗判别器的新数据,以此来生成逼真的数据样本,可用于图像生成、数据增强等。
  • 自然语言处理 (Natural Language Processing, NLP):处理和理解人类语言的任务,包括文本分类、命名实体识别、情感分析等。
  • 推荐系统 (Recommendation Systems):根据用户的历史行为和偏好,预测用户可能感兴趣的物品,此系统多应用于电商平台、社交媒体等。

 

3 如何选择合适的机器学习算法

选择实际可用的算法,须考虑下面两个问题:

1、使用机器学习算法的目的,想要算法完成何种任务?

  • 如果要预测目标变量的值,则可以选择监督学习算法,否则可以选择无监督学习算法。
  • 确定选择监督学习算法之后,需要进一步确定目标变量类型:
    • 如果目标变量是离散型,如是/否、A/B/C、红/黄/黑等,可选择分类算法;
    • 如果目标变量是连续型数值,如0.0~100.00、-999~999等,则选择回归算法。

2、需要分析或收集的数据是什么?

        我们应该充分了解数据,对数据了解得越充分,越容易创建符合实际需求的应用程序。主要应该了解数据的以下特性:

  • 特征值是离散型变量还是连续型变量;
  • 特征值中是否存在缺失的值,何种原因造成缺失值;
  • 数据中是否存在异常值,某个特征发生的频率如何(是否罕见得如同海底捞针),等等

        充分了解这些数据特性可以缩短选择机器学习算法的时间。

        一般来说,发现最好算法的关键环节是反复试错的迭代过程。一般并不存在最好的算法或者可以给出最好结果的算法,我们要尝试不同算法的执行效果。对于所选的每种算法,都可以使用其他的机器学习技术来改进其性能。

 

4 开发机器学习应用程序的一般步骤

1)收集数据。有很多方法收集样本数据,如:制作网络爬虫从网站上抽取数据、使用公开可用的数据源等。

2)准备输入数据:得到数据后

  • 必须确保数据格式符合要求;
  • 为使用的机器学习算法准备特定的数据格式;

3)分析输入数据:此步骤主要是人工分析得到的数据,确保数据集中没有垃圾数据。

  • 最简单的方法是用文本编辑器打开数据文件,查看得到的数据是否为空值;
  • 可以进一步浏览数据,分析是否可以识别出模式;数据中是否存在明显的异常值等;
  • 可通过图形化展示数据;

4)训练算法。机器学习算法从这一步才真正开始学习,根据算法的不同,我们将前两步得到的格式化数据输入到算法,从中抽取知识或信息。如果使用无监督学习算法,由于不存在目标变量值,则不需要训练算法这一步骤。

5)测试算法。对于监督学习,已知了用于评估算法的目标变量值;对于无监督学习,用其他的评测手段来检验算法的成功率。无论哪种情形,如果不满意算法的输出结果,则可以回到第4步,改正并加以测试。

6)使用算法。将机器学习算法转换为应用程序,执行实际任务,以检验上述步骤是否可以在实际环境中正常工作。此时如果碰到新的数据问题,同样需要重复执行上述的步骤。


 

文末作者语:本篇内容纯理论知识,要想深刻掌握还需结合实际案例,多进行编程实战 。

  • 43
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值