这段时间一直在看Andrew Ng的机器学习的公开课,感觉真的是很棒,极力推荐大家去看,这是对应的网易公开课的链接:
http://open.163.com/special/opencourse/machinelearning.html
在看Logistic Regression的过程中,Ng首先介绍了伯努利分布{0,1},而后引入***sigmoid***函数,之后就说我们假设(Let us assume that)
P ( y = 1 ∣ x ; θ ) = h θ ( x ) , P ( y = 0 ∣ x ; θ ) = 1 − h θ ( x ) P\left ( y= 1|x;\theta \right )=h_{\theta }\left ( x\right ) , P\left ( y= 0|x;\theta \right )=1-h_{\theta }\left ( x\right ) P(y=1∣x;θ)=hθ(x),P(y=0∣x;θ)=1−hθ(x)
不知道为什么假设成这个样子,自己思考了半天,下面是我自己的理解。
在学习机器学习的时候我总是犯一个毛病就是到最后都不知道训练的是什么,当进行到测试的时候想得到的结果是什么。
对于这个问题来说训练的就是$ \theta , 之 后 测 试 的 时 候 输 入 一 个 ,之后测试的时候输入一个 ,之后测试的时候输入一个x$,输出的结果就是多大的概率为1, 多大的概率为0,这就是我们的目标。
根据这个目标,我们构造了一个 h θ ( x ) = 1 1 + e − θ T x h_{\theta }\left ( x\right )=\frac{1}{1+e^{-\theta ^{T}x}} hθ(x)=1+e−θTx1 来代表输出为1的概率( P ( y = 1 ∣ x ; θ ) = h θ ( x ) P\left ( y= 1|x;\theta \right )=h_{\theta }\left ( x\right ) P(y=1∣x;θ)=hθ(x)), 下图就是这个函数的图像(https://en.wikipedia.org/wiki/Sigmoid_function),这个函数的取值范围为(0,1)。
其实 h θ ( x ) h_{\theta }\left ( x\right ) hθ(x) 取什么样函数都可以,只要是符合要求就行,而如果取上述曲线(Logistic Function)比较符合自然规律或者其他一些我不能够理解的理由。。。。
才疏学浅,只能理解到这了,不知道理解的深刻不深刻,请大家多来吐槽。