从线性回归(Linear regression)到逻辑回归(Logistic regression)

来源:互联网 发布:os系统教程加装windows 编辑:程序博客网 时间:2024/05/17 21:56

今天我想要重新对线性回归和逻辑回归做一个总结回顾,相比于简单的调用接口,我希望自己可以更深入的理解本质。只有对算法有了好的理解,再加上数据才能做有意义的事情:

    • 线性回归
    • 逻辑回归


线性回归

什么叫做线性回归?就是满足线性关系的回归问题。所谓最难回答的就是定义问题,如果预测结果是连续性数据,那么就是线性回归问题;如果是离散数据,那么就是分类问题。更加详细的定义请移步到吴恩达老师的coursera课程。

言归正传。是一个很普通的函数,它是等价于吴恩达老师使用的h(θ)=θ0+θ1. 其中a,b(θ)就是我们所需要学习的两个参数,y就是我们的预测结果。

逻辑回归

逻辑回归,虽然叫做回归,但它其实是解决分类问题的算法。之所以叫做逻辑回归,是因为它起源于线性回归算法。最大的特点就是它使用一个叫做“激励函数(Activation function)”的东西,可以将原来的输出结果做一个处理,使之更加接近于“非0即1”的状态,即起到了二分类的作用。

公式如下:
11+ex
这里的x在实际操作中是上面提到的ax+b
这个是sigmoid函数的python实现:

def sigmoid(x):    a = []    for item in x:        a.append(1/(1+math.exp(-item)))    return a

接下来再说一下softmax函数,它算是sigmoid函数的一个推广:
P(i)=exp(θTix)Kk=1exp(θTkx)
(因为在softmax层会有num=类别数个神经元存在,第i个神经元计算出来的那个数字再和总共的数字之和做一个除法就可以知道这个神经元的“占比大小”,进而得到是否要被分到这个类里面。)
因为sigmoid可以被写成:
P(i)=11+exp(θTix)

理解起来很简单,原来计算的时候是计算指定x最后被分为1的“概率”大小;新的是被分为某一类的“概率”大小。但这里的概率不是我们通常意义上的概率,是一个可能性度量。

0 0
原创粉丝点击