【学习笔记】Day 19

news2024/11/14 16:16:54

一、进度概述

        1、机器学习常识1-11,以及相关代码复现

二、详情

1、不确定性

        所谓不确定性, 是指我们在进行预测的时候, 不能够保证 100% 的准确。而机器学习,比的就是谁 “猜的更准”。
        不确定性,可能由信息不足、信息模糊等原因产生。
        对于过于复杂的确定性问题,会使用启发式算法之类求次优解。

2、数据类型

        基本数据元素的类型:布尔型(Y/N)、枚举型、实型等。
        常见的数据类型:
        (1)结构化数据:指每个实例/instance (样本/sample)用同一组特征/feature (属性/attribute) 进行描述。
        另一种说法是关系模型数据,而关系数据库,则指的是上学期所学的数据库中的关系模型。

        (2)图像数据:本身可以用一个矩阵来表示(这也是为什么会用到 numpy 库等)。
        (3)序列数据:由枚举型或实型组成。它与结构化数据的区别在于: 不可以混用枚举型与实型, 长度不是固定的。
        (4)视频数据:是图像组成的序列数据。
        (5)图数据:指数据用结点和边表示。如最典型的树状图,流程图等

3、分类、回顾、聚类

        数据类型从输入数据的角度来进行讨论, 这里从输出数据, 或者目标的角度来讨论。
        (1)分类是指将一个样本预测为给定类别之一.,也称为该样本打标签。根据标签数量可分为二分类问题和多分类问题
        (2)回归是指为一个输出为实型值的预测。这与统计学中的回归分析是同一个概念。
        (3)聚类是指根据样本的属性, 把给定的样本集合划分为若干个子集.

        聚类与分类 (回归) 之间存在本质的区别, 它不进行新样本的预测。这是迫不得已的事情, 因为很多数据并没有人类先给的标签, 导致缺乏一个确定的目标, 机器只有根据自己理解来划分。

4、分类问题的训练与测试

        这部分通过实例理解十分清晰,故直接参考原文:机器学习常识 4: 分类问题的训练与测试_机器学习 训练 测试-CSDN博客

        不整理并不代表这一节不重要,相反,是这一节的逻辑太重要了,同时原文逻辑太好了,故直接使用。 

5、性能评价指标

        详细讲解参考原文:机器学习常识 5: 性能评价指标_机器学习性能评价-CSDN博客
        这里整理一些个人理解以及注意事项:
        (1)评价指标不是单一化的,没有绝对的第一,关键在于这个评价指标能否体现出你关心的问题的好坏。
        (2)多方面的评价指标能使得研究更加丰富。
        (3)对于回归问题,有明确的数学定义上的评价指标,如平均绝对误差,如均方根误差。对于聚类问题,则有内部和外部两种没有客观标准的指标。

6、kNN

        对于 kNN,从图的角度来理解会比较方便,参考以下文章,所运行出来的结果能十分清楚的表达其基本思想,求最小距离度量。
        机器学习之KNN最邻近分类算法_knn分类-CSDN博客
        结合上学期所学的线性回归分析,我们知道,极端值是很能影响这类算法的,所以归一化是个十分重要的步骤,同时要注意到,对原数据集的质量要保证。

7、决策树

        概念很好理解,需要注意的是
        (1)机器学习着重于如何从数据中构建决策树,而不是人为构造(这涉及问题相关专业知识)
        (2)构建决策树的本质是不完全归纳,要根据数据量合理选择穷举法或者启发式方法。
        (3)决策树越小越好(不要一开始就陷入信息增益的圈子中)

        关于结合理论的代码复现,参考的是以下文章:【机器学习实战】3、决策树_为训练数据集建立决策树-CSDN博客

        这里也有个实战训练,能够帮助自己更好的理解决策树:【机器学习】决策树(实战)_决策树算法jupyter实现-CSDN博客 

8、kMeans

        kMeans 是数据分布未知时最合适的聚类算法。
        其基本思想是:最大化簇的内聚性 (即同一簇的点距离较近), 最小化簇间的耦合性 (即不同簇的点距离较远)。
        从算法上感性理解,先通过确定随机的 k 各点作为中心点,分的多个簇(任意对象距离 k 各点中谁最近,则所属于谁),在通过各个中心点确定最终的中心点,最后判断收敛。
        需要注意的是:
        (1)与 kNN 的共同点在于, 都使用某个距离度量。
        (2)涉及迭代, 因此比 k kkNN 复杂。
        (3)初始点的选择会影响最终的结果. 很可能只收敛到局部最优解。
        (4)适合"球型"数据. 即每一簇从三维的角度来看都像一个球. 而并不适合于有较多离群点的数据. 所谓离群点, 可以认为是指离所有聚类中心的都挺远的数据点. 它会对 k kkMeans 的重心计算产生较大影响.
        (5)并不是在所有的数据集上, 都能很快收敛. 我试过的数据中, 有 50 轮都未收敛的, 干脆就凑合了.

        相关代码联系参考的是以下文章:K-means聚类算法原理及python实现_python kmeans-CSDN博客

9、 如何定义机器学习问题

        多数机器学习问题可以按照如下约束满足问题进行定义:

  • 输入
  • 输出
  • 优化目标
  • 约束条件

10、线性回归

        这一部分在已经学过的线性回归分析中讲的更细致,可以回顾相关课件,这里的总结更侧重于理解线性回归在机器学习中的意义。

  • 是机器学习问题定义的一个典型案例.
  • 线性模型及其变种在很多地方被采用. 也不是因为线性模型的拟合能力强 (其实它是最弱的), 而是因为它简单, 易于计算.
  • 给出了一个典型的优化目标.
  • 能从优化目标直接获得最优解, 对于绝大多数机器学习问题, 这点无法做到.
  • 给出了一个典型的正则项

        我们注意到,结合之前对 kNN 和 kMeans 中的基本思想,其实其数学本质就是一个线性回归问题,机器学习的作用在于将过程全权交给效率,准确率更高的计算机来完成。

11、logistic 回归

        广义线性回归同样在已经学过的线性回归分析中讲过,需要的话回顾相关课件,这里不做展开。
        对于线性回归和广义线性回归,这两个概念及相关数学原理还是需要理解的,虽然现在大部分工作都有专门的软件可以帮你计算,如 R,但是只有理解原理,才能更好的运用。学的时间有点久了,建议多回去看看。


后记

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

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

相关文章

编写开放接口与思考

编写开放接口与思考 一、情景描述: 当一个项目开发一定程度时,会有跟合作厂商对接共同开发的情况,那么如果合作厂商想要使用你项目中的某个接口,你该如何把接口暴露给他们? 二、实现方式分析 1、因为现在接口大部分…

超融合/分布式 IT 架构有哪些常见故障类型?如何针对性解决和预防?

本文刊于《中国金融电脑》2024 年第 7 期。 作者:SmartX 金融团队 以超融合为代表的分布式 IT 基础架构凭借其高性能、高可靠和灵活的扩展能力,在满足大规模、高并发、低延迟业务需求等方面展现出显著优势,成为众多金融机构构建 IT 基础设施…

Nginx: 体系化知识点梳理

概述 我们需要对 Nginx 要有体系化的一个认识对 Nginx 自身来说,它是作为一个中间件的,只要是中间件,它必然会涉及到前端和后端对于 Nginx 来说,它是需要协调整个前后端的一个组件那对于中间件来,我们要理解整个外部系…

Python 设置Excel工作表页边距、纸张大小/方向、打印区域、缩放比例

在使用Excel进行数据分析或报告制作时,页面设置是确保最终输出效果专业、美观的关键步骤。合理的页面设置不仅能够优化打印效果,还能提升数据的可读性。本文将详细介绍如何使用Python操作Excel中的各项页面设置功能。 目录 Python 设置Excel工作表页边…

Hexo通过GitHub设置自定义域名

本身GitHub也是支持自定义域名的,本次教程将讲解如何使用GitHub自带的自定义域名解析。 1. GitHub设置 1.1 登录GitHub账号 登录GitHub账号,找到名称为 用户名.github.io的仓库,并点击进入。 1.2 进入Settings页面 点击如图的Settings按…

Mysql的相关编程基础知识

一. 配置MySQL 首先下载mysql-5.0.96-winx64,安装过程如下图所示。 1.安装MySQL 5.0 ​ ​ 2.选择手动配置、服务类型、通用多功能型和安装路径 ​ 3.设置数据库访问量连接数为15、端口为3306(代码中设置URL用到)、编码方式为utf-8 ​ 4.设…

【C语言】冒泡排序保姆级教学

C语言冒泡排序保姆级教学 直奔主题&#xff1a; 拿排升序举例子 第一步&#xff1a; 将想要排序的数组中数值最大的那个数排到该数组的最后 具体实现如下图&#xff1a; 第一步代码实现 for (int i 1; i < n ; i)//n为数组大小此处为4 {if (a[i - 1] > a[i])//注意越…

k8s综合项目

一、准备环境 1.1 部署服务器 在centos7.9系统里搭建v1.23版本的k8s集群&#xff0c;准备四台服务器&#xff0c;两台作为master&#xff0c;主机名分别为 k8s-master和k8s-master-2&#xff0c;主机名为k8s-master&#xff0c;两台作为 node&#xff0c;主机名分别为k8s-nod…

嵌入式开发输出调试信息的常用方法

嵌入式开发为什么需要输出调试信息&#xff1f; 稳严文&#xff1a;因为输出调试信息是嵌入式开发中一项非常重要的实践&#xff0c;它有助于保证软件的可靠性、稳定性和性能&#xff0c;也是故障排查的关键工具之一。 白话文&#xff1a;程序猿想知道自己敲的代码是否正确、是…

Nginx反向代理功能

反向代理&#xff1a;reverse proxy&#xff0c;指的是代理外网用户的请求到内部的指定的服务器&#xff0c;并将数据返回给用户的 一种方式&#xff0c;这是用的比较多的一种方式。 Nginx 除了可以在企业提供高性能的web服务之外&#xff0c;另外还可以将 nginx 本身不具备的…

如何选择最佳路线?

交通线路的选择 日常交通线路的选择&#xff0c;并不是按最短路径选择的。还要参考道路的等级&#xff0c;道路是否拥堵&#xff0c;道路通行速度等多种情形。本程序列举出所有能通行的线路&#xff0c;并计算出行驶距离&#xff0c;来供用户选择。当然&#xff0c;也可以加入…

linux | ubuntu虚拟机创建硬盘、磁盘分区、分区挂载、自动挂载、磁盘清理

点击上方"蓝字"关注我们 01、创建硬盘 >>> 什么使硬盘? 点击虚拟机设置,这里有两个硬盘,一个100G,一个20G 应用场景,下载yocto时,磁盘空间不足,所以写下这篇文章,供大家参考 >>> 开始创建一个新的硬盘 点击添加 【选择硬盘 下一步】 【推…

三、Vuex是什么?Vuex详解

什么是Vuex 在理解Vuex之前&#xff0c;首先需要理解我们为什么要使用它&#xff1f;它解决了什么问题&#xff1f; 为什么要使用它 在Vue开发中&#xff0c;我们常常会用到组件直接的传值、通讯。有父子通讯&#xff0c;兄弟组件通讯…但是传参对于多层嵌套就显得非常繁琐&am…

分享思源笔记的几个骚操作

文章目录 思维导图复习法效果视频制作过程使用方法 大纲复习方法制作过程 人工智能简易使用效果制作过程 思维导图复习法 效果视频 bandicam20240817222246034.mp4 制作过程 首先下载【写味】主题或者是[自定义块样式]插件 他两个的区别是 思维导图以列表形式写出来 选择转…

计算机毕业设计选题推荐-旅游景点数据分析-Python爬虫可视化

✨作者主页&#xff1a;IT毕设梦工厂✨ 个人简介&#xff1a;曾从事计算机专业培训教学&#xff0c;擅长Java、Python、微信小程序、Golang、安卓Android等项目实战。接项目定制开发、代码讲解、答辩教学、文档编写、降重等。 ☑文末获取源码☑ 精彩专栏推荐⬇⬇⬇ Java项目 Py…

Unity教程(十一)使用Cinemachine添加并调整相机

Unity开发2D类银河恶魔城游戏学习笔记 Unity教程&#xff08;零&#xff09;Unity和VS的使用相关内容 Unity教程&#xff08;一&#xff09;开始学习状态机 Unity教程&#xff08;二&#xff09;角色移动的实现 Unity教程&#xff08;三&#xff09;角色跳跃的实现 Unity教程&…

武林外传书生版单机安装教程+GM工具+虚拟机一键端

今天给大家带来一款单机游戏的架设&#xff1a;武林外传书生版。 另外&#xff1a;本人承接各种游戏架设&#xff08;单机联网&#xff09; 本人为了学习和研究软件内含的设计思想和原理&#xff0c;带了架设教程仅供娱乐。 教程是本人亲自搭建成功的&#xff0c;绝对是完整…

快速带你玩转高性能web服务器后续

目录 一、Nginx 高级配置 1.1 Nginx 状态页 1.2 Nginx 压缩功能 1.3 Nginx的版本隐藏 1.4 Nginx 变量使用 1.4.1 内置变量 二、 Nginx Rewrite 相关功能 2.1 ngx_http_rewrite_module 模块指令 2.1.1 if 指令 2.1.2 set 指令 2.1.3 break 指令 2.1.4 return 指令 2…

cmake install setlocal错误

cmake中的代码如下&#xff1a; #设置安装目录的前缀 set(CMAKE_INSTALL_PREFIX $ENV{PUBLISH_DIR}) #这边的输出满足要求 message(STATUS "install dir:${CMAKE_INSTALL_PREFIX}") #指定安装 install(TARGETS ${TARGET_NAME} RUNTIME DESTINATION bin …

数据埋点系列总结|从基础到实践的深度总结

在当今数字化时代,数据已成为企业的核心资产,而数据驱动决策则是充分利用这一资产的关键方法。本系列文章全面探讨了从数据收集到分析,再到实际应用的整个过程,为读者提供了深入而实用的指导。让我们深入回顾这个journey,详细探讨每个主题的核心内容,并思考数据驱动决策的未来发…