machine learning个人笔记系列(一)

本文介绍了机器学习的基础概念,并通过房价预测实例讲解了单变量线性回归模型的工作原理。文章详细阐述了如何使用梯度下降算法来优化模型参数,以最小化预测误差。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

向Andrew Ng的机器学习课程致敬

机器学习入门

定义

  • Arthur Samuel (1959). Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed.
  • Tom Mitchell (1998) Well-posed Learning Problem: A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.

分类

  • Supervised learning
    • 数据有标签:分类,预测
  • Unsupervised learning
    • 数据无标签:聚类

单变量线性回归

以房价预测来说明

背景

一个学生从波特兰俄勒冈州的研究所收集了一些房价的数据。
如图所示,将这些数据标在坐标上,横轴表示房子的面积,单位是平方英尺,纵轴表示房价,单位是千美元。
基于这组数据,假如你有一个朋友,他有一套 750 平方英尺房子,现在他希望把房子卖掉,能卖多少钱。

这里写图片描述

模型

  • 可以画一条直线,让直线尽可能匹配所有数据。
  • 可能还有更好的,比如我们用二次方程去拟合所有数据,即使用以下模型来模拟面积和售价的关系

hθ(x)=θ0+θ1x h θ ( x ) = θ 0 + θ 1 x

这就是一个监督学习的例子。

损益函数

上面的模型中,如果来选择合适的参数 θ0 θ 0 θ1 θ 1 来尽量让预测值与真实值接近,那我们的模型就很完美了。
为此,我们定义一个函数来衡量不同参数,其模型与真实值的差异性,这样就能根据这个差异性来选择合适的参数。这个差异性叫做损益函数,对于线性回归模型来说,其损益函数定义如下:

J(θ0,θ1)=12mi=1m(hθ(x(i))y(i))2 J ( θ 0 , θ 1 ) = 1 2 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) 2

寻找最合适的参数来使预测最接近真实值就转化为,求损益函数的最小值了。

梯度下降算法

给定上述模型已经损益函数,如何求最小的损益函数对应的参数呢。有一种非常有名的算法,叫梯度下降算法,可以用来求某个函数的全局或局部最小值。其实现过程如下:

  • 初始函数值在某个峰值
  • 随着迭代过程中,这个函数值会一步一步的下降,直至到某个局部最优或者全局最优的值
    这里写图片描述

算法具体描述如下:

Gradient descent algorithm

repeated until convergence {

θj:=θjαθjJ(θ0,θ1)for (j=0 and j=1) θ j := θ j − α ∂ ∂ θ j J ( θ 0 , θ 1 ) f o r   ( j = 0   a n d   j = 1 )

}

注意:需要同时更新所有的参数,如下所示

tempθ0=θ0αθ0J(θ0,θ1)tempθ1=θ1αθ1J(θ0,θ1)θ0=tempθ0θ1=tempθ1 t e m p θ 0 = θ 0 − α ∂ ∂ θ 0 J ( θ 0 , θ 1 ) t e m p θ 1 = θ 1 − α ∂ ∂ θ 1 J ( θ 0 , θ 1 ) θ 0 = t e m p θ 0 θ 1 = t e m p θ 1

可以看到这里还有一个参数 α α 需要我们来确定,这个参数被称为学习率。

  • α α 比较小的时候,需要迭代很多次才能收敛到最小值。
  • 而当 α α 比较大的时候,则可能导致梯度下降算法不能收敛,总是在最低值附近徘徊。

学习率对求损益函数的影响如下图所示:

这里写图片描述

一旦选定了学习率后,不用每次迭代都改变学习率的值,因为梯度下降算法会制动调整下降幅度来达到局部最优解。

根据上述梯度下降算法描述,再来分析下单变量线性回归如何使用梯度下降算法求最优参数。如下公式所示,是单变量线性回归模型的参数计算方式。

θ0=θ0αθ0J(θ0,θ1)=θ0α1mi=1m(hθ(x(i))y(i))θ1=θ1αθ1J(θ0,θ1)=θ0α1mi=1m(hθ(x(i))y(i))x(i) θ 0 = θ 0 − α ∂ ∂ θ 0 J ( θ 0 , θ 1 ) = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) θ 1 = θ 1 − α ∂ ∂ θ 1 J ( θ 0 , θ 1 ) = θ 0 − α 1 m ∑ i = 1 m ( h θ ( x ( i ) ) − y ( i ) ) x ( i )

随着迭代进行,模型变化过程以下系列图所示:
这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

Pattern recognition and machine learning门涉及到模式识别和机器学习的课程,通过这门课程的学习,我对模式识别和机器学习有了更深入的了解。 在模式识别方面,我学习了如何使用统计学和概率论的知识对数据进行分析,识别出数据中的规律和模式。通过学习不同的模式识别算法,我了解了如何利用机器来识别图像、音频、文本甚至是生物特征等不同类型的模式。在机器学习方面,我学习了如何利用机器学习算法来训练模型,使得机器可以从数据中学习规律和模式,进而做出预测和决策。 通过学习这门课程,我对机器学习和模式识别的应用有了更清晰的认识,比如在图像识别、语音识别、自然语言处理、生物特征识别等领域的应用。我也学习到了如何应用这些知识和技术来解决现实生活中的问题,比如医疗诊断、金融风控、智能驾驶等领域的应用。 另外,通过课程中的实践项目,我有机会动手实践机器学习算法的应用,从数据的处理和特征提取到模型的训练和评估,这些实践使我对课程中学到的理论知识有了更深刻的理解。 总的来说,通过学习Pattern recognition and machine learning这门课程,我不仅对机器学习和模式识别的理论和技术有了更深入的了解,也掌握了些实践应用的技能,对未来在相关领域的发展和应用有了更清晰的思路和认识。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值