内容来自B站Up主:动画讲编程https://www.bilibili.com/video/BV1CR4y1L7RC、风中摇曳的小萝卜https://www.bilibili.com/video/BV17r4y137bW,仅为个人学习所用。
极大似然估计
几率、概率与似然
几率是指某个事件发生的可能性与不发生的可能性之比,即事件发生的几率和不发生的几率的比值。
概率是在特定条件下某事件发生的可能性,在结果没有产生前,根据条件去估算某个事件发生的概率,通常用一个0到1之间的数值表示。
似然的概念与概率相反,是根据已知的事件结果来推测该事件可能在什么条件下发生。我们都知道,抛出一枚质地均匀的硬币,人像和数字在上的概率分别为0.5,假设抛出一枚硬币1万次,其中8千次人像在上,2千次数字在上,那么可以判断该硬币的构造可能有问题,进而推测该硬币的一些参数。
设 θ \theta θ为条件对应的参数, x x x表示事件发生的结果,在 θ \theta θ条件下 x x x发生的概率表示为 P ( x ∣ θ ) P(x|\theta) P(x∣θ), P P P是关于 x x x的函数;似然则相反,表示为 L ( θ ∣ x ) L(\theta|x) L(θ∣x),即在已经结果 x x x的条件下, θ \theta θ发生的概率, L L L是关于 θ \theta θ的函数。
极大似然估计
极大似然估计是在已知观测数据的情况下,找到使这些数据出现的可能性最大的模型参数,即根据事件 x x x的观察结果,推断 θ \theta θ是多少的时候,结果 x x x最有可能发生。
继续抛硬币实验,通过具体实验来得出 θ \theta θ。仍然抛硬币10次,其中7次人像在上,3次数字在上
假设结果服从二项分布,那么有 L ( θ ) = θ 7 ( 1 − θ ) 3 (有 7 次人像朝上,为 7 个 θ 相乘,其他的同理) L(\theta)=\theta^7(1-\theta)^3 (有7次人像朝上,为7个\theta相乘,其他的同理) L(θ)=θ7(1−θ)3(有7次人像朝上,为7个θ相乘,其他的同理)
通过该图像发现,当 θ \theta θ取值为0.7时,函数值达到最大值,说明在当前条件下,最可能发生7次人像在上,3次数字在上。
逻辑斯蒂回归
引入
小明的战队与对手比赛,但小明的战队比较慢热,刚开始找不到手感,与对手零十开,到了10分钟时,与对手一九开,到了游戏中期,手感上来了,与对手五五开,游戏后期达到九一开甚至十零开。
因为中期的比赛形势不确定,小明想知道在第26分钟的时候能和对面几几开呢?
计算过程
这里说的几几开是指赢下比赛和输掉比赛可能性的比值 几几开 ( 几率 ) = p 1 − p 几几开(几率)=\frac{p}{1-p} 几几开(几率)=1−pp
列出相关几率如下图
转为小数
当战队十分可能输给对手的时候,赢的几率接近于0,而当战队非常可能赢的时候,该几率更接近于 + ∞ +\infty +∞。
这种对称轴不对称,不好分析问题,使用几率的对数来分析问题,将数据从正半轴映射到整条数据周轴上。
若以对数几率为y轴,时间为x轴,可以得到线性回归直线。
通过计算每个点到直线的距离差,然后做最小二乘的优化,可以得到一条最完美的直线来拟合这些数据。查询x轴上某一点,就可以得到当前时间赢下这场比赛的可能性。
问题是有许多点分布在 + ∞ +\infty +∞与 − ∞ -\infty −∞上,如何计算距离误差?
将该直线重新映射回概率空间,通过一系列计算,可以得到逻辑斯蒂函数。
代入 y = w x + b y=wx+b y=wx+b,得出逻辑斯蒂回归的概率函数
因此,可以理解为:概率空间里的逻辑斯蒂回归就是对数几率空间里的线性回归。
在概率空间中,可以使用极大似然估计来得到最好的逻辑斯蒂曲线。
假设在时间 x x x的条件下,赢下比赛(y=1)的几率为 p p p,输掉比赛(y=0)的几率为 1 − p 1-p 1−p
注意:与前面的函数计算方法类似( L ( θ ) = θ 7 ( 1 − θ ) 3 L(\theta)=\theta^7(1-\theta)^3 L(θ)=θ7(1−θ)3)
由于一系列式子的乘积是不太容易优化的表达,取对数变成其加法形式
展开括号,整理,有
标黄的 l o g log log部分是对数几率,概率空间里的逻辑斯蒂回归就是对数几率空间里的线性回归,将其替换成直线方程, p i p_i pi是逻辑斯蒂函数,代入,得出如下结果
继续优化得到最好的参数值
a r g m a x argmax argmax函数:找出使函数取得最大值的自变量。假设教计算机识别图片是猫、狗还是兔子。计算机对一张图片会输出三个数字[0.2,0.7.0.1],比如说 ,这三个数字分别代表这张图片是猫、狗、兔子的可能性。这里的函数就是计算可能性的那个规则。那 argmax 就是帮你找出哪个可能性最大。在这个例子中,最大的是0.7 ,对应的是狗,所以计算机就会认为这张图片是狗。
将时间代入,就可以得到相关的概率。