监督学习

监督学习

参考吴恩达2022MachineLearning视频教程

视频教程:(强推|双字)2022吴恩达机器学习Deeplearning.ai课程

机器学习分类

监督学习和无监督学习

image-20221202163218916
  • 监督学习:回归、分类

    image-20221202143302640
  • 无监督学习:聚集、异常检测、降维

    image-20221202163710678

回归问题

利用大量的样本,通过有监督的学习,学习到由x到y的映射f,利用该映射关系对未知的数据进行预估,其中y为连续值

1.线性回归

  • 常用符号说明:

    image-20221202164315752
  • 拟合函数:

    利用一个线性函数去拟合数据:

    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)=12mi=1m(fw,b(x(i))y(i))2

    image-20221203162524508

    拟合的目标就是找到合适的w,b参数能够使得代价函数最小,即y^y最接近

  • (批量)梯度下降算法

    可以使用梯度下降算法来更新w,b参数,从而找到最合适的值:

    {w=wαwJ(w,b)b=bαbJ(w,b),α

    image-20221203163034350

    将代价函数代入进去即可得到:

    {w=wα1mi=1m(fw,b(x(i))y(i))x(i)b=bα1mi=1m(fw,b(x(i))y(i)),α

    image-20221203164854344

    运行梯度下降算法:

    image-20221203165835371

2.多元线性回归

  • 拟合函数:

    当数据集中有多个特征x1,x2,...xn时:

    fw1,w2,...,b(x1,x2...)=w1x1+w2x2+...+wnxn+b,w1,w2,...,b

  • 向量化

    将参数w和特征x进行向量化:

    fw,b(x)=wx+b,w,b,

  • 梯度下降算法:

    原来的公式变为:

    {w1=w1α1mi=1m(fw,b(x(i))y(i))x1(i)wn=wnα1mi=1m(fw,b(x(i))y(i))xn(i)b=bα1mi=1m(fw,b(x(i))y(i)),α

image-20221203172845517

3.多项式回归

  • 特征工程

    特征工程是将原始数据转换为更好地代表预测模型的潜在问题的特征的过程,从而提高了对未知数据的预测准确性,直接决定了模型预测的结果好坏。俗话说就是对已有的特征进行预处理,比如已知房子的长和宽,此时可以增加房子的面积作为其新的特征,然后对模型进行预测。

    image-20221203174805258
  • 多项式回归

    根据所给的特征,利用该特征对数据进行预处理,拟合函数为原特征的多项式类型。

    比如原始特征为x,拟合函数为fw,b=w1x+w2x2+w3x3+b

分类问题

利用大量的样本,通过有监督的学习找到一个决策边界来完成分类的决策,其中决策为离散值

逻辑回归

线性回归可以预测连续值,但是不能解决分类问题,我们需要根据预测的结果判定其属于正类还是负类。所以逻辑回归就是将线性回归的(,+)结果,通过sigmoid函数映射到(0,1)之间,来作为该结果的概率

线性回归:z=wx+b

将其通过g(x)=sigmoid函数,获得逻辑回归的决策函数:

fw,b(x)=g(z)=sigmoid(z)=11+ez=11+e(wx+b)

image-20221204135251441
  • 极大似然估计

    极大似然估计是数理统计中参数估计的一种重要方法。其思想就是一个事件发生了,那么发生这个事件的概率就是最大的。对于样本i,其类别为yiϵ(0,1)。对于样本i,可以把h(xi)看成是一种概率xi对应是1时,概率是h(xi),即xi属于1的可能性;xi对应是0时,概率是1h(xi),即xi属于0的可能性 。那么它构造极大似然函数:

    i=1i=kh(xi)i=k+1m(1h(xi))i0k1k,ik+1m0mk

    由于yi是标签0或1,所以上面的式子也可以写成:

    i=1mh(xi)yi(1h(xi))1yi

    这样无论y是0还是1,其中始终有一项会变成0方,也就是1,和第一个式子是等价的。

    为了方便,我们对式子取对数。因为是求概率最大,即式子的最大值,可以转换成式子乘以-1,之后求最小值。同时对于m个数据,累加后值会很大,之后如果用梯度下降容易导致梯度爆炸,所以可以除以样本总数m,式子变为:

    1mi=1nyiln(h(xi))(1yi)ln(1h(xi))

  • 代价函数

    可以根据上面的最大似然估计定义逻辑回归的代价函数:

    J(w,b)=1mi=1m[y(i)ln(fw,b(x(i)))+(1y(i))ln(1fw,b(x(i)))]

    image-20221204152344003
  • 梯度下降算法

    此处涉及数学求导,可以跳过

    已知代价函数,梯度下降的目标就是找到合适的w,b参数能够使得代价函数最小,即使得预测结果的概率最大。根据梯度下降算法的流程,我们需要对代价函数做导数运算:

    J(w,b)wj=1mi=1m[y(i)1g(z)(1y(i))11g(z)]g(z)wj=1mi=1m[y(i)1g(z)(1y(i))11g(z)]g(z)(1g(z))zwj=1mi=1m[y(i)(1g(z))(1y(i))g(z)]xj(i)=1mi=1m(y(i)g(z))xj(i)=1mi=1m(g(z)y(i))xj(i)=1mi=1m[fw,b(x(i))y(i)]xj(i)

    其中g(z)wj的计算如下:

    g(z)wj=11+ezwj=1(1+ez)2ez(1)zwj=g(z)(1g(z))zwj

    然后进行梯度下降:

    {w1=w1α1mi=1m(fw,b(x(i))y(i))x1(i)wn=wnα1mi=1m(fw,b(x(i))y(i))xn(i)b=bα1mi=1m(fw,b(x(i))y(i)),α

    可以发现其形式竟然和线性回归的形式一样,不过这里的fw,b(x(i))和线性回归的已经不一样了。

    image-20221204170334774

数据处理

特征缩放(归一化)

可以通过变换来将各个特征统一到一个合适的范围内,数据归一化后,最优解的寻优过程明显会变得平缓,更容易正确的收敛到最优解:

image-20221204131213405
  • 线型比例变换

    xi=ximax(x)

  • 极差变换:

    • 归一到(0,1)范围:

    xi=ximin(x)max(x)min(x)

    • 归一到(1,1)范围:

    xi=ximean(x)max(x)min(x)mean(x)

  • 标准差变换(Z-score):

    xi=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.

过拟合其实就是为了得到一致假设而使得假设过于地严格。使得其在训练集上的表现非常地完美,但是在训练集以外的数据集却表现不好。

image-20221204175437538
image-20221204180214458
  • 解决过拟合的方法:

    • 收集更多的数据

    • 减少特征值的数量:

      • 人工选择哪些特征需要保留
      • 使用模型选择算法
    • 正则化

  • 正则化

    在原来的代价函数中添加正则化项,主要是通过正则项来限制权重w参数的值的变化,使其尽可能的小或者尽可能地趋于0,以达到稀疏参数的效果,进而使得模型复杂度下降,避免过拟合(一般不对参数b进行正则化)。

    • 线性回归

      J(w,b)=12mi=1m(fw,b(x(i))y(i))2+λ2mj=1nwj2,λ

    • 逻辑回归

      J(w,b)=1mi=1m[y(i)ln(fw,b(x(i)))+(1y(i))ln(1fw,b(x(i)))]+λ2mj=1nwj2

  • 正则化后的的梯度下降算法:

image-20221205125536888

其中对于参数w的那一项还可以写成:

wj=(1αλm)wjα1mi=1m(fw,b(x(i))y(i))xj(i)

原来w前系数为1,现在w前面系数为 ,因为αλm都是正的,所以 1αλm小于1,它的效果是减小w,这也就是权重衰减的由来。

参考资料

  1. 线性回归和逻辑回归
  2. 逻辑回归详解
  3. 逻辑回归的本质——极大似然估计
  4. 机器学习笔记:过拟合(Overfitting)
  5. 【深度学习】——过拟合的处理方法
posted @   于辰文  阅读(151)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示