这里为什么讲单调函数呢?因为我们马上要去学习决策树算法了。如果直接就去讲该算法,我估计很多新手会蒙圈,所以我们先在这里补习一下数学知识
单调函数的定义还是很简单的,x1>x2,如果在一个区间内都保持f(x1)>f(x2)或者f(x1)<f(x2),那我们就说在此区间他是属于单调函数了
现在我们继续延伸知识,讲讲决策树吧,我就按照我的理解来通俗的说了。决策树就是不停的按照他的特征值来分类,让每个样例都归属到属于它的子集里面去
用伪函数test表示就是
a = '所有样本'
def test():
for i in a:
if i 存在这个特征:
去除该样本
return i
else:
test()
这是不是很想我们以前学的递归分类。。。。。。。。。。。。。
当然,这里的存在这个特征,肯定是一堆特征了。我们需要的是在这一堆特征里面去寻找我们需要的熵
什么是熵?
通常,一个信源发送出什么符号是不确定的,衡量它可以根据其出现的概率来度量。概率大,出现机会多,不确定性小;反之就大。
OK,来看看这个函数吧 y=logx,我就不画图了,很明显,底数大于1,是严格增函数,底数小于1,是严格减函数
那么,我们继续来解释熵是什么吧,熵表示的就是不稳定性,在计算机里面,就要牵扯到二进制了,牵扯到比特,也就是我们所谓的0 1 10 11 100 101.。。。。。。。。。。。。。。。。。
举个例子吧,现在举行男足世界杯,决赛是中国队对巴西队(额。。。我只是无聊的YY了下而已)
中国队夺冠概率,额。。。。就当百分之1吧,巴西队夺冠概率百分之99
那么,巴西队如果夺冠,从周围的事务来看,首先,腾讯新闻,今日头条的相关信息数量假设产生100条出来
精彩的来了!中国队夺冠!信息爆炸了!100万条信息产生了,在中国,在欧洲,在非洲,在南美洲。。。。在我的计算机里我要去表示这么多信息,我需要更多的码特才行啊!
这就是熵的意义,它表示的就是信息的不稳定性
H(x)=-(0.99*log0.99+0.01+0.01*log0.01) 我需要计算机了,最后结果是:(-0.0043211)+(-0.02)=0.0243
OK,大家也看到了,这比赛没啥悬念。。。。。。GG!