【学习笔记】Day 19

一、进度概述

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

对于 NN,从图的角度来理解会比较方便,参考以下文章,所运行出来的结果能十分清楚的表达其基本思想,求最小距离度量。

机器学习之KNN最邻近分类算法_knn分类-CSDN博客

结合上学期所学的线性回归分析,我们知道,极端值是很能影响这类算法的,所以归一化是个十分重要的步骤,同时要注意到,对原数据集的质量要保证。

7、决策树

概念很好理解,需要注意的是

(1)机器学习着重于如何从数据中构建决策树,而不是人为构造(这涉及问题相关专业知识)

(2)构建决策树的本质是不完全归纳,要根据数据量合理选择穷举法或者启发式方法。

(3)决策树越小越好(不要一开始就陷入信息增益的圈子中)

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

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

8、kMeans

Means 是数据分布未知时最合适的聚类算法。

其基本思想是:最大化簇的内聚性 (即同一簇的点距离较近), 最小化簇间的耦合性 (即不同簇的点距离较远)。

从算法上感性理解,先通过确定随机的 k 各点作为中心点,分的多个簇(任意对象距离 k 各点中谁最近,则所属于谁),在通过各个中心点确定最终的中心点,最后判断收敛。

需要注意的是:

(1)与 NN 的共同点在于, 都使用某个距离度量。

(2)涉及迭代, 因此比 k kkNN 复杂。

(3)初始点的选择会影响最终的结果. 很可能只收敛到局部最优解。

(4)适合"球型"数据. 即每一簇从三维的角度来看都像一个球. 而并不适合于有较多离群点的数据. 所谓离群点, 可以认为是指离所有聚类中心的都挺远的数据点. 它会对 k kkMeans 的重心计算产生较大影响.

(5)并不是在所有的数据集上, 都能很快收敛. 我试过的数据中, 有 50 轮都未收敛的, 干脆就凑合了.

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

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

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

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

10、线性回归

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

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

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

11、logistic 回归

广义线性回归同样在已经学过的线性回归分析中讲过,需要的话回顾相关课件,这里不做展开。

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


后记

相关推荐
努力变厉害的小超超2 小时前
ArkTS中的组件基础、状态管理、样式处理、class语法以及界面渲染
笔记·鸿蒙
秃头佛爷2 小时前
Python学习大纲总结及注意事项
开发语言·python·学习
dayouziei4 小时前
java的类加载机制的学习
java·学习
aloha_7896 小时前
从零记录搭建一个干净的mybatis环境
java·笔记·spring·spring cloud·maven·mybatis·springboot
dsywws7 小时前
Linux学习笔记之vim入门
linux·笔记·学习
晨曦_子画8 小时前
3种最难学习和最容易学习的 3 种编程语言
学习
城南vision8 小时前
Docker学习—Docker核心概念总结
java·学习·docker
ctrey_9 小时前
2024-11-1 学习人工智能的Day20 openCV(2)
人工智能·opencv·学习
十年之少9 小时前
由中文乱码引来的一系列学习——Qt
学习
A-超10 小时前
vue3展示pag格式动态图
笔记