【AI底层逻辑】——篇章12:统计学与概率论数据“陷阱”

news2024/11/19 23:36:32

目录

引入

一、“思维方式”是解题关键!!

1、统计思维的诞生

2、概率的力量

概率与数理统计的区别?

如何验证假设?

经验与现实如何共存——贝叶斯定理?

“朴素”的朴素贝叶斯?

二、数据“陷阱”

1、数据收集的偏差

2、数据处理的悖论

3、正确解读数据

4、精准预测的挑战

 总结


引入

本系列博客尝试讨论一些有关AI的通识问题,AI本身就是一个跨学科、专业、抽象、复杂的问题,学习相关专业知识可能会很困难,尤其是一些数学公式和复杂的程序代码。本系列博客以“机器智能”的底层逻辑为切入点,重点放在讨论AI的核心技术和原理上。本系列逻辑:

一、“思维方式”是解题关键!!

近年来AI的发展离不开高性能计算机及分布式技术、机器学习和ANN的发展、积累的大数据等,但最本质的因素是——思维方式的改变。解决人工智能问题本质是把现实中的应用场景问题转化为一个计算机可以处理的数学问题,这一步几乎占据了问题解决的一半。如今AI主要依赖的是数学工具和信息技术而不是医学等,这就是认知思维上的改变。

使机器智能化并不是列出所有的智力规则让计算机遵照执行,因为这样计算机永不会超出人的认知范围,实际上是让计算机从大量数据中自己“学习”规律,这也是思维上看待问题角度的一个改变——如何在充满不确定性的环境中解决比较确定的问题,于是一个重要的数学工具——“统计学诞生了!

1、统计思维的诞生

以前的科学相信,这个世界存在简单而通用的真理,如欧几里得5条几何学真理、牛顿运动3定律、麦克斯韦4个电磁微分方程、爱因斯坦相对论等,所以科学家尝试用简洁的公式描述复杂世界的规律,即世界万物在一定先决条件下都具有可预测性——“决定论”!但是现在发现无法用简单几个公式描述世界的全部细节,越是微观越不确定,部分人转换思维创造了——“统计学”,它承认了不确定性的存在,接收误差对结果的影响,并把它们作为前提条件进行数学建模和分析!

统计学应用实例:利用放射性元素的半衰期和现在包含的放射量推测出地球的年龄!半衰期具有典型的统计学意义,体现了个体随机性和总体不确定性之间的联系,即——即便无法准确掌握每个个体的随机情况,但是可以利用统计规律来推算出总体状态!

严格来说统计和统计学在数学定义上时不同的,统计本质是一个数学过程,只要有数据就可统计,要处理的数据是确定的,如本月自己的开销总和,此过程不涉及统计学,不用对一些不确定性的情况进行推断。统计学则不同,是一门研究不确定性的学科,研究对象具有大量的随机性!——注意随机不是均匀

2、概率的力量

概率与数理统计的区别?

概率论与数理统计时常被一起提及,但两者存在区别。概率论是统计学的基础,是对随机性进行数学研究的理论基础;数理统计则关注通过大量原始数据研究对象行为规律的方法——概率论更偏数学理论,数理统计更多的是应用!举例来说,概率论研究的是一个“白盒”,清楚盒子里几个红球几个白球(即已知数学上的分布函数),然后猜测摸到特定颜色球的可能;数理统计面对的是“黑盒”,只能看到每次从盒子里摸出来的是红球还是白球,然后猜测盒子中颜色的分布。前一个是参数估计,后一个称为假设检验

随着重复试验次数的增大,事件的频率会呈现稳定性,这个频率常数近似可代表事件发生的可能性,即它的概率!这是一个比较抽象的概念,首先概率是个经验值,由频率推导而来;其次概率揭示了不确定性中的确定;概率避免不了“黑天鹅”数据(异常值)。重复试验的次数越多,得到的概率越让人信服,这依托于大数定律,定律表明样本数量越多,结论越接近真实的概率分布。如今经常提及的蒙特卡洛方法理论依据就是大数定律,原理很朴实:不断抽样逐次逼近,比如计算圆周率Π,就是利用计算机在正方形和圆中不断撒点,通过面积比和点的数量之间的关系计算!这能用于很多需要枚举的算法,如下围棋、走迷宫或计算任何不规则图形的面积等。

如何验证假设?

大数定理很有用但在现实生活中无法适用所有场景!某些时候我们只掌握了有限个“小数据”,但必须马上做出判断,这时通常的做法是先提出一些假设,然后想办法验证它们是否合理——即假设检验基本思想是先假设它成立看会产生什么后果,当观测结果出现的概率很低时可拒绝此假设;方法是反证法,是一种推翻既定假设的工具,假设检验就是一种在待检验假设成立时计算观测结果出现概率的统计方法

举例,手里有一组数据但是不清楚总体分布函数,又或者只知道它的数学分布形式,但不确定具体参数。此时为了推断总体分布的某些特性,可先假设总体服从泊松分布,或者假设服从正态分布的总体的数学期望是某个值等。随后根据手上的样本数据,判断这些假设是要接收还是拒绝,假设检验就这样一个决策过程!它也称显著性检验,“显著”一词表示概率足够低足以拒绝假设。

进行参数估计时,除了想知道参数的平均值,也关心精确程度(区间),即置信区间

在已知总体数学分布形式但不知具体参数时,可用Z检验法、T检验法、F检验法来判断假设是否足以拒绝!实际上我们不知道总体服从何种分布,这时需要根据样本来检验假设的分布,常用卡方检验法,实际值与期望值如果相同,卡方值为0,两者相差越大卡方值越大。

经验与现实如何共存——贝叶斯定理?

想象这样一种情形,我们知道的概率统计与现实生活出现冲突,或者说前人的经验不符合自己亲身经历,即出现了理论与现实的矛盾。举个例子,如猜硬币正反面,按理说每次正反面的概率都是0.5,可以随便猜总会猜对一半,但是那毕竟是理论你无法保证眼前这枚硬币确实如此,如一枚硬币抛了10次有8次都是正面,那么下次你就应该猜正面!即根据历史经验不断修正自己认知,此思考方式背后的数学原理是贝叶斯定理

贝叶斯定理蕴含了一种解决问题的框架思路:不断地通过增加信息和经验,逐步逼近真相或理解未知。它的过程可归纳为:“过去的经验”+“新的证据”得到“修正后的判断”,提供了一种将新观察到的证据和已有的经验相结合进行推断的客观方法。引入了条件概率关系:后验概率P(A|B)=先验概率P(A)xP(B|A)/P(B)先验概率一般是由以往的数据分析或统计得到的概率数据,后验概率是在某些条件下发生的概率,是在得到信息后重新加以修正的概率。当先验概率足够强大时,即使出现新的证据,先验概率也会有惊人影响力,所以要全局来看!

贝叶斯定理帮助我们,基于少量数据做出最合适的推理和判断!

“朴素”的朴素贝叶斯?

贝叶斯定理研究的是条件概率,也即在特定条件下的概率问题。基于此思想,人们提出了朴素贝叶斯算法。朴素贝叶斯常解决分类问题,目的在于把具有某些特征的样本划分到最可能属于的类别,也就是样本属于哪个类别的概率最大,就认为它属于哪个类别。如邮件分类、文章分类、情感分析等。

它“朴素”在哪儿?即满足一个基本假设:假设给定目标的各个特征之间是相互独立的,即条件独立性。这是因为如果每个特征不是相互独立的,在计算概率时,必须把这些特征的所有排列组合都考虑一遍,计算量大甚至产生指数级参数数量,实际执行难度很大!有时忽略一些条件之间的关联性得到的结论与实际不会有太大偏差。


二、数据“陷阱”

上面我们知道了人工智能的解题思路——统计思维!!不过统计学高质量的数据,AI运作的基础也是数据,如果数据错误或者对数据的理解出现偏差,将直接导致结论谬误。有时数据具有欺骗性和迷惑性,使用时需要对它们进行甄别!!

1、数据收集的偏差

收集数据的质量直接关乎分析结论的成败,但错误的收集方法会导致结果偏差。如统计对象出现错误、统计对象不全面只抽取部分数据等,这些会导致两种常见的数据偏差——幸存者偏差选择性偏差。幸存者偏差是由于没有准确选择研究对象的偏差,提醒我们要考察所有类型的数据;选择性偏差是由于没有“公平”地挑选数据导致的偏差,提醒我们要客观地挑选数据。两者都未看清数据全貌,导致“以偏概全”。

2、数据处理的悖论

我们习惯使用统计数据来简化事物描述,但错误的统计方法不仅不能反映事实,还会使数据变得毫无意义!

例如在统计公司的工资水准时用平均值常常会迷惑视线,正常用中位数,反映数据集中程度的度量通常有平均数、中位数、众数等,如果这三个是同一个数,则数据是对称分布的,但更多的情况是正倾斜(平均值在后两者左侧)或负倾斜(平均值在后两者右侧)。

辛普森悖论:如A、B两家医院,总体病人的治愈率A:90%、B:80%,这是你会想着选择A医院,但是如果继续看数据细节把病人分为重症和非重症两类来看,会发现两类分别的治愈率都是B医院较高,B成为了更好选择。这是由于数据中存在潜在变量(如病情严重程度不同病人的占比),按照潜在变量分组后的数据是不均匀的。即在分组比较中占据优势的一方(B医院),在综合评估中却成了失势的一方,该现象成为辛普森悖论。即同一组数据的整体趋势和分组趋势可能完全不同,用数学语言有下列关系式:

$\frac{a_1}{b_1}<\frac{c_1}{d_1},\frac{a_2}{b_2}<\frac{c_2}{d_2}$时,不能得出\frac{a_1+a_2}{b_1+b_2}<\frac{c_1+c_2}{d_1+d_2}的结论,反过来也是不能。

由于此悖论的存在,仅仅通过有限个统计数字无法直接推导和还原真相,这是统计数据的致命缺陷,因为数据可按各种形式分类和比较,潜在变量无穷无尽,不怀好意的人可能会借此给他人呈现处对自己有利的分类拆分数据方法的到的结论。为了避免这种情况,需要仔细分析各种影响因素,不能笼统概括更不能浅尝辄止看待问题!

3、正确解读数据

相关性不等于因果性

两个变量存在相关关系并不代表其中一个变量的改变是由另一个变量引起。相关性体现了两个事物之间相互关联的程度,如房屋面积与价格的正相关性,海拔高度与大气压的负相关性,不过数据之间通常只能呈现关联性,而很难直接体现因果性,AI就是一个典型代表,计算机只能通过发现数据之间的联系而不负责解释原因;而想要得到因果性必须从理论上证明两个变量确实存在因果关系,并且排除所有其他隐含变量同时导致这两个变量的可能性。只通过几组数据不能轻率作结论,很多时候只是表象,无法确认是否存在隐藏在内部的变量

数据表达的局限性

这个世界是多维的,数据只是其中一维,当我们把现实世界的某件事情或某个状态转变为数据,就已经剔除了(损失了)很多信息,因为数据只表达了事物的一个侧面。如讨论AI时代的就业问题,正方会说出现了越来越多的岗位和职业;反方则说越来越多人因为机器人替代而失去了工作,双方都是正确的但都只能反映该问题的一个方面。

概率就是一种典型的、存在局限的表达。100%肯定的事情与99%可能的事情存在本质区别,以某种药物的99%的治愈率而言,即使只有1%的失败率但是也是威胁人生命的巨大风险。小概率事件必须引起重视,因为概率小不代表风险小

4、精准预测的挑战

对于生活而言任何一个小的决策、行动、环境改变,都会对未来产生巨大影响;对于一个AI预测模型而言,任何细微的输入变化都会导致截然不同的预测结果,这是一种混沌现象。预测分为两种情况,一种是对客观现象的预测,不受预测本身的影响,如预测地球在宇宙的运行轨迹;另一种指那些会受到预测行为本身影响的预测,如市场、股市、政治,这些会随着预测变动,之前的预测也就失去了意义,这里存在不稳定因素——人的自由意志。


 总结

至此,我们讨论完了前两章不确定情况下的统计方法和数据甄别需要注意的地方,但是还缺少一个理论武器。如果要研究不确定性的问题,只会统计学是不行的还需要知道如何将不确定性转化位确定性的理论——信息论

信息论是运用概率论和数理统计方法研究信息的理论,如今的通信系统、数据传输、数据加密、数据压缩几乎都离不开它的身影,它奠定了信息技术发展的理论基础。这会在下次博客中讨论!

声明:参考机械工业出版社《大话机器智能》书籍,仅供学习交流!

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

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

相关文章

HTTP Host 头攻击是什么?

&#x1f482; 个人网站:【海拥】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 目录 前言什么是HTTP Host头…

小鱼深度产品测评之:阿里云云产品OCR文档自学习,一款面向“无算法基础“的企业与个人开发者用户的产品。

OCR文档自学习 1、引言2、开箱体验3、我的任务菜单3.1 创建任务3.2 编辑任务3.3 创建模板 4、 在线使用 菜单5、 数据监控 菜单6、总结 1、引言 OCR文档自学习&#xff0c;看到这个标题&#xff0c;很多人第一反应就是&#xff0c;我不会算法 这个怎么搞的嘛&#xff1f; 其…

MetaAI发布人工智能语音模型Voicebox

Meta官网博客更新&#xff1a;人工智能研究人员在语音生成人工智能方面取得了突破。我们开发了Voicebox&#xff0c;这是第一个可以推广到语音生成任务的模型&#xff0c;它没有经过专门训练&#xff0c;以最先进的性能来完成。 与图像和文本的生成系统一样&#xff0c;Voicebo…

CRC校验码详解、常见算法实现及代码实例

一、CRC概念 1. 什么是CRC&#xff1f; 在前面的文章中通过小例子的比喻&#xff0c;简单介绍过什么是CRC&#xff0c;这里再详细的讲解一次。 CRC&#xff08;Cyclic Redundancy Checksum&#xff09;是一种纠错技术&#xff0c;代表循环冗余校验和。 数据通信领域中最常用的…

第二十二章_Redis经典五大类型源码及底层实现

redis源码在哪里 \redis-7.0.5\src https://github.com/redis/redis 源码分析参考书&#xff08;推荐&#xff09; 《Redis设计与实现》 《Redis5设计与源码分析》 Redis源代码的核心部分 src源码包下面该如何看&#xff1f; 源码分析思路 这么多你如何看&#xff1f; 1、外…

C/C++ VS2019连接MySQL数据库 - 增删改查(详细步骤)

一、配置Visual Studio 找到自己安装MySQL的路径&#xff0c;确保有include和lib两个文件夹 打开创建的Visual Studio项目&#xff0c;切换x64平台 注意&#xff1a;如果你的项目中没有x64平台&#xff0c;请严格按照下面图片的步骤进行操作 a. 点击下拉框&#xff0c;点击配…

面向对象程序设计|理解++i和i++

首先我们从最简单的整型运算来理解前和后&#xff1a; 将a10再赋值20意味着(a10)返回的是a的空间&#xff0c;又把这个20赋值给这个空间的内存&#xff0c;最后a20&#xff1b; (a)意味着a返回的是空间&#xff08;引用&#xff09;&#xff0c;可以继续作的调用&#xff0c;引…

Java版本工程项目管理系统源码

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下&#xff1a; 首页 工作台&#xff1a;待办工作、消息通知、预警信息&#xff0c;点击可进入相应的列表 项目进度图表&#xff1a;选择&#xff08;总体或单个&#xff09;项目显示…

STM32存储器映射

STM32的寻址范围 32位的单片机有32根地址线&#xff08;每根地址线有两种状态&#xff1a;导通或者不导通&#xff09;。 单片机内存地址访问的存储单元是按字节编址的。 存储器映射 存储器指可以存储数据的设备&#xff0c;本身没有地址信息&#xff0c;对存储器分配地址…

JAVA_HOME变量的详细配置(图文)

用到Java项目的时候&#xff0c;有时候要用到Java_home&#xff0c;这个需要在系统配置中配置一下。如何操作呢&#xff1f;以下为详细的图文步骤。 1&#xff09;打开环境变量的窗口 2&#xff09;打开新建系统变量 3&#xff09;编辑JAVA_HOME 在变量名后输入JAVA_HOME,找到…

IDEA配置本地Maven详细教程

IDEA配置本地Maven详细教程 一、下载二、安装三、配置环境变量四、IDEA配置Maven 一、下载 官网下载&#xff1a;点击下载 网盘下载&#xff1a;点击下载 二、安装 将下载后的zip文件&#xff08;免安装版&#xff09;解压到自己想要放的位置&#xff0c;&#xff0c;我这里…

第八十一天学习记录:gVim的使用

首先&#xff0c;根据所使用的系统下载VIM&#xff0c;百度搜索或者CSDN搜索有资源可以下载。 gVim是Windows下的一个Vim实现&#xff0c;它提供了类似于Vim命令行界面的编辑器视窗&#xff0c;并且支持通过鼠标和菜单来执行一些基本的编辑命令。 安装完成后&#xff0c;桌面上…

Video-LLaMa:利用多模态增强对视频内容理解

在数字时代&#xff0c;视频已经成为一种主要的内容形式。但是理解和解释视频内容是一项复杂的任务&#xff0c;不仅需要视觉和听觉信号的整合&#xff0c;还需要处理上下文的时间序列的能力。本文将重点介绍称为video - llama的多模态框架。Video-LLaMA旨在使LLM能够理解视频中…

软考A计划-系统集成项目管理工程师-信息化系统的生命周期-上

点击跳转专栏>Unity3D特效百例点击跳转专栏>案例项目实战源码点击跳转专栏>游戏脚本-辅助自动化点击跳转专栏>Android控件全解手册点击跳转专栏>Scratch编程案例点击跳转>软考全系列 &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff…

【GESP】2023年03月图形化一级 -- 问路

文章目录 问路1. 准备工作2. 功能实现3. 设计思路与实现&#xff08;1&#xff09;角色、舞台背景设置a. 角色设置b. 舞台背景设置 &#xff08;2&#xff09;脚本编写a. 角色&#xff1a;Averyb. 角色&#xff1a;Dee 4. 评分标准 问路 1. 准备工作 &#xff08;1&#xff09…

全网超详细的【Axure】Axure RP 10 的下载、安装、中文字体、免授权

文章目录 1. 文章引言2. axure10的安装3. axure10的元件库4. axure10的下载地址 1. 文章引言 最近在学习原型图&#xff0c;针对画原型图的工具&#xff0c;反复对比墨刀、Axure、xiaopiu后&#xff0c;最终选择了Axure。 接下来&#xff0c;我便详细介绍如何安装axure10&…

将模型从 PyTorch 导出到 ONNX 并使用 ONNX 运行时运行它

将模型从 PyTorch 导出到 ONNX 并使用 ONNX 运行时运行它&#xff08;可选&#xff09; 在本教程中&#xff0c;我们描述了如何将 PyTorch 中定义的模型转换为 ONNX 格式&#xff0c;然后在 ONNX 运行时中运行它。 ONNX 运行时是针对 ONNX 模型的以性能为中心的引擎&#xff…

微服务简介,Springcloud-alibaba中的Nacos简介

目录 一&#xff1a;微服务架构 1.0&#xff1a;单体架构 1.1&#xff1a;微服务架构 1.2&#xff1a;微服务架构的优势 1.3&#xff1a;微服务架构的缺点(挑战) 1.4&#xff1a;SpringCloud与微服务关系 1.5&#xff1a;SpringBoot和SpringCloud关系 二&#xff1a;服务…

RabbitMQ下载与安装

RabbitMQ下载与安装 想要使用RabbitMQ首先要有Erlang/OTP的运行环境&#xff0c;也就是说首先要下载erlang 在下载Erlang/OTP之前&#xff0c;需要弄清楚RabbitMQ和ErLang之间的版本对应关系。 The table below provides an Erlang compatibility matrix of currently suppo…

用html5、css3和一些简单的js代码写了一个个人网站,之后如何上线?

&#x1f482; 个人网站:【海拥】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 目录 前言网站上线方案1 Git…