`

机器学习算法 ---- 梯度下降法

 
阅读更多


机器学习在当今社会应用越来越广泛,如计算机视觉、机器人控制、无人机无人车技术等等,都离不开机器学习算法。而机器学习并不像学习一门语言那样简单,算法的实质是数学,有了数学的推导结果,运用什么样的语言那就因人因事而异了。

要学好机器学习,要有一定的数学功底以及能潜下心来做一些数学上的研究,而不是打开电脑就敲代码,。当然,学习的最终目的是应用,我期待能将学习到的东西运用到生活中的点点滴滴!

首先应该确立一个机器学习的体系:

机器学习包括一下四个分支(参考斯坦福大学Andrew Ng教授):

                                (1)监督学习

                                (2)非监督学习

                                (3)学习理论

                                (4)强化学习

这篇博客将介绍我所了解的监督学习内容。

 

1.什么是监督学习

简单通俗点来说就是我们通过样本数据得到了一组标准数据,输入能从这组标准答案中找到对应的输出!如果还不能理解我们来看Andrew Ng教授的一个例子:

                                 房屋面积与价格关系
                

由一组样本数据得到一条拟合的曲线,然后通过这条曲线找你所提供的房屋面积所对应的房屋价钱是多少!这条曲线就是得到的一个标准答案!!!!
 

2.学习步骤
             

3.变量声明

m:训练样本

n:特征数

X:输入变量(特征)

Y输出变量(目标变量)

xiyi):第i个训练样本

Htheta):拟合函数

J(theta):损失函数

alph:步长

 

4.监督学习之梯度下降算法

(1)批量梯度算法

假设:对象有n个特征,分别是x1、x2、···、xn

假设(当然也可以假设其他形式)拟合函数形式为:

                                   

为了使预测更为准确,损失函数定义为:          

           系数0.5是为了计算方便

           注意:这里的未知参数是theta,xi为已知的样本数据

我们对J(theta)求偏导(梯度计算要求我们这么干):

                                 

从而得到参数theta的

          

其中,alph的选取很重要。选择大了则可能跳过最值点;选择小了则可能使运行效率变低!

 

 

(2)随机梯度下降算法

批量梯度下降算法虽然能找到取最值时的参数,但是每一次迭代都需要使用到所有的样本,这样的代价就是花费大量的时间!这个大量一定是惊人的,特别是在大样本时。所以这里提出随机梯度下降算法!

和批量梯度下降算法唯一的区别是,每次只使用一次样本,即第i次迭代使用第i个样本数据

 

             

 

编程可参照博客http://blog.csdn.net/pennyliang/article/details/6998517,程序非常简单易懂,这里就不再重写了。

  • 大小: 22.7 KB
  • 大小: 86.2 KB
分享到:
评论

相关推荐

    第二阶段:机器学习经典算法-01回归算法-6.梯度下降实例

    1.通过分析PGA数据,使用梯度下降法寻找最佳参数组合以接近y与distance之间的关系。 09:44 梯度下降法的实现细节 1.迭代求解和损失函数的打印、存储及收敛值的控制方法,通过定义收敛值来控制迭代过程。 2.梯度下降...

    机器学习算法基础-批量随机梯度下降法回归法

    在机器学习领域,批量随机梯度下降法(Batch Stochastic Gradient Descent, 简称B-SGD)是一种广泛使用的优化算法,尤其在训练回归模型时。本文将深入探讨批量随机梯度下降法的基本概念、工作原理以及它在回归问题中...

    机器学习_梯度下降算法实现

    在机器学习领域,梯度下降算法是一种非常基础且重要的优化方法,主要用于求解函数的最小值,尤其是在训练神经网络和构建各种预测模型时。本文将深入探讨梯度下降的原理、实现过程以及它在实际应用中的重要性。 一、...

    优化算法 - 应用遗传算法、粒子群优化或梯度下降法解决实际问题

    梯度下降法被广泛应用于机器学习领域,如线性回归、逻辑回归以及神经网络的训练过程中。 - **标准梯度下降(Batch Gradient Descent)**:每次迭代都使用所有训练样本来计算梯度,虽然能确保每次更新都是朝着全局...

    机器学习入门:梯度下降法.rar

    在机器学习领域,梯度下降法是一种非常基础且重要的优化算法,它被广泛应用于各种模型的参数求解,包括线性回归、逻辑回归、神经网络等。本资源"机器学习入门:梯度下降法.rar"显然是针对初学者设计的一套教程,由...

    优化算法-梯度下降法.ppt

    梯度下降法 梯度下降法是一种常用的优化算法,用于寻找函数的极小值或极大值。该算法的基本思想是沿着函数的梯度方向走,寻找函数的...梯度下降法是一种常用的优化算法,广泛应用于机器学习、数据挖掘、运筹学等领域。

    梯度下降法在机器学习中的应用

    论、经典的优化算法梯度下降法及牛顿法,然后针对线性模型,做出原理解释和理论 阐述。最后讲述了逻辑斯谛回归模型的学习算法,包括推广的多项逻辑斯谛回归,为 下文的研究奠定了理论基础 第三章:本章首先利用最优化...

    1120182525-梁瑛平-机器学习初步-梯度下降1

    梯度下降法是一种优化算法,广泛应用于机器学习和数据分析中,主要用于寻找损失函数的最小值。在机器学习中,我们通常需要最小化预测值与真实值之间的误差,以获得最佳的模型参数。梯度下降通过不断调整模型参数,使...

    机器学习算法的数学解析与Python实现.docx

    机器学习算法的数学解析与Python实现 机器学习算法是领域中的一个重要分支,它研究如何通过使用算法和模型来让计算机系统从数据中自动学习并改进自身的性能。机器学习可以看作是一种“经验学习”,它强调的是在不...

    优化算法和梯度下降法

    总的来说,优化算法和梯度下降法是数值分析和机器学习中的基础工具。在机器学习中,梯度下降法常用于训练神经网络和深度学习模型,通过最小化损失函数来调整模型参数。理解并熟练掌握这些概念对于解决复杂问题至关...

    两种梯度下降法

    在机器学习领域,梯度下降法是优化模型参数的核心算法之一,它被广泛应用于各种监督学习模型的训练过程。本文将深入探讨两种主要的梯度下降法:批梯度下降(Batch Gradient Descent)和随机梯度下降(Stochastic ...

    梯度下降法-线性拟合

    梯度下降法是一种在机器学习和优化问题中广泛使用的算法,尤其在求解最优化问题时,如线性回归等。线性拟合是通过找到最佳的直线来近似数据点,使得所有点到直线的距离(即误差)的总和最小。在此过程中,梯度下降法...

    梯度下降算法matlab的实现

    梯度下降算法是一种在机器学习和优化问题中广泛使用的迭代方法,用于求解函数的局部最小值。在本示例中,我们关注的是如何在MATLAB环境中实现这一算法。MATLAB是一款强大的数学计算软件,适合进行数值分析和算法开发...

    Python数据分析与机器学习-Python实现逻辑回归与梯度下降策略

    梯度下降是一种优化算法,广泛用于训练机器学习模型,包括逻辑回归。在梯度下降中,我们通过反复迭代更新模型参数,使其朝着损失函数梯度的反方向移动,以最小化损失函数。在逻辑回归中,损失函数通常是交叉熵损失。...

    Logistic算法(随机梯度下降法)的Python代码和数据样本

    随机梯度下降(Stochastic Gradient Descent, SGD)是优化算法的一种,常用于机器学习中的参数估计。相比于传统的梯度下降法,SGD每次迭代只用到一个样本来更新模型参数,因此计算速度快且能够避免局部最优,特别是...

    优化算法-共轭梯度法

    共轭梯度法的基本思想源于梯度下降法,但通过引入共轭方向的概念,使得每次迭代能够在正交的方向上进行,从而避免了重复计算和不必要的计算步骤,提高了求解效率。与高斯-塞德尔迭代法相比,共轭梯度法通常更快地...

    机器学习中用梯度下降法实现线性回归的MATLAB源代码.rar

    梯度下降法是线性回归中最常用的优化算法之一,用于寻找模型参数的最佳值,以最小化损失函数。在这个案例中,我们将深入探讨如何使用MATLAB实现这个过程。 吴恩达是一位知名的计算机科学家和教育家,他的在线课程...

Global site tag (gtag.js) - Google Analytics