• 深度学习,从一维特性输入到多维特征输入引发的思考(未完成)


    从一维特性输入到多维特征

    当看到这张图的时候,我的第一个反应是,原来激活函数是这么个意思啊!

    单看一维的时候,还没有这么强烈的感受,但是看到多维的时候,就悟了。

    但是这里还有一点需要注意:这里仅仅是输入的维度增加了,输出还是0和1,所以这还是一个二分类的问题,只是输入特征变成了多维,到了多分类就该引入softmax了

    一开始在想,为啥要将一条数据的八个特征带入线性方程相加 再给“西格玛”函数?

    然后想到,因为每个特征对整体的贡献不同,所以有不同的wb,有wb的加持,所以将特征值相加也不是不能理解。再将线性系统的结果值给“西格玛”函数,这样系统就有了非线性,这也是激活函数想达到的目的——能够拟合出更复杂的决策边界。

    接着看这张图:

    这张图的两个启示

    1 凡是相乘再累加的形式,其实都可以转换成向量的乘法,反过来想,为啥向量的乘法要如此设计,可能就是为了简化这种累加的写法

    2 写成向量之后就可以用到很多向量性质了。比如,本来应该是x*w,现在想变成了w*x,   但是矩阵没有交换律,不过根据转置的特性,我们可以将xw都转置,这样他们就可以调换位置了。

    但是这里还有问题,这里的b是怎么来的?从公式看好像是凭空出现的!

    所以这里这种写法我感觉其实是有那么一点问题的,那更常见的写法应该是,新增一个维度:

    那就是先在X的前面加个1,作为偏置项的基底,(此时X就从n维向量变成了n+1维向量,即变成 [1, x1,x2…] ),然后,让每个分类器去训练自己的偏置项权重,所以每个分类器的权重就也变成了n+1维,即[w0,w1,…],其中,w0就是偏置项的权重,所以1*w0就是本分类器的偏置/截距啦。这样,就让截距b这个看似与斜率W不同的参数,都统一到了一个框架下,使得模型在训练的过程中不断调整参数w0,从而达到调整b的目的。
    ————————————————
    版权声明:本文为CSDN博主「机器之心V」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/Uwr44UOuQcNsUQb60zk2/article/details/81074408

     但是我依然有个问题,如果在,X的前面加个1为基底,但是调整w0的时候,基底都是1,那相当于每个线性函数b还是一样啊?那如果是将这里的1改成之前线性函数里的b是不是更加合理呢?

    这里我也不确定(后续在理解吧。)

    总而言之这个偏置项b的作用是在空间里构建过原点的直线/平面/超平面。这样我们才能更好的做分类(更好的构建决策边界)(题外话:但是在欧几里得空间向量中我们讨论的向量都是过原点的)


    破案了

    这里的线都是不过原点的,但是欧几里得空间里的向量都是过原点的,那这些向量是怎么来的,我不知道你有没有和我一样的疑问。

    这个是我之前,提的一个问题:

     

    通过和老师的沟通之后,我的结论是这样的:

    那可以从两个方面理解:
    第一种:
    一个一维欧几里得空间X存储所有x的可能性,一个一维欧几里得空间Y存储所有y的可能性。
    而两个欧几里得空间的中的xy是有一一对应的关系的,有了这个关系之后,
    每对xy又可以形成一个新的二维的欧几里得空间XY。如果再有一个一维的欧几里得空间B,
    存储所有的截距b,而这个B和XY也有一一对应的关系之后,根据这些关系,我们就能描述截距的直线了。
    比如XY中有一个元素(x1, y1) B中有一个元素b1,通过这三条信息就能描述一个有截距的线段。
    而这个B也可以作为一个特征项,放入X矩阵中,最为一个新的一列。

    第二种:
    将欧几里得空间看成点的集合,在X和W没有扩充之前,XY中的所有的点构成的空间其实就是一条过原点的直线。
    在X和W扩充一维之后,XY中的所有的点构成的空间就是一条有截距(不过原点)的直线。
    (没错,我之前确实是将X Y W 这些空间搞混淆了,老师这里点醒了我!!!)

    总结:
    虽然欧几里得空间里的向量都是过原点的向量,但是如果把这些向量看成一个点(忽略原点),这些点就构成
    一个空间。这个空间可能是N维空间中的一条线,一个面,或者一个体 这就是子空间的概念啊。

    就到这了,希望能帮到和我有一样困惑的人。


    参考资料:

    《PyTorch深度学习实践》完结合集_哔哩哔哩_bilibili

    神经网络中的偏置项b到底是什么?_机器之心V的博客-CSDN博客

  • 相关阅读:
    设计模式_中介者模式
    06-线程池(3大方法、7大参数,4种拒绝策略)
    3GPP R17 NR测量GAP增强
    JavaScript随手笔记---数组中相同的元素进行分组(数据聚合) groupBy函数
    三谈大数据之足球盘口赔率水位分析思路及其实现利器
    【hadoop3.x】一 搭建集群调优
    解决因对EFCore执行SQL方法不熟练而引起的问题
    AI&Cloud 分论坛 07-AI原生数据库与RAG【文档管理】
    ESP32在CAN(TWAI)波特率不同时收发数据,导致总线错误无法恢复
    面试官:Redis中集合数据类型的内部实现方式是什么?
  • 原文地址:https://blog.csdn.net/songhuangong123/article/details/125430466