似然函数定义 以及 极大似然估计 MLE (完成) --------------------------------------------------------------------------------------- start
注意:P(A | B) 并不总是等于 P(B | A),原因如下:
首先要明白一个事情,什么是似然函数?以下是 CHATGPT Math Solver 的回答:
我自己解释一下,意思就是:
观察到一组数据(x, y)后,我们希望建立一个(参数化)模型,这个模型能够利用 (x, y) 改变自身的参数,从而帮助我们去根据未来的 x 预测未来的 y。
那么此时,我们如何评估这个参数的好坏呢?什么样的参数是最好的参数?
最好的参数可以定义为,在观察到 (x, y) 后,概率最大的参数
所以,似然函数指的就是,在观察到 (x, y) 后,模型参数的概率分布
关于 “似然” 和 “概率” 的区别:根据吴恩达教授所说,“似然”指的就是“数据集固定时,模型参数的概率”。“概率”指的就是“模型参数固定时,数据集的概率”
根据 CHATGPT 的回答,似然函数并不代表 “模型参数的概率分布”,它用来评估 “参数模型的好坏”。因此,能够最大化似然函数的模型参数就是最好的模型参数,这也就是 极大似然估计 “Maximum Likelihood Estimation”
需要特别注意的一点是:在 CHATGPT 的回答中,L (theta | X) = P (X | theta) 是正确的,左边是 L , 右边是 P,原因如下
似然函数定义 以及 极大似然估计 MLE (完成) --------------------------------------------------------------------------------------- end
如何通过 MLE 推导 均方损失函数 (已完成) ---------------------------------------------------------------------------------- start
首先要知道的是,Mean Square Error (MSE) 的作为线性回归模型的损失函数的原因是,使用 MLE 能够把它推导出来。
推导过程如下:
让我们考虑房屋预测问题
假设“真实”的房屋价格可以使用一个公式来建模: y = theta X + epsilon(误差)
(注意,这里本来是 theta X + b,但它们其实可以整合到一个矩阵乘法里)
这个模型属于参数化模型,theta 矩阵就是参数,那么为了得到最好的参数,就要最大化它的似然函数。
这个参数 theta 矩阵的似然函数是:
那个乘积里的单独的 P (y_i | x_i ; theta) 如下:(一个均值为 theta X,误差为 sigma 的正态分布)-------------- start
首先,根据经验(在实践中效果很好)由于 epsilon(误差) 属于正态分布,且是独立同分布。
正态分布的公式如下:
因此,epsilon 作为随机变量的随机分布可以写成下面这样
由于 epsilon 属于正态分布的随机变量,因此可以认为,对于任何一个样本,y(i) 也是一个随机变量,它在一个“真实值”附近摆动,这个摆动是一个和 epsilon 独立同分布的 随机变量,因此, y(i) 的分布可以写成如下图:
如上图,这是一个正态分布,均值为 theta X,误差为 sigma
那个乘积里的单独的 P (y_i | x_i ; theta) 如下:(一个均值为 theta X,误差为 sigma 的正态分布)-------------- end
把单独的 P (y_i | x_i ; theta) 带入到似然函数里,就会出现如下图的公式
接下来为了简化计算,我们使用 “log likelihood”,已知 log 函数是单调递增函数,所以我们如果要求 似然函数 的最大值,那么给它加上一个 log 函数,求这个 log 函数的最大值就是求原本的似然函数的最大值,如下图
log 函数的目的主要是为了把 “乘积” 变成 “加法”,同时消除 exp 指数函数
log 似然函数最终结果,前面那些 mlog(…) 是常数,可以丢掉,在最大化的时候,考虑后面红圈圈出来的那些就可以
由于 sigma(求和符号) 里面有个负号(-),所以也可以去掉负号(-),然后说我们要最小化去掉负号(-)之后的那个公式。同时,为了在求导时,把分子那个平方求导出来的 2 给消掉,我们可以在前面加上一个 (1/2)。同时,还可以直接去掉分母
此时可以发现,我们要最小化的这个公式,里面只有一个变量,那就是 theta 矩阵,而这整个公式看起来,就是 MSE(均方损失函数)。
到这里,就是使用 “极大似然估计MLE” 推导 “均方损失函数MSE” 的过程。
如何通过 MLE 推导 均方损失函数 (已完成) ---------------------------------------------------------------------------------- end
如何通过 MLE 推导 交叉熵函数 (已完成) --------------------------------------------------------------------------------------- start
交叉熵 Cross Entropy 是通过 MLE 在分类模型上进行推导出来的
你需要知道的是:分类问题的模型通常也被称为 逻辑回归
如上图,假设函数是一个 sigmoid 函数加上 “线性变换”,这是我们通常用来做分类问题的建模。
TODO: 至于为什么要使用这个模型,是有数学推导的,这个以后的课程会讲解
如下图,是 sigmoid 函数的图画
假设函数:用来建模的函数
我们使用如上两图的假设函数来计算一个事件发生的概率
已知假设函数 h_theta(x) 代表 P(y=1) 的概率,那么
P(y=1) = h_theta(x)
P(y=0) = 1 - h_theta(x)
可以把这两个公式统合成一个公式,如下
P(y | x; theta) = h(x) ^ y (1 - h(x)) ^ (1-y)
如此一来,这个建模问题的似然函数就可以写成如下
现在我们要最大化这个似然函数,那么我们应该在前面加上一个 “log”,这并不会影响我们去获取最大化似然函数的 theta
此时我们要做的,就是最大化这个 log 似然函数
加个负号 (-),那么就是最小化这个 log 似然函数,如下图
这就是通过 MLE 推导 交叉熵函数 CrossEntropy 的过程
如何通过 MLE 推导 交叉熵函数 (已完成) --------------------------------------------------------------------------------------- end