【机器学习---01】机器学习

news2024/9/22 3:58:38

文章目录

  • 1. 什么是机器学习?
  • 2. 机器学习分类
    • 2.1 基本分类
    • 2.2 按模型分类
    • 2.3 其他分类(不重要)
  • 3. 机器学习三要素
  • 4. 监督学习的应用(分类、标注、回归问题)

在这里插入图片描述

1. 什么是机器学习?

定义:给定训练集D,让计算机从一个函数集合F = {f1(x),f2(x),…}中自动寻找一个最优的函数 f * 来近似的表示特征向量与标签y之间的映射关系。

2. 机器学习分类

2.1 基本分类

  1. 监督学习:样本有标签y
    在这里插入图片描述

    • 建立模型所涉及的函数有两类:
      1. 概率函数 / 条件概率分布:P(y | x) 输入样本x后,输出的是y的概率分布。【比如输入x=1,输出{y=1.1的概率为30%,y=1.2的概率为30%,y=1.3的概率为40%}】
      2. 决策函数:y = f(x) 输入样本x后,输出的是具体值y
  2. 无监督学习:样本无标签y
    在这里插入图片描述

    • 建立模型所涉及的函数有3类:
      1. 聚类
        1. 硬聚类(一个样本只能对应一个类):z = gθ(x) 输入样本x后,输出的是具体类别z
        2. 软聚类(一个样本可能对应多个类,比如番茄既属于水果也属于蔬菜):Pθ(z | x) 输入样本x后,输出的是类别z的概率分布
      2. 降维:z = gθ(x) 其中 x ∈ 样本空间,z ∈ 样本空间
      3. 概率模型估计:Pθ(x | z) 怎样一个模型z使得样本x出现的概率最大
  3. 半监督学习:少量样本有标签y,大部分样本没有标签y

  4. 强化学习:积累正确经验的最大化

    • 建立模型所涉及的函数有2类:
      1. 有模型的:直接学习马尔可夫决策过程,既求出状态转移函数和奖励函数,知道完整的五元组信息。
      2. 无模型的:不知道完整的五元组信息
        1. 基于策略的:初始化策略并求出对应的价值,然后不断的根据价值迭代更新策略,等到价值收敛时,可直接得到最优策略 л* (因为前面记录了策略迭代过程)
          在这里插入图片描述

        2. 基于价值的:初始化价值,然后不断的迭代更新价值,等到价值收敛时,可根据获取最大价值间接得到最优策略 л * (获取最大价值的路线就是最优策略的路线)
          在这里插入图片描述

2.2 按模型分类

  1. 概率模型与 非概率模型 / 确定模型:

    1. 概率模型:粗略理解为输出的是概率分布,本质是指模型能够用联合概率分布的形式表示
      在这里插入图片描述

    2. 非概率模型 / 确定模型:粗略理解为输出的是具体值,本质是指模型不能够用联合概率分布的形式表示
      在这里插入图片描述

    • 例如:
      在这里插入图片描述
    • 注意:条件概率分布形式 与 函数形式 可以相互转换。所以上面概率模型与非概率模型的定义中才说可以粗略的根据输出是概率分布还是具体值判断。
      1. 条件概率分布形式最大化后得到函数形式
      2. 函数归一化后得到条件概率分布形式
  2. 线性模型与非线性模型

    1. 线性模型:① 模型为决策函数而不是条件概率分布;② 且决策函数为线性函数
    2. 非线性模型:不满足线性模型条件的都叫非线性模型
      在这里插入图片描述
  3. 参数化模型和非参数化模型

    1. 参数化模型:指模型的参数个数固定
    2. 非参数化模型:指模型的参数不固定,一般随着样本增加而增加。

2.3 其他分类(不重要)

3. 机器学习三要素

机器学习的三步:

  1. 模型:根据问题建立合适的模型,一旦建立模型,就会确定模型参数,根据模型参数产生假设空间。

    • 比如建立线性回归模型 y = w*x + b后。根据参数(w, b)的不同就会产生假设空间 {y1 = w1*x + b1, y2 = w2*x + b2…}
  2. 策略:依据什么标准到假设空间中找到最优的函数?这就需要使用一个损失函数做为策略。

    1. 常见的损失函数:
      在这里插入图片描述

      注意:损失函数不一定是上面的4个,也可以自定义损失函数。比如:感知机的损失函数就是自定义:误分类点到超平面的距离。

    2. 那么模型在样本集上的平均损失用什么衡量?
      • 使用期望损失 / 期望风险
        在这里插入图片描述
      • 但是由于期望风险中每个样本真实的概率分布是不可能知道的,导致期望风险不可求。
        解决方法:默认每个样本出现的概率相等,则期望损失 / 期望风险 变为 经验损失 / 经验风险
        在这里插入图片描述
      1. 此时经验风险就是标准,当经验风险最小时的模型参数就是最优参数,即最优模型。
  3. 算法:如何求得最优参数?【因为模型已经建立,本质上就是找最优参数,将最优参数代入模型就是最优模型】

    1. 目标函数是谁?
      • 经验风险最小化:对经验风险求最优化
      • 结构风险最小化:对结构风险求最优化
      • 可能有疑惑:不是对经验风险求最小化时的参数吗?怎么又出来个对结构风险求最小化时的参数?
      • 因为结构风险 = 经验风险 + 正则项本质上还是经验风险。只不过加上正则项可以防止模型过拟合。
    2. 怎么对目标函数求最优化,得到最优参数?
      • 一般采用随机梯度下降求得出最优时的参数,从而得到最优模型。
      • 最小二乘法求得出最优时的参数,从而得到最优模型。
      • 岭回归
      • 等等
    3. 如何衡量找到的最优模型好不好?
      • 泛化误差越小越好,但是泛化误差不可求,故使用泛化误差上界来衡量模型好坏。
    4. 找到最优模型后预测效果不好怎么办?
      1. 问题1:过拟合:训练出来的模型过于复杂导致预测效果不好。主要原因之一是样本太少了。
        • 如何判断预测效果不好是因为过拟合?
        • 解决方法:
          ① 增加样本量
          ② 交叉验证
          结构风险最小化 【为什么正则化能够解决过拟合问题?】
          在这里插入图片描述
      2. 问题2:欠拟合:训练出来的模型过于简单导致预测效果不好。

4. 监督学习的应用(分类、标注、回归问题)

  1. 分类问题:模型输出离散值。【故 y = f(x)若输出为连续值,要对结果做离散化处理;P(y | x) 对结果取概率最大的为输出值】
    • 评价指标:精准率 和 召回率 【这个评价指标是用于训练模型阶段去衡量模型的好坏,然后不断的去调节分类器的分类阈值,实现更好的分类。而最终衡量模型的好坏还是使用泛化能力】
      在这里插入图片描述

      自己对精准率和召回率的理解:

      1. 精准率:衡量预测结果的准确性。比如:有 n 个人,其中 k 个人在客观上是阳性,检查结果为 h 个阳性,那么 h 越接近 k 越准确。他不在乎是否将阴性预测为了阳性或将阳性预测为了阴性,只在乎预测结果在数字上 h 接近 k 就行。
      2. 召回率:衡量预测结果的正确性。比如:有名为 {张1,张2 … 张n} n个人,其中 {张1,张2 … 张k} 在客观上是阳性 (其中 k <= n) ,检查结果为 h 个阳性,那么这 h 个人在 {张1,张2 … 张k} 中的人数越多,预测就越正确。他不在乎预测结果在数字上 h 是否接近 k ,只在乎这 h 个人是否都是 {张1,张2 … 张k} 中的人。
    • 解决分类问题的方法:近邻法、感知机、朴素贝叶斯法、决策树、逻辑斯谛回归模型、SVM、adaBoost、贝叶斯网络、神经网络
  2. 标注问题:标注问题是分类问题的一个推广,输出的也是离散值。分类问题的输出是一个值,而标注问题输出是一个向量,向量的每个值属于一种标记类型。
    • 解决分类问题的方法:隐性马尔可夫模型、条件随机场。
  3. 回归问题:输出的是连续值。用于预测输入变量和输出变量之间的关系。
    • 细分:回归问题按照输入变量的个数,可以分为一元回归和多元回归;按照输入变量与输出变量之间关系的类型,可以分为线性回归和非线性回归。
    • 解决分类问题的方法:建立一元或多元线性函数。【对于回归问题一般使用平方损失做为损失函数,在此情况下,使用最小二乘法求最优解。】

区分分类问题 与 回归问题:看输出的是离散值还是连续值。

  • 有一个新手特别容易犯的错误:记住 logistic 回归不是回归是分类! logistic回归不是回归是分类! logistic回归不是回归是分类!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/99158.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

虚拟机打不开,提示“此主机不支持虚拟化实际模式”的详细解决方法

虚拟机打不开&#xff0c;提示“此主机不支持虚拟机实际模式”的解决方法 一、第一种情况安装/启动虚拟机失败&#xff0c; 在VMWare软件中&#xff0c;安装/启动虚拟机时&#xff0c;如果出以类似以下的错误提示&#xff1a; 出现该提示是由于电脑不支持虚拟化技术或是相关功…

IDEA报错:类文件具有错误的版本 61.0,应为52.0

springboot项目启动报错&#xff1a; 类文件具有错误的版本 61.0,应为52.0 请删除该文件或确保该文件位于正确的类路径子目录中 查阅了网上的很多资料&#xff0c;普遍原因说是springboot版本过高&#xff0c;高于3.0 需要在pom文件中降低版本 也有说是idea的maven配置java版…

网购商城网站

开发工具(eclipse/idea/vscode等)&#xff1a; 数据库(sqlite/mysql/sqlserver等)&#xff1a; 功能模块(请用文字描述&#xff0c;至少200字)&#xff1a;

【Python机器学习】层次聚类AGNES、二分K-Means算法的讲解及实战演示(图文解释 附源码)

需要源码和数据集请点赞关注收藏后评论区留言私信~~~ 层次聚类 在聚类算法中&#xff0c;有一类研究执行过程的算法&#xff0c;它们以其他聚类算法为基础&#xff0c;通过不同的运用方式试图达到提高效率&#xff0c;避免局部最优等目的&#xff0c;这类算法主要有网格聚类和…

easypoi导入excel空指针异常

问题描述 前端页面停留在导入页面&#xff0c;通过后端返回的接口&#xff0c;确认后端已经抛出异常查看系统调用错误日志为 java.lang.NullPointerException: nullat org.apache.poi.xssf.usermodel.XSSFClientAnchor.setCol2(XSSFClientAnchor.java:231)at org.apache.poi.…

基于EKF的四旋翼无人机姿态估计matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 卡尔曼滤波是一种高效率的递归滤波器(自回归滤波器)&#xff0c;它能够从一系列的不完全包含噪声的测量中&#xff0c;估计动态系统的状态。这种滤波方法以它的发明者鲁道夫E卡尔曼&#xff08;R…

Android koin

1.源码地址 1.源码地址 2.作用 1.让代码看起来更简洁 现在是这样创建对象的 2.解耦 我们有一个类&#xff0c;然后有100个地方使用它&#xff0c;这个时候如果我们要修改构造参数&#xff0c;加入一个参数&#xff0c;那么我们就要修改100个地方&#xff1b;如果过了一个…

怎样让chatGPT给你打工然后月入过千?

前言 chatGPT最近火出圈了&#xff0c;怎么薅一个文字模型给你打工呢&#xff1f; 这个UP给了个思路&#xff1a;哔哩哔哩 emmm有点尴尬&#xff0c;可能是热度比较高&#xff0c;b站的视频作者自己下架了。 总结一下&#xff1a; 薅的对象百度文库创作中心&#xff1a;地址…

设计模式之装饰器模式

decorator design pattern 装饰模式的概念、装饰模式的结构、装饰模式的优缺点、装饰模式的使用场景、装饰模式与代理模式的区别、装饰模式的实现示例、装饰模式的源码分析 1、装饰模式的概念 装饰模式&#xff0c;即在不改变现有对象结构的前提下&#xff0c;动态的给对象增加…

【云原生】Grafana 介绍与实战操作

文章目录一、概述二、Grafana 安装1&#xff09;下载安装2&#xff09;安装包信息3&#xff09;启动服务4&#xff09;Grafana 访问三、Grafana 功能介绍四、使用mysql存储1&#xff09;安装mysql2&#xff09;修改grafana配置1、创建grafana用户和grafana库2、修改grafana配置…

[附源码]Python计算机毕业设计Django学分制环境下本科生学业预警帮扶系统

项目运行 环境配置&#xff1a; Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术&#xff1a; django python Vue 等等组成&#xff0c;B/S模式 pychram管理等等。 环境需要 1.运行环境&#xff1a;最好是python3.7.7&#xff0c;…

Innodb存储引擎-索引和算法(B+树索引、Cardinality、联合索引、覆盖索引、MRR优化、ICP优化、哈希索引、全文索引)

文章目录索引和算法B树索引聚集索引辅助索引B 树索引的分裂B 树索引的管理Cardinality 值B 树索引的使用联合索引覆盖索引优化器选择不使用索引的情况索引提示Multi-Range Read 优化(MRR)Index Condition Pushdown优化(ICP)哈希索引全文索引倒排索引InnoDB全文检索的实现全文检…

第一个MyBatis查询

⭐️前言⭐️ 在连接程序与数据库的工具中&#xff0c;我们之前使用的是JDBC技术&#xff0c;但是JDBC的操作流程极为繁琐&#xff0c;因此才有了更优秀框架——MyBatis&#xff0c;下边我们一起来看这个优秀框架MyBatis的操作与使用。 &#x1f349;欢迎点赞 &#x1f44d; 收…

Innodb存储引擎-锁(数据库锁的查看、快照读当前读、MVCC、自增长与锁、外键与锁、行锁、并发事务的问题、阻塞、死锁、锁升级、锁的实现)

文章目录锁lock 与latch读锁/写锁/意向锁INNODB_TRX/INNODB_LOCKS/INNODB_LOCK_WAITS一致性非锁定读(快照读)一致性锁定读(当前读)MVCC版本链Read View流程自增长与锁外键和锁行锁类型记录锁(record lock)间隙锁(gap lock)下一键锁(next-key lock)并发事务带来的问题阻塞死锁锁…

数据挖掘Java——DBSCAN算法的实现

一、DBSCAN算法的前置知识 DBSCAN算法&#xff1a;如果一个点q的区域内包含多于MinPts个对象&#xff0c;则创建一个q作为核心对象的簇。然后&#xff0c;反复地寻找从这些核心对象直接密度可达的对象&#xff0c;把一些密度可达簇进行合并。当没有新的点可以被添加到任何簇时…

7.加载properties属性文件

一、加载properties属性文件 目的&#xff1a;将数据库的连接参数抽取到一个单独的文件中&#xff0c;与Spring配置文件解耦 1. 编写jdbc.properties属性文件 jdbc.drivercom.mysql.jdbc.Driver jdbc.urljdbc:mysql://127.0.0.1:3306/spring_db jdbc.usernameroot jdbc.passwo…

基于萤火虫算法改进的DELM预测-附代码

萤火虫算法改进的深度极限学习机DELM的回归预测 文章目录萤火虫算法改进的深度极限学习机DELM的回归预测1.ELM原理2.深度极限学习机&#xff08;DELM&#xff09;原理3.萤火虫算法4.萤火虫算法改进DELM5.实验结果6.参考文献7.Matlab代码1.ELM原理 ELM基础原理请参考&#xff1…

代码中的坏味道

学习笔记自https://zhuanlan.zhihu.com/p/141435233 识别代码中的坏味道系列 如下图是工作中常见的代码的坏味道&#xff1a; 上图中的坏味道出自《重构》这本书&#xff0c;虽然并不是全部&#xff0c;但是涵盖了日常中最常见的一些代码坏味道。 接触这些坏代码可以分为三类&…

【Linux】shell 及权限理解

​&#x1f320; 作者&#xff1a;阿亮joy. &#x1f386;专栏&#xff1a;《学会Linux》 &#x1f387; 座右铭&#xff1a;每个优秀的人都有一段沉默的时光&#xff0c;那段时光是付出了很多努力却得不到结果的日子&#xff0c;我们把它叫做扎根 目录&#x1f449;shell命令…

计算机基础学习笔记:操作系统篇之硬件结构,存储层次结构

二、存储器的层次结构 本文知识来源小林Coding阅读整理思考&#xff0c;原文链接请见该篇文章 存储层次 寄存器高速缓存&#xff0c;Cache 1-3级内存磁盘&#xff08;SSD&#xff0c;HDD&#xff09; 关键点 各层次的存储的 介质、速度、容量 以及工作层次理解CPU Cache的作…