吴恩达机器学习-逻辑回归
1. 确定模型函数 首先明确逻辑回归的问题归属,逻辑回归属于分类问题,逻辑回归的分布属于多项式分布(包括二项分布,也叫伯努利分布)。这个笔记我们讨论二项分布的分类问题,通俗地讲二项分布是指我们要研究的问题只有两个结果,通常这两个结果为:是和否。我们一般喜欢用0和1分别代表否和是,那么什么样的函数能描述这样一种模型呢?这种函数模型叫sigmoid函数。 函数如下图所示: 函数的公式为 2. 确定代价函数 首先,我们假设分类结果为1的概率为 那么结果为0的概率为 将上述两个概率写为一个公式 假设输入特征值是独立随机分布的,那么我们可以通过计算极大似然值来确定当输入取x时,y的最可能取值 为了简化计算我们同时对两个式子取对数 以上是我们推导出代价函数的过程 3. 确定优化算法 我们在第二步计算出了代价函数,我们希望代价函数越大越好,借鉴梯度下降算法,我们可以给出参数的就计算公式: 下面给出代价函数的偏导数的证明过程 将偏导数带入到第一个公式,得出我们的梯度上升公式 在这里提出一个小问题,线性回归使用的梯度下降算法跟逻辑回归使用的梯度上升算法是同一个吗? 除了使用梯度上升算法来求解参数外,我们还可以适用牛顿算法来求解参数,牛顿法的核心是要求出一个Heassian矩阵,矩阵中每个元素的值为 可以从上面公式得出Heassian矩阵为代价函数矩阵的二阶导数 4. python代码实现