精华内容
下载资源
问答
  • 个又N个数的无序数组中,最少需要比较多少可以出这个数组的最大值和最小值? 此题在《编程之美》上有,并且LZ最近在面百度的时候也被问到了类似的题目,微软面试好像也考到了这题。 那么我们来分析,如果...

    在一个又N个数的无序数组中,最少需要比较多少次可以求出这个数组的最大值和最小值?

    此题在《编程之美》上有,并且LZ最近在面百度的时候也被问到了类似的题目,微软面试好像也考到了这题。

    那么我们来分析,如果实在一个没有重复元素出现的数组中,我们发现一般情况下,最大的和最小的一般不是同一个,所以有好几种方法来求。

    第一种:整个数组扫两遍,那么时间复杂度为O(2*N)。肯定不行。

    第二种:用分而治之的方法,先让相邻的两个数进行比较,并将大的数放在偶数位置上,将小的数放在奇数位置上,那么就需要N/2次,然后再从奇偶位置上求出最大最小值,这样就还需要比较N/2,所以我们可以发现一共需要1.5N次比较。

    第三种,也是用分而治之的思想,但是比较次数并没有减少,先将所有数分成两部分,分别对前一部分和后一部分分别求最大、最小值,最后再做一次比较。但是这样的比较次数并不会少,也是N/2次。

    这题可以引申为另一种类型,赛马问题。

    首先有25匹马,但是一共只有5条跑道,也就是每次只能有5匹马同时进行赛马比赛,那么最少需要比赛几次才能比出所有25匹马中的最快的3匹马?

    分析:首先我们将所有25匹马分成5批次,每一个批次都有5匹马,那么这样就需要比5次,可以决出每一组中的最快的那一匹马,然后再对5个组中的第一名再进行一次赛马比赛,也就是再比一次,那么可以决出前三名来,那么这次比赛的后两名肯定没戏了,连同这两匹马所在那两组里的所有马都是没有希望了,因为这两匹马已经是这两组里跑得最快的了,所以现在我们只需要考虑前三名的马匹即可。那么我们现在可以确定第一名一定是所有马中跑得最快的那一匹马,但是题目需要求前三名,所以我们还需要比。那么我们接下来需要拿第一名所在那一组中的第二名和第三名,然后是第二名以及它所在的那组的第二名,第三名进行加赛一场,正好是5匹马,也就是需要7场,那么这样比下来是一定可以确定前三名来的。这道题主要考的是逻辑。

    展开全文
  • 似然函数与贝叶斯公式

    千次阅读 2018-01-08 15:08:57
    学了这么多年贝叶斯公式,不是很了解贝叶斯公式,但是今天和师兄去聊似然函数的时候,聊到了贝叶斯公式,感觉可以去解释人生当中做的一些判断。下面是这篇博客的要讲的三个问题  1.频率学派和贝叶斯学派的区别? ...

        不知道你是否看过我之前的文章,如果看了的话,你会认为很烂,然后判断这篇博客也是很大程度上是很烂的,如果这样的,很幸运,那你使用了贝叶斯思维方式来进行思考问题了。
        学了这么多年贝叶斯公式,不是很了解贝叶斯公式,但是今天和师兄去聊似然函数的时候,聊到了贝叶斯公式,感觉可以去解释人生当中做的一些判断。下面是这篇博客的要讲的三个问题
        1.频率学派和贝叶斯学派的区别?
        2.什么叫似然函数,它从直觉意义上表示什么意思,为什么要进行“最大”似然估计?为什么在最优化的时候需要取log?
        3.贝叶斯公式感悟?

    一:频率学派和贝叶斯学派的区别?
        首先讲下,在概率统计上,有两个学派,一个是频率学派,一个是贝叶斯学派,“最大”似然是频率学派提出的。为什么将最大用引号呢,因为似然函数是两个学派共有的。那频率学派和贝叶斯学派有什么根本的区别呢?
        你从名字就可以看出来他们关心的就是我有多大把握去圈出那个“唯一”的真实参数。而贝叶斯学派恰恰相反,他们关心参数空间里的“每一个值”,因为他们觉得我们又没有上帝视角,怎么可能知道哪个值是正确的呢?所以参数空间里的每个值都有可能是真实模型使用的值,区别只是概率不同而已。最好诠释这种差别的例子就是想象如果你的后验分布是双峰的,频率学派的方法会去选这两个峰当中较高的那一个对应的值作为他们的最好猜测,而贝叶斯学派则会同时报告这两个值,并给出对应的概率。
        在二十世纪之前,频率学派发展很迅速很快占据了概率统计半壁江山,现在很多本科教材大量的篇幅使用的都是频率学派的认识。而贝叶斯学派的东西只是一笔带过,很大程度上是因为在贝叶斯学派中很多推断都是基于概率分布,直到上世纪90年代依靠电子计算机的迅速发展,以及抽样算法的进步(GIBBS采样)使得对于任何模型任何先验分布都可以有效地求出后验分布,贝叶斯学派才重新回到人们的视线当中。

    二:.什么叫似然函数,它从直觉意义上表示什么意思,为什么要进行“最大”似然估计?为什么在最优化的时候需要取log?
    2.1  什么叫似然函数?为什么进行最大似然估计?
        似然的意思是可能性,它的意思和possibility的意思是一样的。
    给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:

    ![](https://img-blog.csdn.net/20180108150629778?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMTk2NDUyNjk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

        首先它表示的是所有样本同时发生的概率,而为什么需要最大的呢,因为当你样本已经拿到你手上了,即表示这个事件已经发生了,那么最大化,这个事件的概率,从而得到参数θ,在直觉上是有道理的。
    2.2 为什么需要取log?
        那么为什么在最优化的时候需要取log呢?有两点原因。
        1.为了求解简单,在求导的时候。
        2.为了避免数值的下溢。因为L(θ|x)是由很多概率相乘,而每个概率都是小于一的,如果样本量很大的时候,那么很容易导致L(θ|x)非常非常的小。
    2.3 一个栗子
        举个栗子,在历史上有很多人比价有探(zhi)索(zhang)性,有很多数学家做过相关的实验,比如:
    德摩根: 实验次数:4092 正面次数:2048
    蒲丰: 实验次数:4040 正面次数:2048
    费勒: 实验次数:10000 正面次数:4979
    罗曼诺夫斯基 :实验次数:80640 正面次数:39699
        上面几位老哥,当然要数罗曼诺夫斯基,这位老哥掷了80640次,很执着,为了探索冥冥之中操纵自然规律的上帝。
        下面我们用matlab求出,罗曼诺夫斯基掷了80640次,的似然函数,及相应的最大值!!!
    求解:p:表示正面的概率,1-p:表示反面的概率。

    ![这里写图片描述](https://img-blog.csdn.net/20180108164831643?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMTk2NDUyNjk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

    对似然函数取log得到如下公式

    ![这里写图片描述](https://img-blog.csdn.net/20180108164919678?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMTk2NDUyNjk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

    用matlab画图如下:

    ![这里写图片描述](https://img-blog.csdn.net/20180108165001205?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMTk2NDUyNjk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

        通过计算可以得出,使上式最大的p=0.8894
        原因分析:那么就有人疑问了,为什么会出现这样的结论呢,笔者猜测可能是硬币不均匀可能导致的。但是求解似然函数的步骤就是这样的。
    三:贝叶斯公式感悟?

    ![这里写图片描述](https://img-blog.csdn.net/20180108150745958?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcXFfMTk2NDUyNjk=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)

        首先看下这个公式,如果把x看做是你对一件事或者是你的人生,那么p(x)就表示你原先的世界观或者是对事情的理解,而p(D|x)表示你在生活中遇到的事情,p(x)p(D|x)就表示日常生活中你经历的事情,然后去对你之前的世界观进行更新,从而得到最后的世界观或者是对一件事情的认识。所以嘛,当你在生活中如果一件事情你经历了很多遍,不管是好的还是坏的,那么你对待这件事情就有很多感悟,从而来更新你对待事物的看法,并且可以理解到这件事情的本质,从而可以得到一个很好的判断。
        我觉得现在每个人都应该用贝叶斯学派的思想去对待生活,对生活看淡,对事情看淡,从而可以做到宠辱不惊一个人。所以嘛,年轻的时候出去闯闯还是蛮有道理的。

    展开全文
  • 全面理解似然函数与贝叶斯公式

    万次阅读 2018-07-30 20:11:42
        ...学了这么多年贝叶斯公式,不是很了解贝叶斯公式,但是今天和师兄去聊似然函数的时候,聊到了贝叶斯公式,感觉可以去解释人生当中做的一些判断。下面...

        不知道你是否看过我之前的文章,如果看了的话,你会认为很烂,然后判断这篇博客也是很大程度上是很烂的,如果这样的,很幸运,那你使用了贝叶斯思维方式来进行思考问题了。
        学了这么多年贝叶斯公式,不是很了解贝叶斯公式,但是今天和师兄去聊似然函数的时候,聊到了贝叶斯公式,感觉可以去解释人生当中做的一些判断。下面是这篇博客的要讲的三个问题
        1.频率学派和贝叶斯学派的区别?
        2.什么叫似然函数,它从直觉意义上表示什么意思,为什么要进行“最大”似然估计?为什么在最优化的时候需要取log?
        3.贝叶斯公式感悟?

    一:频率学派和贝叶斯学派的区别?
        首先讲下,在概率统计上,有两个学派,一个是频率学派,一个是贝叶斯学派,“最大”似然是频率学派提出的。为什么将最大用引号呢,因为似然函数是两个学派共有的。那频率学派和贝叶斯学派有什么根本的区别呢?
        你从名字就可以看出来他们关心的就是我有多大把握去圈出那个“唯一”的真实参数。而贝叶斯学派恰恰相反,他们关心参数空间里的“每一个值”,因为他们觉得我们又没有上帝视角,怎么可能知道哪个值是正确的呢?所以参数空间里的每个值都有可能是真实模型使用的值,区别只是概率不同而已。最好诠释这种差别的例子就是想象如果你的后验分布是双峰的,频率学派的方法会去选这两个峰当中较高的那一个对应的值作为他们的最好猜测,而贝叶斯学派则会同时报告这两个值,并给出对应的概率。
        在二十世纪之前,频率学派发展很迅速很快占据了概率统计半壁江山,现在很多本科教材大量的篇幅使用的都是频率学派的认识。而贝叶斯学派的东西只是一笔带过,很大程度上是因为在贝叶斯学派中很多推断都是基于概率分布,直到上世纪90年代依靠电子计算机的迅速发展,以及抽样算法的进步(GIBBS采样)使得对于任何模型任何先验分布都可以有效地求出后验分布,贝叶斯学派才重新回到人们的视线当中。

    二:.什么叫似然函数,它从直觉意义上表示什么意思,为什么要进行“最大”似然估计?为什么在最优化的时候需要取log?
    2.1  什么叫似然函数?为什么进行最大似然估计?
        似然的意思是可能性,它的意思和possibility的意思是一样的。
    给定输出x时,关于参数θ的似然函数L(θ|x)(在数值上)等于给定参数θ后变量X的概率:

        首先它表示的是所有样本同时发生的概率,而为什么需要最大的呢,因为当你样本已经拿到你手上了,即表示这个事件已经发生了,那么最大化,这个事件的概率,从而得到参数θ,在直觉上是有道理的。
    2.2 为什么需要取log?
        那么为什么在最优化的时候需要取log呢?有两点原因。
        1.为了求解简单,在求导的时候。
        2.为了避免数值的下溢。因为L(θ|x)是由很多概率相乘,而每个概率都是小于一的,如果样本量很大的时候,那么很容易导致L(θ|x)非常非常的小。
    2.3 一个栗子
        举个栗子,在历史上有很多人比价有探(zhi)索(zhang)性,有很多数学家做过相关的实验,比如:
    德摩根: 实验次数:4092 正面次数:2048
    蒲丰: 实验次数:4040 正面次数:2048
    费勒: 实验次数:10000 正面次数:4979
    罗曼诺夫斯基 :实验次数:80640 正面次数:39699
        上面几位老哥,当然要数罗曼诺夫斯基,这位老哥掷了80640次,很执着,为了探索冥冥之中操纵自然规律的上帝。
        下面我们用matlab求出,罗曼诺夫斯基掷了80640次,的似然函数,及相应的最大值!!!
    求解:p:表示正面的概率,1-p:表示反面的概率。

    这里写图片描述

    对似然函数取log得到如下公式

    这里写图片描述

    用matlab画图如下:

    这里写图片描述

        通过计算可以得出,使上式最大的p=0.8894
        原因分析:那么就有人疑问了,为什么会出现这样的结论呢,笔者猜测可能是硬币不均匀可能导致的。但是求解似然函数的步骤就是这样的。
    三:贝叶斯公式感悟?

    这里写图片描述

        首先看下这个公式,如果把x看做是你对一件事或者是你的人生,那么p(x)就表示你原先的世界观或者是对事情的理解,而p(D|x)表示你在生活中遇到的事情,p(x)p(D|x)就表示日常生活中你经历的事情,然后去对你之前的世界观进行更新,从而得到最后的世界观或者是对一件事情的认识。所以嘛,当你在生活中如果一件事情你经历了很多遍,不管是好的还是坏的,那么你对待这件事情就有很多感悟,从而来更新你对待事物的看法,并且可以理解到这件事情的本质,从而可以得到一个很好的判断。
        我觉得现在每个人都应该用贝叶斯学派的思想去对待生活,对生活看淡,对事情看淡,从而可以做到宠辱不惊一个人。所以嘛,年轻的时候出去闯闯还是蛮有道理的。

    展开全文
  • 写这个程序的主要原因... 先介绍一下rand()这个函数的用法,这个函数可以用来产生随机数,但不是真正意义上的随机数,它是个伪随机数,它是根据个数,也可以称它为种子,作为个基准,然后以某个递推公式推算出

    写这个程序的主要原因是,课程作业需要用LabVIEW写类似的一个功能,我就试着用C++写一下试试,其实原理很简单,就是用rand()函数产生随机数存入到数组当中去,然后对数组中的 数用冒泡算法进行排序就可以了。
    先介绍一下rand()这个函数的用法,这个函数可以用来产生随机数,但不是真正意义上的随机数,它是一个伪随机数,它是根据一个数,也可以称它为种子,作为一个基准,然后以某个递推公式推算出一系列的数字,rand()产生的随机数每次运行都相同,要想不同,就要用srand()函数对其初始化代码如下:

    srand((unsignedtime(NULL));

    rand()和srand()的头文件都在stdlib.h。
    产生了随机数后,将其存入到数组当中去,然后再就用冒泡算法对其进行排序,冒泡算法大家应该都比较熟悉了,就是两两进行比较,将较大或者较小的数排在前面,用for进行嵌套循环,怎么实现的可以看后面的代码。

    #include<iostream>
    #include<stdlib.h>
    #include<time.h>
    const int N = 5;
    using namespace std;
    void bubblesort(int a[], int n);
    int main()
    {
        int array[N] = {0};
        srand((unsigned)time(NULL));
        for (int i = 0; i < N; i++)
        {
            array[i] = rand() % 101;  //产生一个1-100的随机数
            //cout << array[i] << endl;
        }
        bubblesort(array, N);
        for (int i = 0; i < N; i++)
        {
            cout << array[i] << endl;
        }
        cout << "The max=:" << array[4] << endl;
        system("pause");
    }
    void bubblesort(int a[], int n)
    {
        using namespace std;
        int temp;
        for (int j=0;j<n-1;j++)    //外循环,需要进行多少趟比较
            for (int i = 0; i < n - 1 - j; i++)   //内循环,每趟需要比较多少次
            {
                if (a[i] > a[i + 1])
                {
                    temp = a[i];
                    a[i] = a[i + 1];
                    a[i + 1] = temp;
                }
            }
    }
    展开全文
  • 导语emmm这次讨论的话题如题,哎向其上次的作业怎么都还没写完,不管啦反正作业什么的都是浮云~平均值定理(解析函数版)要说这个定理呢,其实有的书上也叫他平均值公式,也有叫它平均值性质,Whatever,我们这里就...
  • 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。 新的改变 我们对Markdown编辑器进行了一些功能拓展与语法...
  •  给定a, b, c , d的值,和 x 的范围,函数值的最大值。 分析: 1,当然要求导,并判断 b^2 - 4*a*c d 的范围。  2,注意a=0,b=0的时候。  3,判断极值的点和边界点作比较,找最大值。 注意点: ...
  • Excel常用公式函数总结(Excel 2010)

    千次阅读 2019-02-10 21:53:56
    基本说明:  在Excel中输入函数时是不区分大小写的,无论是大写还是小写,结束函数编辑时...此外,在编辑公式函数时,函数中的标点符号都是英文状态下的标点符号。  示例:IF(A2&gt;100,1000,"无奖...
  • 值函数估计方法引入 在值函数估计方法中,我们希望拟合个价值模型用来估计每个状态动作对的累积回报。其代价函数可以写为 L=12∑a∑s(Q(s,a)−Q(s,a;θ))2 L=\frac{1}{2}\sum_{a}\sum_{s}(Q(s,a)-Q(s,a;\theta...
  • 二维函数Z=g(X,Y)型,用卷积公式求概率密度,积分区域如何确定(上) 因为关于二维随机变量主题内容重要,难度大,例题多,最主要是积分区间的确定是难点,同时关联卷积概念,求二维函数Z=g(X,Y)型,用卷积公式求...
  • 例 : 求解函数最小值 粒子群算法的驱动因素 从鸟群觅食行为到粒子群算法 鸟群寻找食物的过程中,鸟与鸟之间存在着信息的交换,每只鸟搜索目前离食物最近的鸟的周围区域是找到食物的最简单有效的办法。 ...
  • 贝叶斯公式,对似然函数

    千次阅读 2018-07-07 11:15:51
    转自:https://www.cnblogs.com/zhsuiy/p/4822020.html一直对贝叶斯里面的似然函数...看论文的时候读到这样句话:原来只关注公式,所以带而过。再重新看这个公式前的描述,细思极恐。the likelihood func...
  • 本文原始地址:最大似然估计(Maximum likelihood estimation, 简称MLE)和最大后验概率估计(Maximum a posteriori estimation, 简称MAP)是很常用的两种参数估计方法,如果不理解这两种方法的思路,很
  • 本文为转载。 Original url: http://m.blog.csdn.net/article/details?id=49130173 Original url: ... 、先验概率、后验概率、贝叶斯公式、似然函数 ...
  • 幂法是通过矩阵特征向量来出特征种迭代法.其基本思想是:若我们某个n阶方阵A的特征和特征向量,先任取个初始向量X(0) (注:x(0)可以用A的特征向量线性表示),构造如下序列:  X(0) ,X(1) =AX(0) ,X...
  • 公式: x=(-b±(b²-4ac)^(1/2))/(2a) 当b²-4ac>0时有两个不相等的实根 当b²-4ac=0时有两个相同的实根 当b²-4ac(虚根) 注:在正式学习高数之前,对于复数只需要知道i²=-1即可 韦达定理(x1、x2为方程...
  • Matlab借助匿名函数求函数

    千次阅读 2015-12-19 19:29:34
    本人最近在研究空间关系,用匿名函数解决了函数的问题。 目的是要确定ζ与r之间的关系:sin(y)=sin(x)*(sqrt(re^2+(re+Zoh)^2-2*re*(re+Zoh)*cos(y)))/(re+Zoh); 代码如下: clear all; clc re = 6371.0...
  • 样条函数插值(Cubic spline function interpolation)

    万次阅读 多人点赞 2019-05-23 11:36:01
    样条函数插值(Cubic spline function ...区别在于,插值得到的函数能够穿过已知的点(在已知的点的函数表达式的等于已知数值,但容易出现龙格现象),拟合只求函数图形神似而不穿过已知点。 S...
  • 这是一个很常见的需求,但是很难下手,一般人的解决方案都是先随机几个数值判断或者第一次随机一个小的第二次随机一个大的。 其实如果把需求转换成数学函数你就会豁然开朗: 给定离散函数y=f(x)(x∈[100,10000],y&...
  • 、先验概率、后验概率、贝叶斯公式、 似然函数 在机器学习中,这些概念总会涉及到,但从来没有真正理解透彻他们之间的联系。下面打算好好从头捋一下这些概念,备忘。 1、先验概率 先验概率仅仅依赖于主观上的...
  • 一次就懂的 rand()函数

    万次阅读 多人点赞 2018-06-18 21:34:06
    /*rand() 函数种不需要参数,它会返回个从0到RAND_MAX(rand()函数返回的最大值,不要急嘛,下面详细会讲到的啦)的任意整数,最大值的大小通常是固定的个大整数。用法如下:int main(){ printf ("%d&...
  • 在考研备考中,参考严奶奶的教材,我也是在关于next的算法中卡了下午时间,感觉挺有意思的,把一些思考的结果整理出来,与大家一起探讨。 以下的顺序为 1、最基本的朴素算法 2、优化的KMP算法 3、应算法...
  • 选股公式函数汇总解释

    千次阅读 2008-04-05 13:16:17
    1.引用数据 AVPRICE 引用均价(在盘后对于国内三个期货交易所指结算价) ...引用X在N个周期前的例:REF(CLOSE,5);表示引用当前周期前第5个周期的收盘价 REFX(X,N) 引用N个周期后的数据。(N为大于等于1的整数)...
  • Oracle函数

    万次阅读 多人点赞 2016-05-16 17:43:09
    概述ORACLE函数系列:Oracle常见函数大全Oracle-分析函数之连续求和sum(…) over(…)Oracle-分析函数之排序rank()和dense_rank()Oracle-分析函数之排序后顺序号row_number()Oracle-分析函数之取上下行数据lag()和...
  • Excel 中用公式统计唯一的方法

    万次阅读 2008-01-16 16:08:00
    Excel 表单里储存的数据,经常会出现重复,比如员工表或客户表的城市栏,会反复出现一些城市的名字。有的时候,我们想知道有员工或客户的... 在讲用公式求唯一的技巧前,我们先要了解一下Frequency 这个函数
  • 计算矩阵最大特征

    万次阅读 2013-04-03 16:57:07
    本文所采用的是幂算法计算矩阵最大特征(只计算最大特征),具体的细节可以参考:http://blog.csdn.net/whucv/article/details/7636135 这儿只给出伪代码和源码,方便各位同学使用。 假设待计算的矩阵为A[N]...
  • 我们选择个带公式单元格把它复制粘贴到其他单元格,其他单元格的结果会自动根据公式计算。图中第个结果有公式,我们复制粘贴两个,新的结果并不是4790元,而是通过计算得到的。 复制数据后,选择粘贴,粘贴可以...
  • 、先验概率、后验概率、贝叶斯公式、 似然函数 在机器学习中,这些概念总会涉及到,但从来没有真正理解透彻他们之间的联系。下面打算好好从头捋一下这些概念,备忘。 1、先验概率 先验概率仅仅依赖于主观...
  • 首先是自己写的代码如下: // sinx.cpp : 定义控制台应用程序的入口点。...//该函数计算阶乘 double ProductFunc(double x) { double product =x; while (1!=x) { product *= (--x); } return pro
  • 高数求函数极限

    万次阅读 多人点赞 2016-11-29 22:13:30
    在做高数题的时候我们会发现很多题都离不开极限,有人说:如果高数是颗数的话,那么极限就是他的根,可见其重要性,下面总结一下极限的方法。  【知识点】  、定义:  极限是微积分中的基础概念,它指的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 119,969
精华内容 47,987
关键字:

一次函数求最大值的公式