监督学习和非监督学习
监督学习
监督学习是指从给定的、有限的、用于学习的训练数据集合中学习出一个函数(模型),当新的数据到来时,可以根据这个函数预测结果。
对于训练数据,每一个样本中的\(x\)都有一个对应的标签\(y\),我们的目标就是学习出一个函数\(f\),使得\(f(x)=y\);对于预测数据,我们可以根据学习出的函数\(f\),预测出对应的\(y\)。
监督学习可以分为两大类:回归和分类。
监督学习:回归
房价预测是一个常见的回归问题。收集房屋的面积和价格数据,我们可以学习出一个函数\(f\),使得\(f(面积)=价格\)。当我们收集到新的房屋面积数据时,我们就可以根据\(f\)预测出对应的价格。
拟合的函数可以是直线、曲线、多项式等。对于回归问题,我们得出的结果是一个连续值。
监督学习:分类
乳腺癌检测是一个常见的分类问题。收集乳腺癌肿瘤的大小等数据,我们可以学习出一个函数\(f\),使得\(f(大小)=良性/恶性\)。当我们收集到新的肿瘤数据时,我们就可以根据\(f\)预测出对应的良性/恶性。
与回归问题不同,分类问题的结果是离散的。
在机器学习中,可能遇到的不止一个特征,例如我们同时知道肿瘤的尺寸和患者的年龄等等。
无监督学习
无监督学习是指从无标签的训练数据中学习出数据的分布规律或者数据之间的关系。无监督学习不给出正确答案,而是用于寻找数据的内在结构、模式或者其他有用信息。
无监督学习主要应用有:聚类、异常检测、降维等。
无监督学习:聚类
聚类是一种无监督学习,它将相似的对象归到同一个簇中。聚类的目标是使得簇内的对象尽量相似而簇间的差异尽量大。
在相似新闻的推荐上,聚类算法可以将相似的新闻归为一类,当用户浏览了一篇新闻后,我们就可以向用户推荐这一类的其他新闻。这类推荐无法由监督学习实现,因为我们无法给出每一篇新闻的标签。
线性回归
回归模型
回归问题是根据之前的数据来预测连续值的问题,例如预测房价、销量等。
监督学习的回归过程
- 将训练集输入到学习算法中,学习出一个函数\(f\);
- 将测试集输入到函数\(f\)中,得到预测结果。
代价函数
代价函数用来表示预测值与真实值之间的误差,常见的代价函数有均方误差、平均绝对误差等。
在线性回归中,我们使用均方误差(MSE)作为代价函数:
\[J(\theta)=\frac{1}{2m}\sum_{i=1}^{m}(h_{\theta}(x^{(i)})-y^{(i)})^2 \]其中,\(h_{\theta}(x^{(i)})\)是预测值,\(y^{(i)}\)是真实值。
设代价函数为\(J(\theta)\),它是一个关于参数\((w,b)\)的函数,我们的目标是找到一组参数\((w,b)\),使得\(J(\theta)\)最小。
在代价函数最小的时候,我们得到的函数\(h_{\theta}(x)\)是拟合效果最好的。
梯度下降
梯度下降是一种常用的优化算法,它的思想是:在函数的某一点,沿着梯度的反方向,可以找到函数的下降最快的方向。通过梯度下降,我们可以找到代价函数最小的参数\((w,b)\)。
梯度下降可能会陷入局部最优解。
梯度下降的过程
- 随机初始化参数\((w,b)\);
- 计算代价函数\(J(\theta)\);
- 计算代价函数\(J(\theta)\)对参数\((w,b)\)的偏导数;
- 更新参数\((w,b)\);
- 重复步骤2-4,直到收敛。
更新参数的公式为:
\[\begin{aligned} w&:=w-\alpha\frac{\partial}{\partial w}J(\theta)\\ b&:=b-\alpha\frac{\partial}{\partial b}J(\theta) \end{aligned} \]其中,\(\alpha\)是学习率,它决定了参数更新的步长。
\(\alpha\)过大,可能会导致梯度下降不收敛;
\(\alpha\)过小,可能会导致梯度下降收敛速度过慢。
同步更新:在计算梯度时,我们同时计算所有参数的梯度,然后再更新所有参数。这种方式称为同步更新。
批量梯度下降
批量梯度下降(Batch Gradient Descent)是指在每一次迭代中,使用所有的样本来计算梯度。
标签:机器,入门,梯度,学习,监督,参数,theta,函数 From: https://www.cnblogs.com/agitm/p/17693207.html