python大法攻略程序员深度学习-推荐系统-CV-NLP

python与机器学习(五.Logistic回归)

2017-09-12  本文已影响358人  眼君

然而线性回归的算法不但可以用来回归,还可以运用来进行处理分类,就是我们这节课要讲的Logistic回归。

sigmoid函数

sigmoid函数是一种阶跃函数,在数学上,如果实数域上某个函数可以用半开区间上的指示函数的有限次线性组合来表示,那么这个函数就是阶跃函数。而指示函数是定义在某个集合X上的函数,表示其中有哪些元素属于某一子集A。sigmoid函数具体计算公式如下:

f(z) = 1/(1+e**-z)

其中z是sigmoid函数的输入函数,由下面公式得出:

z = W0X0 +W1X1 +W2X2 +W3X3 +W4X4 + ...+WnXn 

如果采用向量的写法,上述公式可以写成z = W**T*X,表示两个数值向量对应元素相乘后全部加起来的值。其中的向量X是分类器的输入数据,向量W也就是我们要找到的最佳参数(系数),从而使得分类器尽可能精确。为了寻找该最佳参数,需要用到最优化理论的一些知识。

logistic回归一般用来处理二分类问题,假设

P(y=1|x;theta) = H(x),则P(y=0|x;theta) = 1-H(x),

P(y|x;theta) = H(x)**y(1-H(x))**(1-y) 


梯度上升法

梯度上升法基于的思想是:要找到某函数的最大值,最好的方法是沿着该函数的梯度方向探寻。我们将使用下面的几个函数来实现梯度上升算法:

初始化数据集

通过一个梯度上升算法的函数获得一组回归系数。

获得一组回归系数的函数

梯度下降更新方法:

梯度下降 梯度下降
上一篇下一篇

猜你喜欢

热点阅读