当前位置: 首页 > news >正文

全面了解机器学习

目录

一、基本认识

1. 介绍

2. 机器学习位置

二、机器学习的类型

1. 监督学习

2. 无监督学习

3. 强化学习

三、机器学习术语

1. 训练样本

2. 训练

3. 特征

4. 目标

5. 损失函数

四、机器学习流程

五、机器学习算法

1. 分类算法

2. 聚类算法

3. 关联分析

4. 回归分析

① 线性回归

② 逻辑回归

③ 多项式回归

④ 岭回归

⑤  LASSO 回归

5. 深度学习


一、基本认识

1. 介绍

        在当今的 科技时代,大量结构化 和 非结构化数据是我们的 丰富资源。机器学习在 20世纪 下半叶演变为 人工智能(Al)的 一个分支,它 通过 自学习算法 从数据中 获得知识来 进行预测。机器学习 并不需要 事先对 大量数据进行 人工分析,然后 提取规则 并建立模型,而是 提供了一种更为 有效的方法 来捕获 数据中的 知识,逐步提高 预测模型的性能,以 完成数据驱动的决策。

2. 机器学习位置

        机器学习是 人工智能的一个分支,作为 人工智能的核心技术和实现手段,通过机器学习的方法解决人工智能面对的问题。机器学习是通过一些让计算机可以自动 “学习” 的算法,从数据中分析获得规律,然后利用 规律对新样本 进行预测。

        从本质上看,数据科学 的 目标是 通过处理 各种数据促进 人们的决策,机器学习 的主要任务 使机器模仿 人类的学习,从 而获得知识。而 人工智能借助机器学习 和 推理最终是形成具体的 智能行为。

二、机器学习的类型

1. 监督学习

        监督学习的主要目标是 从有标签的训练数据中学习模型,以便对未知或未来的 数据做出预测。其中,模型的输入是 某一样本的特征,函数的 输出是这一样本对应的标签。这里的 “监督” 一词指的是 已经知道训练样本(输入数据)中期待的输出信号(标签)

2. 无监督学习

        无监督学习 又称为 非监督式学习,它的输入样本并不需要标记,而是 自动从样本中 学习特征实现预测。用无监督学习技术,可以 在没有 己知结果变量 或 奖励函数的指导下,探索 数据结构来提取有意义的信息。

3. 强化学习

        强化学习是 通过观察来学习 做成什么样 的动作。每个动作 都会对环境 有所影响,学习对象根据观察到的 周围环境的反馈来 做出判断。强化学习强调 如何基于环境而行动,以取得最大化的预期利益。强化学习的 反馈并非标定过的 正确标签 或数值,而是 奖励函数对行动度量的结果。通过探索性的试错 或 深思熟虑的规划 来最大化 这种奖励。

        强化学习 有许多不同的子类。然而,一般模式是 强化学习智能体 试图通过 与环境的一系列 交互来 最大化奖励。

三、机器学习术语

1. 训练样本

        表中的行,代表数据集的观察、记录、个体或者样本(在多数情况下,样本指训练样本集)。

2. 训练

        模型拟合,对参数型模型而言,类似参数估计。

3. 特征

        缩写为x,指数据表或矩阵的列。与预测因子、变量、输入、属性或协变量同义。

4. 目标

        缩写为y,与结果、输出、响应变量、因变量、分类标签和真值同义。

5. 损失函数

        经常与代价函数 同义。有时也被 称为误差函数。在有些文献中,术语损失 指的是对 单个数据点进行测量的 损失,而代价是 对整个数据集进行测量(平均或者求和)的损失。

四、机器学习流程

        ① 在对原始数据进行数据探索后,可能发现不少问题,如缺失数据、数据不规范、数据分布不均衡、数据异常、数据冗余等。这些问题都会影响数据质量。为此,需要 对数据进行预处理归一化、离散化、缺失值处理、去除共线性等,是机器学习的常用 预处理方法。

        ② 特征选择是否合适,往往会直接影响 模型的结果,对于 好的特征,使用 简单的算法也能得出良好、稳定的结果。特征选择 时可 应用特征 有效性分析技术,如相关系数、卡方检验、平均互信息、条件熵、后验概率和逻辑回归权重等方法

        ③ 训练模型 前,一般会把数据集分为训练集和测试集,或对训练集再细分为 训练集和验证集,从而对模型的 泛化能力 进行评估。模型本身 并没有优劣。在模型选择时,一般不存在 对任何情况都表现很好的 算法,这又称为 “没有免费的午餐” 原则。因此在实际选择时,一般会用 几种不同方法 来进行模型训练,然后比较 它们的性能,从中选择 最优的一个。不同的模型 使用不同的 性能 衡量指标。

        ④ 使用 训练数据构建模型后,需使用 测试数据 对模型进行测试和评估,测试模型 对新数据的泛化能力。如果测试结果 不理想,则分析原因并 进行模型优化。如果 出现 过拟合,特别是 在回归类问题 中,则可以 考虑正则化方法来 降低模型的 泛化误差。过拟合、欠拟合判断是 模型诊断中 重要的一步,常见的 方法有交叉验证、绘制学习曲线等。过拟合的 基本调优思路 是增加数据量,降低模型复杂度。欠拟合的基本调优思路 是 提高特征数量 和质量,增加模型 复杂度。

五、机器学习算法

        根据机器学习的 任务分类,可以分为回归、分类、聚类三大常见机器学习任务。

1. 分类算法

        分类算法是 应用分类规则对记录进行目标映射,将其 划分到不同的分类中,构建具有 泛化能力的 算法模型,即 构建映射规则来 预测未知样本的类别。

        分类算法包括 预测 和 描述 两种。

     ① 预测:经过 训练集学习的 预测模型 在遇到 未知记录时,应用规则 对其进行类别 划分。

     ② 描述:主要是 对现有数据 集中特征 进行解释并进行 区分,例如 对动植物的各项特征进行描述,并进行标记分类,由这些 特征来决定其属于哪一类目。

        主要的分类算法包括 决策树、支持向量机(Support Vector Machine,SVM)、最近邻(K-Nearest Neighbor,KNN) 算法、贝叶斯网络 (BayesNetwork) 和 神经网络等。

2. 聚类算法

        聚类按照 数据的 内在结构特征 进行聚集 形成簇群,从而 实现数据的分离。聚类与分类 的主要区别 是其 并不关心数据是什么类别,而是把相似的数据聚集 起来形成某一类簇 

        在聚类的过程中,首先 选择有效特征 构成向量,然后按照 欧氏距离或其他距离函数 进行相似度计算,并划分聚类,通过对聚类结果 进行评估,逐渐迭代生成 新的聚类。

        聚类方法可分为 基于层次的聚类(Hierarchical Method)、基于划分的聚类 (Partitioning Method,PAM)、基于密度的聚类、基于约束的聚类、基于网络的聚类等。

     ① 基于层次的聚类:是 将数据集分为 不同的层次, 并 采用分解 或 合并的 操作进行聚类,主要包括 BIRCH (Balanced lterative Reducing andClustering using Hierarchies)、 CURE (Clustering UsingRepresentatives) 等。

     ② 基于划分的聚类:是 将数据集 划分为 k个簇,并对其中的 样本计算距离 以获得 假设簇 中心点,然后 以簇的中心点 重新迭代计算 新的中心点,直到 k个簇 的中心点 收敛为止。基于划分的聚类有 k均值 等。

     ③ 基于密度的聚类:是 根据样本的 密度不断增长 聚类,最终 形成一组 “密集连接” 的点集,其 核心思想是 只要数据的密度大于 阈值 就将其合并成 一个簇,可以 过滤噪声,聚类结果可以是任意形状,不必为 凸形。基于密度的聚类方法 主要包括 DBSCAN (Density -Based Spatial Clustering ofApplication with Noise)、 OPTICS (Ordering Points To Identify theClustering Structure) 等。

3. 关联分析

        关联分析 (Associative Analysis)是 通过对数据集中 某些项目同时出现的 概率来发现 它们之问的关联关系,其 典型的应用是购物篮分析,通过 分析购物篮中不同商品之间的 关联,分析消费者的 购买行为习惯,从而 制定相应的 营销策略,为商品促销、产品定价、位置摆放等提供支持,并且可用于对 不同消费者群体的划分。

        关联分析 主要包括 Apriori算法 和 FP-growth算法

4. 回归分析

        回归分析 是一种 研究自变量和因变量之间关系的 预测模型,用于 分析当自变量发生变化时因变量的变化值,要求 自变量相互独立。

① 线性回归

        应用线性回归 进行分析时要求自变量是连续型,线性回归用直线(回归线)建立因变量和一个或多个 自变量之间的关系。

② 逻辑回归

        逻辑(Logistic)回归是 数据分析中的 常用算法,其输出的是 概率估算值,将此值用 Sigmoid 函数进行映射到 [0,1] 区间,即可用来 实现样本分类。逻辑回归 对样本量有一定要求,在样本量较少时,概率估计的 误差较大。

③ 多项式回归

        在回归分析 中有时会 遇到线性回归的 直线拟合 效果不佳,如果发现 散点图中数据点呈多项式曲线时,可以考虑使用 多项式回归来分析。使用 多项式回归可以降低模型 的误差,但是 如果处理不当易造成 模型过拟合,在 回归分析 完成之后 需要 对结果 进行分析,并 将结果可视化 以查看其拟合程度。

④ 岭回归

        岭回归在共线性数据分析中应用较多,也称为脊回归,它是一种有偏估计的回归方法,是在最小二乘估计法的 基础上做了改进,通过 舍弃最小二乘法的无偏性,使回归 系数更加稳定 和 稳健。其中 R方值 会稍低于 普通回归分析方法,但回归系数更加显著,主要用于 变量间存在 共线性和数据点较少时。

⑤  LASSO 回归

        LASSO 回归的 特点 与岭回归 类似,在拟合模型 的同时 进行变量筛选 和 复杂度调整。变量筛选是逐渐 把变量放入模型 从而得到 更好的自变量组合。复杂度调整 是通过参数调整 来控制模型的 复杂度,例如 减少自变量的数量等,从而避免 过拟合。LASSO 回归也是 擅长处理 多重共线性或存在一定 噪声和冗余的数据,可以支持连续型因变量、二元、多元离散变量的分析。

5. 深度学习

        深度学习方法 是通过使用多个隐藏层和大量数据来 学习特征,从而 提升分类 或 预测的准确性,与传统的神经网络相比,不仅 在层数上较多,而且采用了逐层训练的机制来训练整个网络,以防出现梯度扩散。

        深度学习包括受限 玻尔兹曼机(RBM)、深度信念网(DBN)、卷积神经网络(CNN)、层叠自动编码器(SAE)、深度神经网络(DNN)、循环神经网络(RNN)、对抗神经网络(GAN)以及 各种变种网络 结构。

        这些 深度神经网络 都可以 对训练集数据 进行特征提取 和 模式识别,然后 应用于样本的分类。

相关文章:

  • 数据结构 - C/C++ - 队列
  • 《刺客信条:英灵殿》找不到emp.dll文件的多种解决方法,亲测有效
  • java 代码块
  • 【C++】main函数及返回值深度解析
  • antd中Select大数据分页触底刷新处理优化
  • 虚拟纪念展馆建设的重大意义:重新定义纪念活动的未来
  • C++——探索智能指针的设计原理
  • 深入Ruby缓存:掌握Memcached的使用艺术
  • 【ARM系列】GIC600AE功能安全
  • modify filename
  • 【有为己之心方能克己】
  • 推广旅游卡项目,一个月创收十几万,为何说旅游卡项目堪称盈利利器?
  • Oracle JDK 与 OpenJDK:如何选择及其区别
  • Echarts-饼图
  • BASH and SH in SHELL scripts
  • hexo+github搭建个人博客
  • 【Linux系统编程】快速查找errno错误码信息
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • golang 发送GET和POST示例
  • JavaScript函数式编程(一)
  • Java知识点总结(JavaIO-打印流)
  • learning koa2.x
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 利用阿里云 OSS 搭建私有 Docker 仓库
  • 前端存储 - localStorage
  • 前端面试之闭包
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 巧用 TypeScript (一)
  • 日剧·日综资源集合(建议收藏)
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 文本多行溢出显示...之最后一行不到行尾的解决
  • 一些关于Rust在2019年的思考
  • 最简单的无缝轮播
  • 阿里云重庆大学大数据训练营落地分享
  • #QT(TCP网络编程-服务端)
  • #常见电池型号介绍 常见电池尺寸是多少【详解】
  • #考研#计算机文化知识1(局域网及网络互联)
  • #控制台大学课堂点名问题_课堂随机点名
  • (arch)linux 转换文件编码格式
  • (C语言)fgets与fputs函数详解
  • (C语言)字符分类函数
  • (webRTC、RecordRTC):navigator.mediaDevices undefined
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (自适应手机端)响应式服装服饰外贸企业网站模板
  • **PHP分步表单提交思路(分页表单提交)
  • *1 计算机基础和操作系统基础及几大协议
  • *setTimeout实现text输入在用户停顿时才调用事件!*
  • .apk 成为历史!
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .NET Core/Framework 创建委托以大幅度提高反射调用的性能
  • .NET 中的轻量级线程安全
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .NetCore项目nginx发布
  • .Net接口调试与案例