• 9.4-学习ing


    神经元

    神经网络中每个节点称为神经元,由两部分组成:
    加权和:将所有输入加权求和。
    非线性变换(激活函数):加权和的结果经过一个非线性函数变换,让神经元计算具备非线性的能力。

    多层连接

    大量这样的节点按照不同的层次排布,形成多层的结构连接起来,即称为神经网络。

    前向计算

    从输入计算输出的过程,顺序从网络前至后。

    计算图

    以图形化的方式展现神经网络的计算逻辑又称为计算图,也可以将神经网络的计算图以公式的方式表达:

    模型假设

    提出假设的方法,例如牛顿的第二定律,运用斜滑动法和平滑动法
    世界上的可能关系千千万,漫无目标的试探YYY~XXX之间的关系显然是十分低效的。因此假设空间先圈定了一个模型能够表达的关系可能,

    评价函数

    损失函数:模型预测值和真实值差距的评价函数
    寻找最优之前,我们需要先定义什么是最优,即评价一个YYY~XXX关系的好坏的指标。通常衡量该关系是否能很好的拟合现有观测样本,将拟合的误差最小作为优化目标。

    优化算法

    实现损失最小的方法称为优化算法,也成为寻解算法
    设置了评价指标后,就可以在假设圈定的范围内,将使得评价指标最优(损失函数最小/最拟合已有观测样本)的YYY~XXX关系找出来,这个寻找最优解的方法即为优化算法。最笨的优化算法即按照参数的可能,穷举每一个可能取值来计算损失函数,保留使得损失函数最小的参数作为最终结果。

    作业

    1、类比牛顿第二定律的案例,在你的工作和生活中还有哪些问题可以用监督学习的框架来解决?模型假设和参数是什么?评价函数(损失)是什么?
    在这里插入图片描述

    2、为什么说深度学习工程师有发展前景?怎样从经济学(市场供需)的角度做出解读?
    在这里插入图片描述
    为什么要以均方误差作为损失函数?
    即将模型在每个训练样本上的预测误差加和,来衡量整体样本的准确性。这是因为损失函数的设计不仅仅要考虑“合理性”,同样需要考虑“易解性”

    神经网络的标准结构中每个神经元由加权和与非线性变换构成,然后将多个神经元分层的摆放并连接形成神经网络。线性回归模型可以认为是神经网络模型的一种极简特例,是一个只有加权和、没有非线性变换的神经元(无需形成网络)

    在这里插入图片描述

    读入数据

    import numpy as np
    import json
    
    datafile = './work/housing.data' # 50614列
    data = np.fromfile(datafile,sep=' ') # 7084 = 14 * 506,一行数据显示
    data
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    数据形状变换

    已知,一个房子的13种影响因素,存储在x矩阵中,以及该房子的房价y。

    那么N个房子的表示则是:x[ ] N x13, 即N行13列,y[ ] Nx1,即N行1列。

    # 14个影响房价的特征,X
    feature_names = ['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE','DIS', 
                     'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT', 'MEDV']
    # 长度14
    feature_num = len(feature_names) # 14# print(data.shape[0] // feature_num)  # 7084//14 向下取整保留整数
    # 14*506/1414
    # 即506*14 这个维度的,行506,列14
    data = data.reshape([data.shape[0]// feature_num), feature_num])
     
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    数据集划分

    在这里插入图片描述

    # 取data的80%的数据,训练集
    ratio  = 0.8
    # data.shape[0] = 506
    # data[0] = 14 14个数据
    # 测试数据值506*0.8
    offset = int(data.shape[0]*ratio)
    # 寻来数据集,按列切分,从0到offset
    training_data = data[:offset]
    # 输出40414列
    training_data.shape
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    h5 plus 无法下载base64格式图片解决办法
    Python 算法高级篇:分治算法的原理与应用
    企业架构LNMP学习笔记9
    使用CAD偏移和阵列命令绘制图形、使用CAD旋转复制命令绘制图形
    【linux】基础IO+系统文件IO+文件描述符分配规则
    轴及其加工工艺
    7个原则,看懂「深色模式」设计
    vue+elementui前端rules校验缓存问题
    【计算机网络笔记】计算机网络性能(2)——时延带宽积、丢包率、吞吐量/率
    【tg】6: MediaManager的主要功能
  • 原文地址:https://blog.csdn.net/weixin_44522477/article/details/126690727