程序员的数学【概率论】(三)

简介: 本文其实值属于:程序员的数学【AIoT阶段二】 的一部分内容,本篇把这部分内容单独截取出来,方便大家的观看,本文介绍 概率论

九、协方差

🚩协方差是对于方差的推广,对于两个随机变量,它们的协方差是反应它们两个之间的线性相关程度的,把 x 2 换成 x 1那就是方差了,展开之后就是 x 1 和 x 2  的期望减去它们期望的乘积。

方差公式:

33.png

协方差公式:34.png

image.png

显然这是一个对称阵,这在我们机器学习里面会经常使用的!

import numpy as np
X = np.random.randint(1, 20, size = (5, 5))
# numpy计算cov
display(np.cov(X,
               rowvar = False,# 按照列,进行计算
               bias = True))# 计算的是总体方差
print('第一行第一个协方差:%0.2f' %
      (np.mean(X[:, 0] ** 2) - (np.mean(X[:, 0])) ** 2))
print('第一行第二个协方差:%0.2f' %
      (np.mean(X[:, 0] * X[:, 1]) - X[:, 0].mean() * X[:, 1].mean()))
print('第一行最后一个协方差:%0.2f' %
      (np.mean(X[:, 0] * X[:, -1]) - (np.mean(X[:, 0])) * (np.mean(X[:, -1]))))

35.png

十、机器学习中常见分布

正太分布:

36.png

均匀分布:

37.png

二项分布:

38.png

自然界和生活中很多事件都服从正太分布的,或者近似的服从正太分布的,比如人的身高、体重和智商,大部分人是平均值,小部分人比较胖,或比较瘦;比较高,或比较矮;比较愚钝,或比较聪明。还有考试成绩啊,人的收入等这些都近似服从正太分布。


二项分布拿我们抛硬币的例子来说,比如 x = 0 是背面朝下的概率,x = 1  是正面朝上的概率,那么它取值只有 0  或 1  两种情况。当然不用 0 或 1 ,你用 − 1 和 + 1  也是可以的。都是二项分布,取每个值都有一个概率值。在我们机器学习中,主要用的就是这几种概率分布。


十一、最大似然估计

🚩最大似然是估计(求解)一个概率密度函数中参数问题的。比如有个向量X,θ 是它的参数,比如正太分布中的μ 和 σ这都是需要估计的参数。

image.png

那我们怎么估计这组参数呢?肯定是根据一组样本来学习,假设我们有 n  个样本它们是独立同分布的,也就是说它们服从同样一个概率分布,并且它们之间相互独立的,抽样出来的


那么所有变量发生的概率就可以写成它们乘积的形式,因为它们之间是相互独立的嘛,这时 L  是似然函数,这里 x  是已经取了具体样本的值了,θ  是我们要估计的参数

image.png

既然这组样本是已经抽样抽出来的,是已经发生的,我们肯定要把它发生的概率最大化,也就是说要最大化这样一个似然函数

image.png

求解一个函数的极值,就是要求解它的导数,也就是梯度等于0

image.png

而这样的乘积形式求导是不容易的(多个累乘,就更加麻烦!),之前讲过导数求导公式

image.png

如果更多项展开是非常麻烦的,所以我们可以对函数取对数,因为对数函数是单调增函数,所以求原函数的极值,也等于求它的对数形式的极值,所以我们两边取对数的话,就把连乘的形式转化为了连加的形式,因为连加的形式的导数,就是等于导数的连加39.png

所以我们要解决的问题就是求这个函数的极大值,这个可以对 θ  求导让它等于 0 得到,带 log ⁡的是对数似然函数,这就是最大似然函数最基本的思想

image.png

如果数据符合正太分布,那么通过最大似然可以推导出线性回归的损失函数MSE(最小二乘法):

40.png



目录
相关文章
|
存储 弹性计算 固态存储
阿里云服务器系统盘和数据盘云盘存储收费标准报价详单
阿里云服务器系统盘或数据盘可选高效云盘、SSD云盘、ESSD云盘或ESSD AutoPL,系统盘40G高效云盘一个月价格40元,按量价格是0.0196元/40GiB/小时,SSD云盘40G是40元/月,ESSD云盘PL0价格是一个月0.5元每GB
3674 0
阿里云服务器系统盘和数据盘云盘存储收费标准报价详单
|
12月前
|
分布式计算 Java 数据处理
Apache Spark优缺点大揭秘
【10月更文挑战第12天】
430 11
|
12月前
|
并行计算 Python
Python错误笔记(一):CUDA initialization: CUDA unknown error - this may be due to an incorrectly set up env
这篇文章讨论了CUDA初始化时出现的未知错误及其解决方案,包括重启系统和安装nvidia-modprobe。
1468 0
|
网络协议 安全 分布式数据库
技术分享:分布式数据库DNS服务器的架构思路
技术分享:分布式数据库DNS服务器的架构思路
256 0
|
存储 分布式计算 搜索推荐
ES自定义评分机制:function_score查询详解
ES自定义评分机制:function_score查询详解
1709 0
ES自定义评分机制:function_score查询详解
|
Java BI API
利用Java判断列表中元素的唯一性
利用Java判断列表中元素的唯一性
449 0
|
存储 开发工具 git
Git 术语解析:深入理解上游分支
【2月更文挑战第26天】
907 0
Git 术语解析:深入理解上游分支
|
存储 SQL 缓存
MySQL高阶知识点(一):SQL语句是怎么执行的
Server 层包括连接器、查询缓存、分析器、优化器、执行器等,涵盖 MySQL 的大多数核心服务功能,以及所有的内置函数(如日期、时间、数学和加密函数等),所有跨存储引擎的功能都在这一层实现,比如存储过程、触发器、视图等。 而存储引擎层负责数据的存储和提取。其架构模式是插件式的,支持 InnoDB、MyISAM、Memory 等多个存储引擎。现在最常用的存储引擎是 InnoDB,它从 MySQL 5.5.5 版本开始成为了默认存储引擎。
5309 7
MySQL高阶知识点(一):SQL语句是怎么执行的
|
存储 数据可视化 物联网
基于阿里云HiTSDB搭建工业物联网平台实践
基于阿里云全面的物联网、云计算与大数据技术搭建云端的企业能源管理物联网平台实现能耗数据采集、统计分析、平衡调度、节能优化等全面的能源管控协同平台。是企业生产运行保障的利器,也是大量企业实现云上管理的实践案例。
7093 71
|
开发框架 IDE 安全
Flutter3.0开发环境的配置
Flutter是Google推出的一款跨平台移动应用开发框架,支持iOS、Android、Web、Windows、macOS和Linux等多个平台。为了使用Flutter进行开发,首先需要配置Flutter开发环境。