【人工智能】<吴恩达-机器学习>单变量的线性回归&认识梯度下降

简介: 【1月更文挑战第26天】【人工智能】<吴恩达-机器学习>单变量的线性回归&认识梯度下降

 目录

一、单变量线性回归 - Linear regession with one variable:

1.常用字符标识:

2.模型构建过程:

3.代价函数 - Cost Function:

4.Cost Function Intuition:

二、Gradient Descent -  梯度下降:

1.梯度下降概述:

2.梯度下降数学定义:

3.解析梯度下降:


一、单变量线性回归 - Linear regession with one variable:

image.gif编辑

Supervised Learning: Gives the "right answer" for each example in the data.

    • Regression Problem: Redict real-valued output
    • Classfication Problem: Discrate-value output

    1.常用字符标识:

    image.gif编辑

      • (x, y) = One training example

      2.模型构建过程:

      image.gif编辑

      Univariate liner regression

      3.代价函数 - Cost Function:

      image.gif编辑

      Cost Function 代价函数(squared error function)数学表达式:

      image.gif编辑

      4.Cost Function Intuition:

      image.gif编辑

        • m:训练样本的个数;
        • hθ(x):用参数θ和x预测出来的y值;
        • y:原训练样本中的y值,也就是标准答案
        • 上角标(i):第i个样本

               代价函数衡量的是模型预测值h(θ) 与标准答案y之间的差异,所以总的代价函数J是h(θ)和y的函数,即J=f(h(θ), y)。又因为y都是训练样本中给定的,h(θ)由θ决定,所以,最终还是模型参数θ的改变导致了J的改变。对于不同的θ,对应不同的预测值h(θ),也就对应着不同的代价函数J的取值。变化过程为:

        image.gif编辑

               θ引起了h(θ)的改变,进而改变了J(θ)的取值。为了更直观的看到参数对代价函数的影响,举个简单的例子:

               有训练样本{(0, 0), (1, 1), (2, 2), (4, 4)},即4对训练样本,每个样本对中第1个数表示x的值,第2个数表示y的值。这几个点很明显都是y=x这条直线上的点。如下图:

        image.gif编辑

               常数项为0,所以可以取θ0=0,然后取不同的θ1,可以得到不同的拟合直线。当θ1=0时,拟合的直线是y=0,即蓝色线段,此时距离样本点最远,代价函数的值(误差)也最大;当θ1=1时,拟合的直线是y=x,即绿色线段,此时拟合的直线经过每一个样本点,代价函数的值为0。

               通过下图可以查看随着θ1的变化,J(θ)的变化情况:

        image.gif编辑

               从图中可以很直观的看到θ对代价函数的影响,当θ1=1时,代价函数J(θ)取到最小值。因为线性回归模型的代价函数(均方误差)的性质非常好,因此也可以直接使用代数的方法,求J(θ)的一阶导数为0的点,就可以直接求出最优的θ值(正规方程法)。

        image.gif编辑

        image.gif编辑

        image.gif编辑


        二、Gradient Descent -  梯度下降:

        1.梯度下降概述:

        目的:最小化函数J

        image.gif编辑

        通过不断变化参数 的值,获取函数J的最小值或者局部最小值。

        image.gif编辑

        2.梯度下降数学定义:

        image.gif编辑

          • := 表示赋值Assiagnment
          • = 表示真假判断
          • 学习率learning rate,用来确定梯度下降时步长大小
          • 同步更新

          3.解析梯度下降:

          image.gif编辑

          案例说明:

          image.gif编辑

            • 情形1:单调下降,导数为负(梯度为负),要想找到函数的最小值所对应的自变量的值(曲线最低点对应x的值)。x值会水平向右移动,也就是让x增大,此时随着x增大,导数(梯度)的绝对值是减小的
            • 情形2:单调上升,导数为正(梯度为正),要想找到函数的自变量的值(曲线最低点对应x的值)。x向左移动,也就是让x减小,此时随着x减小,导数(梯度)的绝对值是减小的(也就是梯度下降)。

            注意:

              • If is too small, gradient descent can be slow
              • If is too large, gradient descent can overshoot the minimum. It may fail to converge, or even diverge.

              image.gif编辑

                     当目前如果已经处于局部最优时,梯度下降法更新其实什么都没有做,因为在该点处的斜率值为0,他会始终保持在最优值处。

              image.gif编辑


              相关文章
              |
              4月前
              |
              机器学习/深度学习 算法 TensorFlow
              机器学习算法简介:从线性回归到深度学习
              【5月更文挑战第30天】本文概述了6种基本机器学习算法:线性回归、逻辑回归、决策树、支持向量机、随机森林和深度学习。通过Python示例代码展示了如何使用Scikit-learn、statsmodels、TensorFlow库进行实现。这些算法在不同场景下各有优势,如线性回归处理连续值,逻辑回归用于二分类,决策树适用于规则提取,支持向量机最大化类别间隔,随机森林集成多个决策树提升性能,而深度学习利用神经网络解决复杂模式识别问题。理解并选择合适算法对提升模型效果至关重要。
              213 4
              |
              4月前
              |
              机器学习/深度学习 数据采集 人工智能
              【机器学习】解释什么是线性回归?
              【5月更文挑战第15天】【机器学习】解释什么是线性回归?
              |
              15天前
              |
              机器学习/深度学习 算法 Python
              【绝技揭秘】Andrew Ng 机器学习课程第十周:解锁梯度下降的神秘力量,带你飞速征服数据山峰!
              【8月更文挑战第16天】Andrew Ng 的机器学习课程是学习该领域的经典资源。第十周聚焦于优化梯度下降算法以提升效率。课程涵盖不同类型的梯度下降(批量、随机及小批量)及其应用场景,介绍如何选择合适的批量大小和学习率调整策略。还介绍了动量法、RMSProp 和 Adam 优化器等高级技巧,这些方法能有效加速收敛并改善模型性能。通过实践案例展示如何使用 Python 和 NumPy 实现小批量梯度下降。
              27 1
              |
              5天前
              |
              机器学习/深度学习 人工智能 自然语言处理
              探索机器学习的奥秘:从线性回归到深度学习
              【8月更文挑战第26天】本文将带领读者走进机器学习的世界,从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将探讨各种算法的原理、应用场景以及实现方法,并通过代码示例加深理解。无论你是初学者还是有一定经验的开发者,这篇文章都将为你提供有价值的知识和技能。让我们一起揭开机器学习的神秘面纱,探索这个充满无限可能的领域吧!
              |
              30天前
              |
              机器学习/深度学习 算法 Python
              探索机器学习中的梯度下降优化算法
              【8月更文挑战第1天】在机器学习的广阔天地里,梯度下降法如同一位勇敢的探险家,指引我们穿越复杂的数学丛林,寻找模型参数的最优解。本文将深入探讨梯度下降法的核心原理,并通过Python代码示例,展示其在解决实际问题中的应用。
              33 3
              |
              7天前
              |
              机器学习/深度学习 人工智能 算法
              探索机器学习:Python中的线性回归模型实现
              【8月更文挑战第24天】在机器学习的世界中,线性回归是最基础也是应用最广泛的算法之一。本文将通过Python编程语言,使用scikit-learn库来实现一个简单的线性回归模型。我们将从理论出发,逐步深入到代码实现,最后通过一个实际数据集来验证模型的效果。无论你是机器学习的初学者,还是想要复习线性回归的基础知识,这篇文章都将为你提供有价值的信息。让我们一起踏上这段探索之旅吧!
              |
              3月前
              |
              机器学习/深度学习 数据采集 算法
              【机器学习】线性回归:以房价预测为例
              【机器学习】线性回归:以房价预测为例
              132 1
              |
              3月前
              |
              机器学习/深度学习 人工智能 算法
              【机器学习】深度探索:从基础概念到深度学习关键技术的全面解析——梯度下降、激活函数、正则化与批量归一化
              【机器学习】深度探索:从基础概念到深度学习关键技术的全面解析——梯度下降、激活函数、正则化与批量归一化
              40 3
              |
              3月前
              |
              机器学习/深度学习 数据可视化 算法
              【阿旭机器学习实战】【29】产品广告投放实战案例---线性回归
              【阿旭机器学习实战】【29】产品广告投放实战案例---线性回归
              |
              2月前
              |
              机器学习/深度学习 人工智能 供应链
              下一篇
              云函数