2022吴恩达 第一课第三周 学习总结

主要学习内容为:

        逻辑回归

        决策边界

        损失函数

        cost function

        过拟合

        正则化

首先要明白逻辑回归是一个分类任务,我们最终算法的目标不再是得到一个具体的数,而是有限的类别。比如二分类,要判断输入的特征向量属于第一种分类,还是第二种分类。一般用0/1、true/false……表示。

因此对于样本数据(\overrightarrow{x},y)中的y值,需要对他进行处理,通常能够以1 、 0 的方式进行分类。那么要如何的对y值进行处理呢?使用sigmoid函数

        1.首先使用sigmoid函数对输入值进行处理,使其值在0-1之间

                    sigmod = \frac{1}{1+e^{-z}}

            目标函数计算的标签结果为:

                    f(\overrightarrow{\omega},b)= \overrightarrow{\omega } \overrightarrow{x} + b

             对计算标签进行sigmoid计算:

                     g(z) = sigmoid(z)=\frac{1}{1+e^{-z}} =\frac{1}{1+e^{-(\overrightarrow{\omega } \overrightarrow{x} + b)}}

             此时的g(z)为区间为[0,1]之间的数

              通过规律可以发现:

                        \begin{matrix} \overrightarrow{\omega } \overrightarrow{x} + b >0&\overline{y}=1 \\ \overrightarrow{\omega } \overrightarrow{x} + b <0& \overline{y}=0 \end{matrix}

        2.设置一个阈值(0.5),当经过sigmoid函数的值大于0.5时,认为该特征为1类。如果小于                0.5则认为0类。

            因此,这个阈值就是我们区分两种类别的重要工具!!

        3.通过目标函数、sigmoid函数、阈值。我们将样本特征的标签转换为0、1

这种分类方式称为逻辑回归!!!

知道分类结果后我们要怎样的对数据点进行展示呢?

        绘制出其决策边界。

决策边界是啥?

        对于刚在进行sifmoid分类时,我们提及到,设置阈值为0.5,也就是说当一个样本经过训练后的值=0.5,说明这个值既满足1分类,也满足0分类。此时也就是说:

        g(z) = sigmoid(z)=\frac{1}{1+e^{-z}} =\frac{1}{1+e^{-(\overrightarrow{\omega } \overrightarrow{x} + b)}}=0.5

        绘制出该函数图像,图像的不同测表示不同的类别

我们在使用目标函数进行特征预测时,使用了sigmoid函数对数据进行了改变,那么这种改变在我们的模型训练中有什么影响呢?

        使用梯度下降算法!

        线性回归的cost function:

        J(\overline{w},b)=\frac{1}{m}\sum L(f_{\overrightarrow{w},b}(\overrightarrow{x}^{(i)},y^{(i))}))

        逻辑回归中的cost function                

        J(\overline{w},b)=\frac{1}{m}\sum L(f_{\overrightarrow{w},b}(\overrightarrow{x}^{(i)},y^{(i))}))

        L(f_{\overrightarrow{w},b}(\overrightarrow{x}^{(i)},y^{(i))}))=\begin{Bmatrix} -log(f_{\overrightarrow{w},b}(\overrightarrow{x}^{(i)})) & y^{i}=1\\ -log(1-f_{\overrightarrow{w},b}(\overrightarrow{x}^{(i)})) & y^{i}=0 \end{Bmatrix}

        该方程为凸函数,具有全局最小值

        对其进行优化:(交叉熵)可以根据i值进行区分

        L(f_{\overrightarrow{w},b}(\overrightarrow{x}^{(i)}),y^{(i)}))= -y^{(i)}log(f_{\overrightarrow{w},b}(\overrightarrow{x}^{(i)})) -(1-y^{(i)})log(f_{\overrightarrow{w},b}(\overrightarrow{x}^{(i)}))

        {\color{Red} {\color{Red} }J(\overline{w},b)=\frac{1}{m}\sum L(f_{\overrightarrow{w},b}(\overrightarrow{x}^{(i)},y^{(i))}))=-\frac{1}{m}\sum y^{(i)}log(f_{\overrightarrow{w},b}(\overrightarrow{x}^{(i)})) +(1-y^{(i)})log(f_{\overrightarrow{w},b}(\overrightarrow{x}^{(i)}))}

        找到cost function,开始更新参数\omega,b

        \omega =\omega -\alpha \frac{\partial J(\overline{w},b)}{\partial \omega }

        b =b -\alpha \frac{\partial J(\overline{w},b)}{\partial b }

        完成梯度下降

完成梯度下降,该模型也训练完成,但是会发现遇到一类奇怪的现象!

        现象一:得到的决策边界并不能在训练集上进行分类->欠拟合

        解决:增加样本点,增加循环次数

        现象二:得到的决策边界完美的拟合了训练数据,但是对于测试数据,一个都不对->过拟合

        解决:增加训练样本个数

                   特征选择:减少多项式特征的使用、减少特征使用

                   正则化

正则化:

        让算法缩小不重要参数的值,保留所有特征,防止特征权重过大,

        常用:惩罚所用参数

        用法:在cost function(J(\overline{w},b))后 + 惩罚项(\sum (\omega ^{i})^{2})

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