logistic regression tensorflow实现

怎甘沉沦 提交于 2019-11-28 05:25:48
  • logistic regression
    • 逻辑回归,属于线性的分类问题,即在给的数据集中,需要找到一条直线将数据集分成两种类别。直线可以表示为y=WXy = WX,其中,WXW和X都是向量,那么如何将线段映射到列别上呢,假设有一个函数,输入可以任意数据,但是输出只有两种结果,是不是就满足了需求。这种函数一般为分段函数,但是分段函数计算不方便,有一种函数可以近似的看成分段函数。即sigmoid函数f(x)=11+exf(x) = \frac{1}{1 + e^{-x}}。关于sigmoid函数的图像,可以前往我的另一篇文章查看:https://blog.csdn.net/xzccfzy/article/details/99432448
    • 假设现在有一条数据XiX^{i},那么如果判断他的类别呢。根据上述的直线函数以及分类函数(sigmoid),我们可以得到数据XiX^{i}的两种类别的概率:P(y=1W,Xi)=11+e(WXi)P(y=1|W,X^{i}) = \frac{1}{1+ e^{-(WX^{i})}} P(y=0W,Xi)=1P(y=1W,Xi)=111+e(WXi)P(y=0|W,X^{i}) = 1 - P(y=1|W,X^{i}) = 1 - \frac{1}{1+ e^{-(WX^{i})}}
      将两者结合起来P(yW,Xi)=(P(y=1W,Xi))y(P(y=0W,Xi))1yP(y|W,X^{i}) = (P(y=1|W,X^{i}))^{y} * (P(y=0|W,X^{i}))^{1-y}
      现在只要求出表达式中的WW即可计算得到数据的类别,要想算出参数WW,一般使用极大似然估计,然后对似然估计结果取lnln可以得到:l(W,Xi)=i=1m{yP(y=1W,Xi)+(1y)P(y=0W,Xi))}l(W,X^{i}) = \sum_{i=1}^{m}\left \{ y*P(y=1|W,X^{i}) + (1-y) * P(y=0|W,X^{i})) \right \}
    • tensorflow 实现(版本1.12)
      github地址:https://github.com/xzccfzy/logistic_regression
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!