机器学习day02

MB神经元模型:
      从大脑的神经元抽象得到的模型的数学表示
感知机模型(Perceptron单层神经模型)
      由于MB神经元不具有学习的功能,产生了感知机模型,感知机模型,是在MB神经元的基础上,添加了损失函数(误差反向传播),如下图:

双层神经模型(BP)
      感知机(单层神经元模型)虽然解决了学习问题,但是没有XOR的解决能力,故而有了双层感知机模型:

多层神经模型
      多个感知机的叠加,用于处理比较复杂业务

机器学习三要素:
    模型 = 数据 +算法 +策略
           策略:什么样的模型是好的模型?损失函数。损失函数值越低越好
           算法:通过模型中的未知参数,实现最优参数的高效查找
    模型----寻找规律
           机器学习中,首先要考虑学习什么样的模型,在监督学习中,如模型(y=ax+b)就是要学习的内容
           模型通常分为决策函数或者条件概率分布
           由决策函数表示的模型为非概率模型,由条件概率分布表示的模型为概率模型
    策略----模型好不好
           评估模型的好坏,使用损失函数来进行度量,模型给出的值与实际真实值之间存在的差别
           损失函数度量模型一次预测的好坏,跟损失函数值有关,值越小,模型越好
           常用的损失函数有下面几个:
    算法机器学习的算法就是求解最优化问题的算法。如果最优化问题有显示的解析解,这个最优化问题就比较简单,但通常这个解析解不存在,所以就需要利用数值计算的方法来求解。机器学习可以利用已有的最优化算法,也可以开发自己的最优化算法

泛化:模型具有好的泛化能力是指:模型不但在训练数据集上表现效果好,对于新数据的适应能力效果也好
    泛化能力的表现:
           欠拟合:模型在训练集和新数据集的表现都不好
        原因:模型过于简单。
        出现场景:一般出现在学习模型刚刚开始训练的时候
        解决方法:添加其他特征项、添加多项式特征(比如将一次方改为平方)、减少正则化参数
           过拟合:模型在训练集上表现好,在新数据集上表现差
        原因:模型太复杂、数据不纯、训练数据太少
        出现场景:过度优化
        解决方法:重新清洗数据、增大训练数据量、采用正则化惩项、采用dropout方法(删除一个神经元)


如何设计一个神经网络结构?
      1、确定神将网络层数
           1)输入层和输出层仅一层,隐藏层有多层
      2、确定每层单元的个数
           1)输入层单元个数根据输入数据特征的个数确定
           2)输出层单元格数根据目标分类的个数确定
           3)隐藏的单元个数如何确定?
                 =》隐层个数设定没有明确规则,根据准确度来进行判断和改进
                 =》留一法和交叉验证法(用于验证)
如何构建一个机器学习系统
      1.数据  2.业务
      数据探索
      特征工程
      数据集切分为训练集和测试集
      训练集+算法-->MODEL
      通过测试集X灌入算法中得到一个预测值Y1
      形成误差|Y-Y1|
      模型训练过程
      评价指标
    
模型的选择----奥卡姆剃刀原则
      给定两个泛化误差相同的模型,应选择教为简单的模型,这就是奥卡姆剃刀原则

机器学习成熟库
    Spark的MLLIB  基于JAVA的WEKA  基于Python的sklearn
    tensorflow库---深度学习(CNN DNN RNN)
    Keras库--基于tensorflow封装的库、MXnet、Caffe等

扫描二维码关注公众号,回复: 5888081 查看本文章

猜你喜欢

转载自blog.csdn.net/weixin_42487706/article/details/88942157
今日推荐