Hello,这里是小梁。下面是我近期学习机器学习的笔记,出发点是希望对自己起到一个督促和输出的作用
如果你对我的笔记感兴趣欢迎Like,有不足之处也欢迎评论留言
B站【2022吴恩达机器学习Deeplearning.ai课程】
笔记参考【吴恩达《Machine Learning》精炼笔记】
1 机器学习的定义与分类
1.1 监督学习 Supervised learning
1.2 无监督学习 Unsupervised learning
2 线性回归模型
2.1 线性回归 Linear Regression
2.2 代价函数 Cost Function
2.3 梯度下降 Gradient decent
2.4 用于线性回归的梯度下降
Field of study that gives computers the ability to learn without being explicitly programmed.
——Arthur Samuel (1959)
机器学习是使计算机无需明确编程即可学习的研究领域。
人为地为算法提供已有的输入到输出的正确映射,让机器学习其中的模式,实现给其一个输入,就能得出对应的合理、准确的预测输出。
Input (X) | Output (Y) | Application |
---|---|---|
spam?(0/1) | spam filtering | |
audio | text transcripts | speech recognition |
English | other languages | machine translation |
image, radar info | position of other cars | self-driving car |
所以如何通过监督学习寻找拟合函数?或者说怎么通过监督学习来解决上面的房价问题?
训练集 Training set:
用于训练模型的数据,分别记为x和y,以各自上标i指明是第i个样本,即。
训练过程:
那么在房价问题中,输入即房子大小,输出的预测即房价。
可能的表达式即为:,即单变量线性回归问题
定义:又称为平方误差函数,是用于衡量模型预测结果与实际观测结果之间差异的函数,它在机器学习和深度学习中起着至关重要的作用,可以帮助我们优化模型参数以最小化预测误差。
对于,其中的w和b被称为系数或权重,则代价函数可写作:
其中m为样本个数,为预测值,y为样本值。
怎么理解这个代价函数J呢?
首先,需要明确一点,即公式中的表示样本值和预测值之间的距离,如图2.2.1左图蓝色竖线所示,如果这个值越大,那么说明预测值与正确的样本值差距越大,即J越大。换句话说,如果J越小,说明预测值与正确的样本值更接近,说明拟合得越好。
为了获得使监督学习效果最佳的模型,我们需要去寻找使得J最小的w和b。
2D层面:
从最简单的情况考虑,假设现在有一组样本值,分别为(1,1),(2,2),...,(n,n),并且假设b=0。此时,J即为关于w的函数。通过计算,我们取不同的w值(调参)并计算J,就获得下图的结果。我们可以看出,当w为1时,J最小,即f为y=x,为最优的拟合模型。
所以核心问题是:如何找到使J最小的点对应的w。
3D层面:
当同时考虑w和b时,J将会如下图所示,同样的在三维空间中也应当存在一个使得J(w,b)最小的点。
进一步的核心问题是:如何找到使J最小的点对应的w和b。
结合上一小节的介绍,我们的要解决的问题就是如何找到合适的w和b,使得J最小。拓展至更复杂的情况,即,问题不变。
注意:梯度下降算法在机器学习中可用于多种任务,但以下只讨论用于线性回归的梯度下降算法。
形象化地解释,目前有一个J关于w和b的函数如下图2.3.1,我们将其看成一座山,假设你现在在一个山顶,为了走到最低点,你环绕四周,寻找下一个能让你快速下坡的方向,并向下走一定的距离。到达下一个点后,重复前面的动作,直到走到山谷底,即J最小的位置。
❗这样做只能得到一个局部最小值,因为未考虑所有可能的组合情况。由下图两条路线可以看出。
其中,α为学习率。两个等式右边的w为同一个w,w和b同步更新,而非先更新w再计算b。
下图是一个简化的直观展示,当J关于w的偏导大于0时,w减小,即J沿曲线左移,而当J关于w的偏导小于0时,w增大,则J沿曲线右移。由此可见,按照这样的方法更新参数w,就有望找到最小的J以及对应的w。
形象地理解为,在沿着能让代价函数下降程度最大的方向下山时,学习率决定了我们向下迈出的步子到底有多大。
学习率太小:收敛速度慢需要很长的时间才会到达全局最低点。
学习率太大:可能越过最低点,甚至可能无法收敛。
经过公式代入和推导,我们可以得到最终的用于线性回归的梯度下降公式如下:
ps:具体推导见视频第4.5节
这种梯度下降算法也被称为批量梯度下降算法(Batch gradient decedent),有以下两个特点:
至此,第一周的任务完成,学会了第一个机器学习算法噜!Congratulations~
这里是小梁的学习频道,我们下周再见!