Learning From
Data是研究生修的一门课,其实也就是机器学习的另一种叫法。第一门课中介绍了Linear
Regression,Logistic Regression,Softmax
Regression.虽然前两个都学过,但是还是有一些收获,比如另外的解释方法等等。
Linear Regression
这次Linear
Regression主要学习到的新的东西是,从概率角度来理解为什么使用Least
Square.
假设目标函数是
,其中是N维向量.假设是独立同分布(IID)的,而且满足高斯分布,则:
而出现这个样本的概率如下:
.
我们想要求得最大概率估计(Maximum Likelihood
Estimation):.
展开之前我们应该加个log,因为我们喜欢sum而不是prod。如下:
所以,.这也正是我们的cost
function的定义。
Logistic Regression
Logistic Regression学习了从另一种角度思考得到另一种定义cost
function的方法,当然最终效果是一致的。
之前的logsitic
regression对于的估计如下:
实际上有另外一种可以达到一样的效果,不过此时我们需要的就是另外一种对的定义了::
因此出现这个样本的概率为:
我们可以略去这些,因为这是确定的而且也不是我们需要注意的。
这时候log之后,得到最后的cost funtion的形式与之前就有了一些不同:
接下来要做的就是求这个函数的梯度,但是为了看的清楚,首先说明下各个函数的意义:
求梯度过程如下:
而且这个cost
function的好处是,利用梯度下降的时候它和线性回归的步骤是非常相似的,线性回归中:
即
最后回到两种不同的cost
funtion,实际上两者本质没有太大的区别,只是negative,positive的标识数字不同。最后得到的结果可能也不一样,但是差距不会太大,都会得到比较理想的结果。
Softmax Regression
Softmax
Regression是一种多维分类算法。依然是站在概率的角度来讨论。
假设共有k类,即.我们先给出一个概率估计,之前得概率估计是logistic函数,现在我们给出另一种情况:
同时我们定义:,此时.
当然,W参数也会发生变化:
因此我们确定了给定和的时候,的概率。
而出现当前样本的概率(我们忽略,像之前一样它不会影响结果):
其实我们可以想象的是这个式子展开了后会很复杂,因为对可能的各个情况也要连乘。不如先log好了:
这个东西,其实我推算的时候对他的符号表示已经很头大了。但是它虽然复杂但原理不难懂,和logistic
regression的道理基本上一样的。
最后,我们就是要求这个函数的梯度了。这个函数的梯度求解想必是非常复杂的,但是实际上没有想象的那么麻烦。最后的结果也非常的简单:
我们仔细观察原式就可以化简上面的样子。为了简化后面的步骤,假设.
第一种情况$ {y_i = j}$:
第二种情况,假设:
也是两种情况的差别只有前面是否加一个1。合并两种情况,可以得到:
上面推出来的要注意是我们想要最大化的函数。
而cost funtion的梯度应该是: $_ {i=1} ^N [(-{y_i=j} +
p(y_i=l|X_i,W))X_i] $
对于softmax
regression我们需要知道,它的参数之间并不是独立的,因为各个概率加起来为1,有这个约束后实际上,只要知道个参数,就可以确定这个模型。
实际上,可以很容易证明logistic regression 是 softmax
regression的特殊情况。
以上就是上节课学到的所有新东西。