机器学习-逻辑回归与sigmoid

一、穷人还是富人?

举个例子。

假如我们需要根据财富将人分成两类:穷人和富人。财富用x表示,拥有为正,负债为负。类别用y表示,0为穷人,1为富人。

三十年前,万元户就算很有钱了,所以将标准定为1万。即:拥有财富量x≥1万的人为富人,<1万的人为穷人。就可以得出这样一个划分模型:

机器学习-逻辑回归与sigmoid

它可以用公式:

机器学习-逻辑回归与sigmoid

来表示。h(x)表示拥有财富的人是富人的概率。如果取0.99为分界点,当h(x)>=0.99时,y=1,为富人,否则,y=0,为穷人。

随着通货膨胀,钱越来越不值钱了。万元户已不算啥,10万才算有钱人。模型需要调整如下:

机器学习-逻辑回归与sigmoid

公式变为:

机器学习-逻辑回归与sigmoid

对比发现,式子中其它部分不变,只有x的系数由4变为了0.5。也就是说,如果评判标准发生了变化,只需要调整x的系数就可以得到新的满足要求的模型。

把系数当成一个参数θ,得到通用公式如下:

机器学习-逻辑回归与sigmoid

问题来了,如果我们不知道评判标准,只知道几组已知的评判结果如下:

机器学习-逻辑回归与sigmoid

如何推测拥有财富6万的人是穷人还是富人?

我们已经知道了评判标准的通用模型,只是参数:

机器学习-逻辑回归与sigmoid

尙不确定。

不过我们可以通过上面的公式用已知评判数据反推。

如果将第一组数据x=10,y=0.99带入,由之前的例子可知θ约等于0.5即可满足要求。

得到评判模型公式如下:

机器学习-逻辑回归与sigmoid

模型曲线:

机器学习-逻辑回归与sigmoid

评判结果:

机器学习-逻辑回归与sigmoid

可以看出,除了x=10,与给定吻合,其它的相差较大。

如果我们以最小的x=-5,y=0.01带入公式:

机器学习-逻辑回归与sigmoid

反推出的评判模型公式如下:

机器学习-逻辑回归与sigmoid

模型曲线:

机器学习-逻辑回归与sigmoid

原数据评判结果:

机器学习-逻辑回归与sigmoid

和给定结果一致。

所以,我们可以认为这个评判模型和实际模型是比较接近的。

回到最初的问题,要想知道财富量为6万的人究竟属于哪一类?只需将x=6带入评判模型公式:

机器学习-逻辑回归与sigmoid

所以y=1,应属于富人。

总结以上,我们根据问题的特点,创建了一个通用,但参数不确定的模型。再根据已知的数据信息,确定模型的参数。最后,用参数已定的模型预测新的未知数据。

其中,由已知信息确定模型参数的过程就叫机器学习。

问题是,为何要选择:

机器学习-逻辑回归与sigmoid

这样一个模型,它是怎么来的?

二、万能公式

从牛顿的F=ma对宏观物理现象的解释,到麦克斯韦方程组对电磁波的描述,再到爱因斯坦、霍金对大一统理论的探索。人类苦苦追求的其实就是一个万能公式,它囊括了万物之理,是宇宙的模型。通过它我们可以解释一切未知的物理现象,宇宙对我们来说也再无秘密可言。

为了得到这个模型,无数的科学家观测记录了大量数据,从中抽象并总结了很多规律,形成了我们目前已知的定理、定律和公式。我们可以把它们看作一个个的子模型。

机器学习也是,如果能有一个描述能力很强的模型,能够囊括我们需要解决的问题的规律。那么我们就可以利用观测到的数据通过训练来确定模型的参数,然后用来预测或解释新的数据和现象。

那到底有没有这样的一个模型呢?

有。

就是指数族分布函数,如下:

机器学习-逻辑回归与sigmoid

其中:

  • ​ η是自然参数,包括输入数据和模型参数 ;
  • T(y)是充分统计量;
  • ​ a(η)保证​ p(y;η)的和为1;

大多数概率分布都可以由指数族分布给出,包括正态分布、多项式分布、泊松分布、伽马分布,Beta分布,伯努利分布等。

它就像概率分布的一个万能公式。

而我们现实世界中有很多现象是服从这些分布的,比如穷人富人分类问题其实就是一个典型的伯努利分布问题。

所以,在构造模型的时候就可以考虑这个指数族分布函数。

三、伯努利分布与指数分布族函数

既然指数族分布函数涵盖了伯努利分布,那伯努利分布和指数分布族之间的关系是怎样的呢?

我们知道,伯努利分布如下:

机器学习-逻辑回归与sigmoid

其中,y是可能的取值,只有0和1。Φ是y=1时的概率。

转换成指数分布族函数的样式:

机器学习-逻辑回归与sigmoid

和指数分布族函数标准式子进行对比:

机器学习-逻辑回归与sigmoid

可以看出,当:

机器学习-逻辑回归与sigmoid

时,指数分布族函数就变成了伯努利分布。

四、逻辑回归

有了指数分布族这一利器,让我们重新审视穷富人的分类问题。

根据财富x,进行分类,非富即穷,只有两种选择。是个二分类问题,服从伯努利分布。

既然指数分布族函数涵盖了伯努利分布,我们就将伯努利分布作为描述问题的模型:

机器学习-逻辑回归与sigmoid

其中​包含了模型参数​和输入x两部分信息。设:

机器学习-逻辑回归与sigmoid

当​通过训练确定后,输入财富量x就可以得到y=0或1的概率,进而确定x对应的类别。

但如何确定:b(y)​、T(y)​、a(η)​呢?

因为问题服从伯努利分布。设y表示划分的类别,0-穷人,1-富人。Φ​表示富人的概率,1-Φ​表示穷人的概率,公式如下:

机器学习-逻辑回归与sigmoid

由伯努利分布和指数族分布之间的关系可知:

机器学习-逻辑回归与sigmoid

连同

机器学习-逻辑回归与sigmoid

一起带入指数族分布,得:

机器学习-逻辑回归与sigmoid

令y=1,也就是说类别为富人的概率:

机器学习-逻辑回归与sigmoid

所以就得到了最终的模型:

机器学习-逻辑回归与sigmoid

这就是最初我们选择这个公式作为模型的由来,这个模型又叫逻辑回归模型。

总结:

之所以会选择这个公式,是由我们选择描述问题的方式决定的。我们选择了伯努利分布来描述我们的问题,自然而然的也就推导出了这样一个公式。

如果选择其它的描述方式,可能就会出来另外一个公式了。

五、sigmoid

神经网络中用到的sigmoid函数,如下:

机器学习-逻辑回归与sigmoid

是不是很眼熟,和我们推导出来的逻辑回归模型函数有着惊人的相似:

机器学习-逻辑回归与sigmoid

为什么会这样呢?

原因是,sigmoid函数,通常位于神经网络的输出层,作为二分类问题的最终输出。它本质上也是一个逻辑回归问题。

所以用它也就自然而然了。


分享到:


相關文章: