监督学习
监督学习
参考吴恩达2022MachineLearning视频教程
视频教程:(强推|双字)2022吴恩达机器学习Deeplearning.ai课程
机器学习分类
监督学习和无监督学习

-
监督学习:回归、分类
-
无监督学习:聚集、异常检测、降维
回归问题
利用大量的样本,通过有监督的学习,学习到由x到y的映射f,利用该映射关系对未知的数据进行预估,其中y为连续值
1.线性回归
-
常用符号说明:
-
拟合函数:
利用一个线性函数去拟合数据:
fw,b(x)=wx+b,其中w,b为参数 -
损失函数(loss function)
利用最小二乘法(最小平方法)计算其损失函数为:
L(w,b)=12(ˆy−y)2=12(fw,b(x)−y)2 -
代价函数(cost function)
代价函数是所有样本误差总和(所有损失函数总和)的平均值:
J(w,b)=12mm∑i=1(fw,b(x(i))−y(i))2拟合的目标就是找到合适的w,b参数能够使得代价函数最小,即ˆy与y最接近
-
(批量)梯度下降算法
可以使用梯度下降算法来更新w,b参数,从而找到最合适的值:
{w=w−α∂∂wJ(w,b)b=b−α∂∂bJ(w,b),其中α是学习率,∂表示偏导数将代价函数代入进去即可得到:
{w=w−α1mm∑i=1(fw,b(x(i))−y(i))x(i)b=b−α1mm∑i=1(fw,b(x(i))−y(i)),其中α是学习率运行梯度下降算法:
2.多元线性回归
-
拟合函数:
当数据集中有多个特征x1,x2,...xn时:
fw1,w2,...,b(x1,x2...)=w1x1+w2x2+...+wnxn+b,其中w1,w2,...,b为参数 -
向量化
将参数w和特征x进行向量化:
f→w,b(→x)=→w→x+b,其中→w,b为参数, -
梯度下降算法:
原来的公式变为:
{w1=w1−α1mm∑i=1(f→w,b(→x(i))−y(i))x(i)1……wn=wn−α1mm∑i=1(f→w,b(→x(i))−y(i))x(i)nb=b−α1mm∑i=1(f→w,b(→x(i))−y(i)),其中α是学习率

3.多项式回归
-
特征工程
特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的预测准确性,直接决定了模型预测的结果好坏。俗话说就是对已有的特征进行预处理,比如已知房子的长和宽,此时可以增加房子的面积作为其新的特征,然后对模型进行预测。
-
多项式回归
根据所给的特征,利用该特征对数据进行预处理,拟合函数为原特征的多项式类型。
比如原始特征为x,拟合函数为f→w,b=w1x+w2x2+w3x3+b
分类问题
利用大量的样本,通过有监督的学习找到一个决策边界来完成分类的决策,其中决策为离散值
逻辑回归
线性回归可以预测连续值,但是不能解决分类问题,我们需要根据预测的结果判定其属于正类还是负类。所以逻辑回归就是将线性回归的(−∞,+∞)结果,通过sigmoid函数映射到(0,1)之间,来作为该结果的概率
。
线性回归:z=→w→x+b
将其通过g(x)=sigmoid函数,获得逻辑回归的决策函数:

-
极大似然估计
极大似然估计是数理统计中参数估计的一种重要方法。其思想就是一个事件发生了,那么发生这个事件的概率就是最大的。对于样本i,其类别为yiϵ(0,1)。对于样本i,可以把h(xi)看成是一种
概率
:xi对应是1时,概率是h(xi),即xi属于1的可能性;xi对应是0时,概率是1−h(xi),即xi属于0的可能性 。那么它构造极大似然函数:i=k∏i=1h(xi)m∏i=k+1(1−h(xi))其中i从0到k是属于类别1的个数k,i从k+1到m是属于类别0的个数m−k。由于yi是标签0或1,所以上面的式子也可以写成:
m∏i=1h(xi)yi(1−h(xi))1−yi这样无论y是0还是1,其中始终有一项会变成0方,也就是1,和第一个式子是等价的。
为了方便,我们对式子取对数。因为是求概率最大,即式子的最大值,可以转换成式子乘以-1,之后求最小值。同时对于m个数据,累加后值会很大,之后如果用梯度下降容易导致梯度爆炸,所以可以除以样本总数m,式子变为:
1mn∑i=1−yiln(h(xi))−(1−yi)ln(1−h(xi)) -
代价函数
可以根据上面的最大似然估计定义逻辑回归的代价函数:
J(→w,b)=−1mm∑i=1[y(i)ln(f→w,b(→x(i)))+(1−y(i))ln(1−f→w,b(→x(i)))] -
梯度下降算法
此处涉及数学求导,可以跳过
已知代价函数,梯度下降的目标就是找到合适的→w,b参数能够使得代价函数最小,即使得预测结果的概率最大。根据梯度下降算法的流程,我们需要对代价函数做导数运算:
∂J(→w,b)wj=−1mm∑i=1[y(i)1g(z)−(1−y(i))11−g(z)]∂g(z)∂wj=−1mm∑i=1[y(i)1g(z)−(1−y(i))11−g(z)]⋅g(z)(1−g(z))⋅∂z∂wj=−1mm∑i=1[y(i)(1−g(z))−(1−y(i))g(z)]⋅x(i)j=−1mm∑i=1(y(i)−g(z))⋅x(i)j=1mm∑i=1(g(z)−y(i))⋅x(i)j=1mm∑i=1[f→w,b(→x(i))−y(i)]⋅x(i)j其中∂g(z)∂wj的计算如下:
∂g(z)∂wj=∂11+e−z∂wj=−1(1+e−z)2⋅e−z⋅(−1)⋅∂z∂wj=g(z)(1−g(z))⋅∂z∂wj然后进行梯度下降:
{w1=w1−α1mm∑i=1(f→w,b(→x(i))−y(i))x(i)1……wn=wn−α1mm∑i=1(f→w,b(→x(i))−y(i))x(i)nb=b−α1mm∑i=1(f→w,b(→x(i))−y(i)),其中α是学习率可以发现其形式竟然和线性回归的形式一样,不过这里的f→w,b(→x(i))和线性回归的已经
不一样
了。
数据处理
特征缩放(归一化)
可以通过变换来将各个特征统一到一个合适的范围内,数据归一化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解:

-
线型比例变换
x′i=ximax(x) -
极差变换:
- 归一到(0,1)范围:
x′i=xi−min(x)max(x)−min(x)- 归一到(−1,1)范围:
x′i=xi−mean(x)max(x)−min(x)mean(x)为平均值 -
标准差变换(Z-score):
x′i=xi−μσμ为所有样本数据的均值,σ为所有样本数据的标准差
过拟合和欠拟合
Overfitting : If we have too many features, the learned hypothesis may fit the training set vey well, but fail to generalize to new examples.
过拟合其实就是为了得到一致假设而使得假设过于地严格。使得其在训练集上的表现非常地完美,但是在训练集以外的数据集却表现不好。


-
解决过拟合的方法:
-
收集更多的数据
-
减少特征值的数量:
- 人工选择哪些特征需要保留
- 使用模型选择算法
-
正则化
-
-
正则化
在原来的代价函数中添加
正则化项
,主要是通过正则项来限制权重w参数的值的变化,使其尽可能的小或者尽可能地趋于0,以达到稀疏参数的效果,进而使得模型复杂度下降,避免过拟合(一般不对参数b进行正则化)。-
线性回归
J(→w,b)=12mm∑i=1(f→w,b(→x(i))−y(i))2+λ2mn∑j=1w2j,λ为正则化系数 -
逻辑回归
J(→w,b)=−1mm∑i=1[y(i)ln(f→w,b(→x(i)))+(1−y(i))ln(1−f→w,b(→x(i)))]+λ2mn∑j=1w2j
-
-
正则化后的的梯度下降算法:

其中对于参数w的那一项还可以写成:
原来w前系数为1,现在w前面系数为 ,因为α、λ、m都是正的,所以 1−αλm小于1,它的效果是减小w,这也就是权重衰减
的由来。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)