精华内容
下载资源
问答
  • 本文提出了一种用于确定统计学习机(SLM)参数结构的识别函数(IF)方法。 这涉及研究三个相关... 我们将IF方法与现有标准进行比较,并从理论和应用角度讨论其优缺点。 提出了一些文献中的模型实例来研究其参数结构。
  • 深度学习 发展 优缺点

    千次阅读 2018-07-26 22:46:11
    由于早期的计算资源的限制,以及数据量不足,导致前2个时期提出的神经网络,大多规模很小,而且在一定程度上还不如传统的统计机器学习方法,而且神经网络的结构相对简单,因此并没有体现出神经网络的潜在价值。...

    神经网络的发展经历了3次大的转折。由于早期的计算资源的限制,以及数据量不足,导致前2个时期提出的神经网络,大多规模很小,而且在一定程度上还不如传统的统计机器学习方法,而且神经网络的结构相对简单,因此并没有体现出神经网络的潜在价值。

    在07年,hitton提出了利用自编码器来stack by stack的学习图像的表征,然后堆叠起来作为神经网络参数的初始化值,然后在统一采用反向传播算法(BP算法)进行训练,最终准确率有显著的提升。同样的,由于大数据的出现,以及GPU等计算资源的出现,使得深度神经网络的训练得到可能。


    神经网络的优点:
    (1)由于神经网络天生具备拟合任意复杂函数的特点,因此神经网络你和能力很强,可以做非常复杂的非线性映射。
    (2)深度神经网络的参数很多,因此要得到的假设空间维度非常高,有很强大的表征能力
    (3)现代的深度神经网络大多可以用来提取图像,语音,文本的抽象特征,而且提取出来的特征要比人为设定的特定具有更强的泛化性能,可以应用到多个领域。可以学习浅层语义信息,同样可以学习深层语义信息,因此这样便可以自动获取特征。为后面各个不同的任务提供特征。
    (4)神经网络通过设计不同的结构,可以改变网络提取特征的方法,同样也可以对拟合目标函数达到不同的效果。

    其中,从早些时候的Alexnet,到后面的vgg16, vgg19, googlenet, resnet,以及近期提出的双通道网络,都围着这降低参数量学习更加丰富的特征,以及加快训练速度等角度提出的,可见神经网络具有非常大的灵活性,可以适应于多种不同的任务。


    神经网络的缺点
    (1)神经网络强大的假设空间,使得神经网络极易陷入局部最优,导致模型泛化能力很差,使得模型过拟合见到的数据分布,并不能很好的预测未知的数据。

    使用复杂的模型,也会带来模型泛化能力的下降。因此基于泛化能力,提出了许多相应的措施,比如提出dropout在训练阶段,选择性的遮掉一部分隐藏节点,使得最终的模型节点点没有太多的趋同效果,相当于训练了多个子网络,达到ensemble的效果。
    (2)神经网络参数量巨大,倒是训练起来非常慢,对于存储也非常不方便,因此基于这个问题,现在不断的更改网络结构,先训练大网络,然后在迁移到小网络结构,使得参数量大幅度降低,但是准确率不会有明显降低。
    (3)在网络很深的情况下,会出现梯度消失,因此会提出relu,tanh等激活函数来方式梯度消失。
    (4)网络很深,会使得收敛很慢,同样提出了batch normalization,来使得训练深层的网络成为可能。

     

    原文地址 

    https://blog.csdn.net/nicholas_liu2017/article/details/77688500

    https://blog.csdn.net/Nicholas_Liu2017/article/details/71250082

     

    展开全文
  • 朴素贝叶斯属于:概率模型、参数化模型、和生成模型 ...贝叶斯的优缺点: 1.朴素贝叶斯基本方法 2.后验概率最大化的含义 3.朴素贝叶斯算法: 朴素贝叶斯python实现4.1: class Navie_...

    朴素贝叶斯属于:概率模型、参数化模型、和生成模型


    目录

    1.朴素贝叶斯基本方法

    2.后验概率最大化的含义

    3.朴素贝叶斯算法:

    朴素贝叶斯python实现4.1:

    朴素贝叶斯sklearn实现作业4.1

    贝叶斯的优缺点:


    1.朴素贝叶斯基本方法

    2.后验概率最大化的含义

    3.朴素贝叶斯算法:

    朴素贝叶斯python实现4.1:

    class Navie_Bayes():
        def __init__(self, x_train, y_train, x_test, y_test=None):
            self.x, self.y, self.xs, self.ys = x_train, y_train, x_test, y_test 
        
        def fit(self):
            a, b = self.x.shape  
            tmp_x_0, tmp_y_0, tmp_x_1, tmp_y_1 = [], [], [], []
            for i in range(a):
                if self.y[i] == 1:
                    tmp_x_0.append(self.x[i])
                    tmp_y_0.append(self.y[i])
                else:
                    tmp_x_1.append(self.x[i])
                    tmp_y_1.append(self.y[i])
                    
            # 求先验概率
            p_ck1 = len(tmp_y_0) / a
            p_ck0 = 1 - p_ck1 
            
            # 求y=1条件概率
            tmp_1, tmp_2, tmp_3 = [], [], []
            tmp_S, tmp_M, tmp_L = [], [], []
            for j in range(len(tmp_y_0)): 
                if int(tmp_x_0[j][0]) == 1:
                    tmp_1.append(tmp_x_0[j])
                elif int(tmp_x_0[j][0]) == 2:
                    tmp_2.append(tmp_x_0[j])
                else:
                    tmp_3.append(tmp_x_0[j])
            for v in range(len(tmp_y_0)): 
                if tmp_x_0[v][1] == 'S':
                    tmp_S.append(tmp_x_0[v])
                elif tmp_x_0[v][1] == 'M':
                    tmp_M.append(tmp_x_0[v])
                else:
                    tmp_L.append(tmp_x_0[v])
            # 求y=-1条件概率
            tmp_1_, tmp_2_, tmp_3_ = [], [], []
            tmp_S_, tmp_M_, tmp_L_ = [], [], []
            for j_ in range(a-len(tmp_y_0)): 
                if int(tmp_x_1[j_][0]) == 1:
                    tmp_1_.append(tmp_x_1[j_])
                elif int(tmp_x_1[j_][0]) == 2:
                    tmp_2_.append(tmp_x_1[j_])
                else:
                    tmp_3_.append(tmp_x_1[j_])
            for v_ in range(a-len(tmp_y_0)): 
                if tmp_x_1[v_][1] == 'S':
                    tmp_S_.append(tmp_x_1[v_])
                elif tmp_x_1[v_][1] == 'M':
                    tmp_M_.append(tmp_x_1[v_])
                else:
                    tmp_L_.append(tmp_x_1[v_])
            # 后验概率
            p_y1 = p_ck1 * (len(tmp_2)/len(tmp_y_0)) * (len(tmp_S)/len(tmp_y_0))
            p_y2 = p_ck0 * (len(tmp_2_)/(a-len(tmp_y_0))) * (len(tmp_S_)/(a-len(tmp_y_0)))
            if p_y1 > p_y2:
                print('预测结果为:',1)
                return 1
            else:
                print('预测结果为:',-1)
                return -1
    def main():
        x_train = np.array([[1, 'S'], [1, 'M'], [1, 'M'], [1, 'S'], [1, 'S'], [2, 'S'], [2, 'M'], [2, 'M'],
                           [2, 'L'], [2, 'L'], [3, 'L'], [3, 'M'], [3, 'M'], [3, 'L'], [3, 'L']])
        y_train = np.array([-1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1])
        x_test = np.array([2, 'S'])
        navie_bayes = Navie_Bayes(x_train, y_train, x_test)
        navie_bayes.fit()

    结果:

    朴素贝叶斯sklearn实现作业4.1

    # 令s=1,m=2, l=3
    x_train = np.array([[1, 1], [1, 2], [1, 2], [1, 1], [1, 1], [2, 1], [2, 2], [2, 2],
                           [2, 3], [2, 3], [3, 3], [3, 2], [3, 2], [3, 3], [3, 3]])
    y_train = np.array([-1, -1, 1, 1, -1, -1, -1, 1, 1, 1, 1, 1, 1, 1, -1])
    x_test = np.array([2, 2])
    navie_bayes_gauss = GaussianNB()
    navie_bayes_multi = MultinomialNB(alpha=2.0, class_prior=None, fit_prior=True)
    navie_bayes_bou = BernoulliNB(alpha=2.0,binarize = 3.0,fit_prior=True)
    tt = [navie_bayes_gauss, navie_bayes_multi, navie_bayes_bou]
    tt_str = ['GaussianNB', 'BernoulliNB','MultinomialNB']
    for items, name in zip(tt, tt_str):
        items.fit(x_train, y_train)
        xx = items.predict_proba(x_test.reshape(1, -1))
        print('%s 模型的预测概率为:'%name, xx)

    贝叶斯的优缺点:

    由于贝叶斯是对条件概率分布的条件独立性假设,那么在数据集比较小的时候它会有比较好的效果,但是当数据集比较大的时候,误差会随意数据集的增大而增大,这个时候它的效果可能还不如逻辑回归等模型。

    在小型数据集上,朴素贝叶斯更容易产生偏差,这可以防止其拟合噪声。

    展开全文
  • 直流支撑(DC-link)电容器是电力电子变换器的关键器件之一...介绍每种方法的原理和手段,对比分析各种方法优缺点,其次,针对研究成果的监测对象和监测参数进行数据统计分析;最后提出电容器状态监测的后续研究方向。
  • KS(Kolmogorov-Smirnow)是一种非参数统计检验方法,是针对连续分布的检验。这种检测常被用来应用于比较单样本是否符合某个已知分布(将样本数据的累计频数分布与特定理论分布相比较,如果两者间差距较小,则推断该...

    目录

    1.概述

    2.优缺点

    3.KS检验过程

    4.python程序


    1.概述

    KS(Kolmogorov-Smirnow)是一种非参数的统计检验方法,是针对连续分布的检验。这种检测常被用来应用于比较单样本是否符合某个已知分布(将样本数据的累计频数分布与特定理论分布相比较,如果两者间差距较小,则推断该样本取自某特定分布簇),双样本的KS检测比较两个数据集的累积分布(连续分布)的相似性。

    2.优缺点

    【优点】

    ①KS检验与卡方检验相比(都采用实际频数与理论频数之差进行检验),不需要将数据分组,可直接对原始数据的n个观测值进行检验,故KS检验对数据的利用更加完整,一般来说比卡方检验更有效,适用范围广

    ②KS检验具有稳健性(不依赖均值的位置)

    ③对数据量纲不敏感

    【缺点】

    ①在明确待检验样本的可能分布时,检验性能不如对应的分布检验

    3.KS检验过程

    【定义】:检验统计量为,其中F_{n}(x)为观察序列值,F(x)为理论序列值或另一观察序列值

    【过程】

    ①提出假设H0:F_{n}(x) = F(x)

    ②计算样本累计频率与理论分布累计概率的绝对差,令最大的绝对差为D_{n};D_{n}=max{[F_{n}(x) - F(x)]}

    ③用样本容量n和显著性水平a查出临界值D_{na}

    ④如果D_{n} < D_{na},则认为原假设成立

    ⑤若pvalue < α 则拒绝原假设;若pvalue ≥ α则不拒绝原假设

    4.python程序

    from scipy.stats import kstest
    from scipy.stats import ks_2samp
    import numpy as np
    import matplotlib.pyplot as plt
    from collections import Counter
    import pandas as pd
    
    
    tmp = np.random.randint(-5, 5, 10)
    ks_control = np.random.randint(1, 5, 10)
    ks_treatment = [1, 1, 3, 2, 2, 4, 2, 5, 2, 3]
    
    # # =======================================α=0.05
    # # 单样本ks检验
    # print(kstest(tmp, "norm"))
    # print(kstest(ks_treatment, "norm", N=10))
    #
    # # 双样本ks检验
    # print(ks_2samp(ks_control, ks_treatment))
    
    # =======================================result
    # H0:两个分布式相同的
    # KstestResult(statistic=0.3413447460685429, pvalue=0.152621157201553)
    # pvalue > 0.05 :不拒绝原假设
    # KstestResult(statistic=0.541344746068543, pvalue=0.0028511439063989563)
    # pvalue < 0.05 : 拒绝原假设
    # Ks_2sampResult(statistic=0.4, pvalue=0.3128526760169558)
    # pvalue > 0.05 : 不拒绝原假设
    
    # =======================================绘制频率累积折线图
    def plotKS_curve(ks_control, ks_treatment):
        plt.rcParams['font.sans-serif'] = ['SimHei']
    
        plt.figure()
        d1 = list(pd.value_counts(ks_control).sort_index())
        d2 = list(pd.value_counts(ks_treatment).sort_index())
    
        y1 = []
        y2 = []
        for i in range(5):
            y1.append(sum(d1[:i+1])/sum(d1))
            y2.append(sum(d2[:i+1])/sum(d2))
    
        plt.plot(np.arange(1, 6), y1, color="r", label="ks_control", marker="^")
        plt.plot(np.arange(1, 6), y2, color="b", label="ks_treatment", marker="*")
    
        # 给绘图添加数字
        for i in range(5):
            plt.text(i+1.2, y1[i], s=str(y1[i]), ha='center', va='center')
            plt.text(i+1.2, y2[i], s=str(y2[i]), ha='center', va='center')
    
        plt.xlabel("用户评分值")
        plt.ylabel("频率")
        plt.legend()
        plt.show()
    
    
    if "__main__" == __name__:
        plotKS_curve(ks_control, ks_treatment)

     

    展开全文
  • 对数据库系统性能建模的主要文献进行综述,重点介绍数据库系统性能建模的主要方法,并讨论这两类模型各自的优缺点、建模的难点以及应对策略。在此基础上,对数据库系统性能模型领域的研究进行展望,为有关该领域的...
  • CDA1级习题复习(3)

    2020-12-20 20:57:58
    概率抽样的优缺点:缺点是调查成本高,优点是样本统计量的分布是确定的。 根据简单随机抽样的样本公式,样本误差降低50%,那么样本量扩大到4倍。(反比,平方) 根据客户的需求,找准需求中的限定点,然后比对选项中...
    1. 非概率抽样缺点:样本统计量的分布不是确定的,无法用样本的结果对总体的相应参数作出推断。
    2. 非概率抽样的优点:适合探索性研究。
    3. 概率抽样的优缺点:缺点是调查成本高,优点是样本统计量的分布是确定的。
    4. 根据简单随机抽样的样本公式,样本误差降低50%,那么样本量扩大到4倍。(反比,平方)
    5. 根据客户的需求,找准需求中的限定点,然后比对选项中的限定词,选出合理的抽样方法。
    6. 主成分分析在计算相关系数时,主成分个数原则包括:特征根值大于1,累计特征根值加总特征根值的80%。
    7. 主成分分析计算分为:根据相关系数,根据协方差矩阵。
    8. 相关系数计算适合变量的量纲不同。
    展开全文
  • GBDT算法梳理

    2019-04-07 21:43:49
    文章目录引言前向分步算法负梯度拟合目标函数分类二分类多分类损失函数分类算法回归算法正则化优缺点sklearn参数 引言 集成学习中的提升法是一种常见的统计学习方法,通常的思路是改变训练数据的概率分布(即训练...
  • 逻辑回归算法梳理

    2019-04-01 14:38:17
    逻辑回归算法梳理逻辑回归与线性回归联系与区别线性回归逻辑回归(Logistic Regression)逻辑回归原理Sigmoid函数逻辑回归的损失函数逻辑回归的优缺点正则化与模型评估指标模型评估样本不均衡时解决办法sklearn参数...
  • 论文从对多模态图像配准的认识入门,介绍了基于互信息的图像配准方法,分析总结了多种配准算法的优缺点。研究了基本蚁群算法的原理和工作流程,及其发展现状;并针对红外与可见光的二维图像设计了一种基于最大互信息与蚁...
  • ML入门1.0 -- 手写KNN

    2020-05-12 00:38:50
    KNN 全称为 K Nearest Neighbors 中文又称 K- 近邻算法 ,是一种用与分类和回归的非参数统计方法。KNN采用向量空间模型来分类,概念为相同类别的案例,彼此的相似度高,而可以借由计算与已知类别案例之相似度,来...
  • 任务一 随机森林算法梳理】 1. 集成学习概念 ...7. 优缺点 8. sklearn参数 2 9.应用场景 【参考资料】 《西瓜书》、《统计学习方法》、台大《机器学习技法》、吴恩达《机器学习》等 转自:https://li...
  • 逻辑回归(Logistic Regression) 本质上讲,机器学习就是一个模型对外界的刺激...5、逻辑回归的优缺点 6、样本不均衡问题解决办法 7. Sklearn参数浅析 逻辑回归原理? 逻辑回归是一种有监督的统计学习方法,主要...
  • 文章目录判别模型与生成模型判别模型生成模型先验概率、条件概率、后验概率朴素贝叶斯法建模后验概率P(Y=ck∣X=x)P(Y=c_k| X = x)P(Y=ck​∣X=x...的解释朴素贝叶斯法的参数估计极大似然估计算法流程贝叶斯估计优缺点...
  • 基于栈的指令集的优缺点? Javac编译过程分为哪些步骤? 什么是即时编译器? 解释器和编译器 为什么要采用分层编译? 分层编译器有哪些层次? 编译对象与触发条件 热点代码有哪些? 如何判断一段代码是不是热点代码? ...
  • 页面置换算法是虚拟存储管理实现的关键,通过本次试验理解内存页面调度的机制,在模拟实现FIFO、LRU等经典页面置换算法的基础上,比较各种置换算法的效率及优缺点,从而了解虚拟存储实现的过程。将不同的置换算法...
  • 页面置换算法是虚拟存储管理实现的关键,通过本次试验理解内存页面调度的机制,在模拟实现FIFO、LRU等经典页面置换算法的基础上,比较各种置换算法的效率及优缺点,从而了解虚拟存储实现的过程。将不同的置换算法...
  • 14 基于粒子群算法的PID控制优化算法(史峰) PID控制方法是工业领域中最常用的控制方法,然而在PID控制算法的使用中,P,I,D参数即比例 参数、积分参数、微分参数的确定是个难题,一般是凭经验获得。粒子群算法...
  • Python简介 - Python的历史 / Python的优缺点 / Python的应用领域 搭建编程环境 - Windows环境 / Linux环境 / MacOS环境 从终端运行Python程序 - Hello, world / print函数 / 运行程序 使用IDLE - 交互式环境(REPL) ...
  • 委托可以把一个方法作为参数代入另一个方法。 委托可以理解为指向一个函数的引用。 是,是一种特殊的委托 5.override与重载的区别 答 : override 与重载的区别。重载是方法的名称相同。参数参数类型不同,...
  • ORACLE重建索引总结

    2011-12-13 10:32:28
    (2)、下面讨论一下这三种方法优缺点: 2.1、删除并从头开始建索引:方法是最慢的,最耗时的。一般不建议。 2.2、Alter index index_name rebuild 快速重建索引的一种有效的办法,因为使用现有索引项...
  • 2.2.8 沃尔什和哈尔变换的优点和缺点各是什么? 69 2.2.9 什么是哈尔小波? 70 2.3 离散傅里叶变换 71 2.3.1 傅里叶变换的离散形式(DFT )是怎样的? 71 B2.6 离散傅里叶反变换是什么样的? 72 2.3.2 如何能...
  • 千兆以太网技术与应用

    热门讨论 2011-06-22 21:39:31
    11.1.5 中继器的优缺点 115 11.1.6 共享千兆以太网的应用 115 11.2 交换式集线器 117 11.2.1 工作组级与园区网级交换机 117 11.2.2 千兆以太网交换机的特点 118 11.2.3 千兆交换机体系结构问题 120 11.2.4 缓冲式...
  • 3.1.2 非归档模式的优缺点 91 3.1.3 非归档模式转换成归档模式 91 3.2 备份概述 92 3.3 物理备份 92 3.3.1 冷备份 92 3.3.2 热备份 93 3.3.3 RMAN备份 95 3.4 备份前的环境配置 98 3.4.1 连接到...
  • c语言编写单片机技巧

    2009-04-19 12:15:17
    1. C语言和汇编语言在开发单片机时各有哪些优缺点? 答:汇编语言是一种用文字助记符来表示机器指令的符号语言,是最接近机器码的一种语言。其主要优点是占用资源少、程序执行效率高。但是不同的CPU,其汇编语言...

空空如也

空空如也

1 2 3
收藏数 47
精华内容 18
关键字:

参数统计方法优缺点