最小二乘法、最大似然估计、交叉熵、贝叶斯

备注:对这些的理解主要是在机器学习领域

什么是最小二乘法?

自己理解的最小二乘法就是各项差值的平方和,(a-x)²+(b-x)²+(c-x)²......,具体可以看下这个资料,介绍的很详细

那问题来了,这个和 MSE 有什么区别?只是一个是平方和,一个是平方和的平均吗??我看有的同学说,MSE 是加权的最小二乘法。

什么是最大似然估计?

我们以最经典的抛硬币为例,一般情况是这样,我们知道了硬币出现正反面的概率都是1/2,ok,我们很容易猜测(计算)抛3次,3次正面的概率(0.5*0.5*0.5=1/8),2次正面1次反面的概率是(0.5*0.5*0.5*3=3/8)等等。现实中往往有很多情况不是这样,假设有一个箱子,里面装了10个球,我们从箱子里面有放回的取出10次,取出白球6次,红球4次,问题就是箱子里面白球和红球的数量。那我们怎么解答这个问题呢,这里就用到了最大似然估计。首先我们假设箱子白球/红球=1/9,因为是有放回,所以每次实验都是独立的,我们很容易计算出概率为  0.1的6次方*0.9的4次方 = 6.561E-7,类似,

假设白球/红球=2/8,概率为7.724E-5,

假设白球/红球=3/7,概率为1.750E-4

假设白球/红球=4/6,概率为5.308E-4

假设白球/红球=5/5,概率为9.765E-4

假设白球/红球=6/4,概率为1.194E-3

假设白球/红球=7/3,概率为9.529E-4

..........

从上面的计算结果,我们有里有相信箱子里面的白球/红球=6/4,因为属这种情况下概率值最大,最有可能。这就是最大似然估计,估计模型最有可能的参数,使得模型拟合现有结论或者表象。大家也可以参考下这个文章,给出来计算公式。

这篇写的也很好

----------------------------------------------------------------------------------

上面也可以用贝叶斯解释下 P(A|B)=P(B|A)⋅P(A)。

由于取出的球是相互独立的,用公式表示就是 P(结果| θ)=P(θ|结果) * P(结果),其中,θ表示箱子里的白球红球比例,也就是我们要求的解,结果指我们做了10次实验的结果白球/红球=6/4,我们其实想求的是θ在什么情况下取得该结果的概率最大,通过贝叶斯转换后变成了,在当前结果下,θ取什么值 P(θ|结果) 最大。

其实上面的一切都依托于一个假设,就是上述实验结果最能反应箱子里面白球/红球的分布。

 

什么是交叉熵?

交叉熵与熵相对,如同协方差与方差。熵考察的是单个的信息(分布)的期望:

交叉熵考察的是两个的信息(分布)的期望: 

y = tf.placeholder(dtype=tf.float32, shape=[None, 10])

.....

scores = tf.matmul(h, w) + b
probs = tf.nn.softmax(scores) 
loss = -tf.reduce_sum(y*tf.log(probs))

下面这两个文章写的不错,可以看下哈

https://blog.csdn.net/lanchunhui/article/details/50970625

下面这篇文章对于交叉熵损失函数推到更详细

https://blog.csdn.net/sinat_29819401/article/details/58716834

可以看到为什么激活函数是 sigmoid 的时候,选用 mse 就会有梯度饱和,而选用交叉熵损失函数就可以避免这一问题,达到快速收敛的效果。

什么是贝叶斯?

待续

你可能感兴趣的:(最小二乘法、最大似然估计、交叉熵、贝叶斯)