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

学习笔记:机器学习中的数学原理(一)

1. 集合

集合分为有限集和无限集;

对于有限集,两集合元素数相等即为等势;

对于无限集,两集合元素存在一一映射关系即为等势;

无限集根据是否与正整数集等势分为可数集和不可数集。

2. sigmoid函数(也叫logistic函数)

公式:f(x)=\frac{1}{1+e^{-x}}

含义:将实数集R映射到区间(0,1),两个区间是等势的,公式就是双射函数(一对一映射函数)。

3. 支持向量机

支持向量机的目标是寻找一个最优超平面,能够最大化分类间隔。

超平面形式:


 

数据到超平面的距离如下:

我们希望SVM在边界点数据(支持向量)的输出是

考虑上非边界点,输出是

我们最大化这个两个边界的距离的一半(支持向量到超平面的距离):

在这两个的约束下,即可求解最优w和b。

4. 决策树

1)信息论概念

信息量是事后的判断:指的是一个随机变量某个可能性(具体事件)发生所带来的信息,满足概率越低信息量越大、不相关事件信息量相加对应概率相乘,因此公式为:

𝐡(𝐱) = −𝒍𝒐𝒈𝟐𝒑(𝒙)

信息熵是事前的预估:指的是一个随机变量所有可能性的信息量的期望,公式为:

𝐇(𝐱) = −𝒔𝒖𝒎(𝒑(𝒙)𝒍𝒐𝒈𝟐𝒑(𝒙))

2)决策树理解

决策树是要找到一棵树,按照这棵树的节点进行递归判断就可以得到判断结果,例如一个瓜是不是好瓜,需要判断一系列特征然后得到结论。

决策树算法则是为了找到这样一颗树,需要确定节点顺序。显然应该优先判断重要特征,即那些对确定性增益最大的,或者说熵减最多的。

3)决策树实现

基于信息论的决策树算法有ID3 、C4.5和 CART等算法,其中C4.5CART两种算法从ID3算法中衍生而来。

ID3算法使用 信息增益 作为分裂的规则,信息增益越大,则选取该分裂规则。具体来说,首先计算好瓜坏瓜这个随机变量的信息熵,然后计算特征A各个可能性下的好瓜坏瓜的信息熵的期望,相减得到信息增益,计算所有特征的信息增益,选取信息增益最大的作为节点。下一个节点则是在该特征的各个可能下继续上述操作来确定。

4)优缺点
a.优点

不需要任何领域知识和参数假设。
决策树算法易于理解和实现,树的结构可以可视化出来 。
能够同时处理数据型和常规线数据,对缺失值不敏感。
可以处理多维度输出的分类问题。
效率高:决策树只需要构建一次,反复使用,每一次预测的最大计算次数不超过决策树的深度。

b.缺点

不均衡:对于各类别样本数量不一致的数据, 信息增益的结果偏向于那些更多数值的特征。
当类别太多时,容易出现“过拟合”问题。
忽略数据几种属性之间的相关性,在处理特征关联性比较强的数据时表现不是很好。
不支持在线学习。
决策树可能是不稳定的,因为数据中的微小变化可能会导致完全不同的树生成。可以通过决策树的集成来缓解。

5)剪枝处理

如果按照我们之前的方法形成决策树后,会存在一定的问题。决策树会无休止的生长,直到训练样本中所有样本都被划分到正确的分类。实际上训练样本中含有异常点,当决策树节点样本越少的时候,异常点就可能使得该结点划分错误。另外,我们的样本属性并不一定能完全代表分类的标准,可能有漏掉的特征,也可能有不准确的特征。这样就会导致决策树在训练集上准确率超高,但是在测试集上效果不好,模型过拟合,泛化能力弱。因此我们需要适当控制决策树的生长。

5. 朴素贝叶斯

1)贝叶斯公式

先验概率:通过经验来判断事情发生的概率

后验概率:事情发生后推测原因的概率

条件概率:一个事件在另一个事件发生条件下的概率,即P(B|A),若两者独立,则等于P(B)

全概率公式:P(Y) = P(Y,X1) + ... + P(Y,Xn) = P(X1)P(Y|X1) + ... + P(Xn)P(Y|Xn)

贝叶斯公式:

2)朴素贝叶斯(贝叶斯分类器)

朴素贝叶斯,假设每个输入变量之间独立。即全概率中各个X是独立的。

贝叶斯分类器就是在这种假设下的分类器,只需要求出在输入变量(特征)X1...Xn的条件下,各个可能类别的条件概率,找到最大的即为要分的类

贝叶斯分类器的参数(先验概率 P(c) 和条件概率 P(xi​∣c))通常是通过一次训练过程计算得到的,不需要多轮训练。这是因为贝叶斯分类器的训练过程主要是基于训练数据来估计这些参数,而这些参数的估计通常是直接的统计计算,不需要像一些复杂的神经网络模型那样通过迭代优化来调整参数。

参考:【机器学习算法笔记系列】决策树(Decision Tree)算法详解和实战_decisiontreeclassifier是什么算法-CSDN博客

决策树原理详解(无基础的同样可以看懂)-CSDN博客


http://www.kler.cn/a/536046.html

相关文章:

  • Spring 事务传播机制
  • websocket自动重连封装
  • Kafka 可靠性探究—副本刨析
  • creator 接入zendesk Unified SDK 组件样式报错解决方法
  • 【吾爱出品】开源桌面组件:widgets
  • Linux——基础命令1
  • 【数据安全】现代智能手机的数据加密机制
  • Linux ftrace 内核跟踪入门
  • 可计算性与计算复杂性:理论计算机科学的核心领域
  • osclass增加支持webp格式
  • 【CPP】C++后端开发面试:深入理解编程中的锁机制
  • Linux进阶——web服务器
  • 【Spring Boot】自动配置源码解析
  • TcpClientTest
  • Python中 logging.basicConfig
  • 最新阿里高级Java面试题(首发,70道,带详细答案)
  • 支持向量机(一)
  • VERA: 基于视觉-语言模型的解释性视频异常检测框架
  • 大模型的微调方式
  • 【软件测试入门】Linux操作系统初级命令大全
  • 大模型蒸馏(Model Distillation)的原理及过程
  • 【Git】tortoisegit使用配置
  • 解锁高效 Web 开发新姿势:Open WebUI 安装指南
  • Java 的try-with-resources语句,不需要显式调用close()
  • autMan奥特曼机器人-对接deepseek教程
  • 【鸿蒙HarmonyOS Next实战开发】实现ArkTS/JS和C/C++的交互-Node-API