逻辑回归-个人笔记

预测函数:

我们定义逻辑回归的预测函数是:h_{\Theta }(x) = g(\theta^{T}x)

其中g(x)为评判函数(字面意思),在神经网络里叫激活函数,

g(x)=\frac{1}{1+e^{-x}}h_{\Theta }(x)=\frac{1}{1+e^{-\theta^{T}x}}

其实思想就是在原来一元多元线性非线性回归里的公式(简称Q)外套一个g(x)的函数;

就是函数套函数,根据g(x)的图像性质。我们就可以从回归方程,变成了分类。而逻辑回归就是起到一个分类的效果。

逻辑回归-个人笔记_第1张图片这个时候我们就可以根据Q的结果是否大于零,来判断我们的我们的数据属于哪一类,然后我们Q的值(即结果)大于零的,判为1,小于零的判为0,最后我们就知道了我们的结果。我们的Q函数写为:Q=\Theta _{0}*x_{0}+\theta_{1}*x_{1}+\theta_{2}*x_{2}+...

这里x0=1,那么\theta_{0}就是我们的偏置项(数学里的b)。这个时候我们就把逻辑回归的公式推导写完了,一句话来说就是:我们通过Q=\Theta _{0}*x_{0}+\theta_{1}*x_{1}+\theta_{2}*x_{2}+...这样的函数,外套一个g(x),然后进行判断,将我们的数据集进行分类。因为我们训练模型,所以数据集是知道的,也就是我们的x是知道的,我们只需要给一组\Theta的值,然后进行下面的步骤,为啥给\Theta,看下面的。

我们创建模型,总的有个评判标准吧,那么我们的代价函数就出来了,线性回归的代价函数是根据最小二乘法,代价函数为:J(\theta) = \frac{1}{2}{}\frac{1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{i})-y^{i})^2

我们的逻辑回归是属于分类,我们依据分类的效果进行评判(我们对一件事情的预判的结果分为这四种情况:1.事情本来错了,我给他判为对了;2.事情本来对的,我给他判为错了;3.事情本来错的,我给他判为错的;4.事情本来对了,我给他判为对的)那么准确率就是看3,4两种结果的和。

我们把上面的情况写成数学公式就是ylog(h_{\theta}(x))+(1-y)log(1-h_{\theta}(x))

于是我们的代价函数就是cost=-ylog(h_{\theta}(x))-(1-y)log(1-h_{\theta}(x))

那么我们所有的数据的代价函数就是J(\theta) = -\frac{1}{m}[\sum_{i=1}^{m}y^{i}log(h_{\theta}(x))+(1-y^{i})log(1-h_{\theta}(x^{x})])]

然后我们就不难发现代价函数和\theta的关系,然后我们就可以依靠梯度下降法通过调整\theta

的值来是的代价函数变小。 那么我们更替的公式为\theta_{j}: = \theta_{j} - \alpha \sum_{i=1}^{m}(h_{\theta}(x^{i})-y^{i})x_{j}^{i}

然后我们就可以成功的构建我们的模型了。同时我们会根据迭代的次数来结束我们的模型训练。

同时我们还有正则化逻辑回归代价函数:

J(\theta)=[\frac{1}{m}\sum_{i=1}^{m}y^{(i)}logh_{\theta}(x^{(i)})+(1-y^{(i)})log(1-h_{\theta}(x^{(x)}))]+\frac{\lambda }{2m}\sum_{j=1}^{n}\theta_{j}^{2}

求导:\frac{1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)}))x_{0}^{i}

\frac{1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)}))x_{1}^{i}-\frac{\lambda }{m}\theta_{1}

\frac{1}{m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)}))x_{2}^{i}-\frac{\lambda }{m}\theta_{2}

你可能感兴趣的:(逻辑回归,机器学习)