计算机科学所处理的内容大部分是完全确定且必然的,程序员写程序时是假定CPU将完美执行每条指令,硬件错误是非常罕见并在编程阶段几乎不予考虑。
深度学习通常是处理一些不确定的随机的量,像我们初始化的时候,经常会把权值初始化为随机值,有的实验中是这样做的。
但机器学习中几乎处处都会使用概率,例如:
评估一种疾病的爆发率
预测货币交易在某一时间点的市值
理解一句话中每个词语间的关联含义(自然语言像智能翻译)
判断一个交通标志是否是限速(自动驾驶)
判断一封邮件是否为垃圾邮件(朴素贝叶斯)
针对同类的病人研究其相近的DNA端的序列段
生成与现实中相近的包与鞋子的搭配
几乎所有的活动都需要在不确定性存在时进行推理,除了那些被定义为真的数学声明,我们很难认定某个命题是千真万确的或者确保某一件是一定会发生。
不确定性有三种可能来源:
1、被建模系统内在它存在一种随机性,比如纸牌游戏,开局时我们都是假设纸牌被洗为随机序列;
2、不完全观测,例如砸金蛋的游戏,设置金蛋的人可以知道哪个金蛋里有大奖,但砸金蛋人的角度大奖的概率是不确定的;
3、不完全建模,例如三个杯子里一个硬币的游戏,将一个硬币放在中间的杯子中,然后随意转换杯子的相互位置,如果不允许观察转换过程,则无法良好预测硬币最后在哪边的杯子中。
比如说简单的原则,多数鸟都会飞,这个描述就很简单,而正式的规则是除了那些非常小的还没有学会飞翔的幼鸟,以及因为生病或者受伤失去了飞翔能力的鸟,还有不会飞的鸟类包括石花鸟鸵鸟等等,所以还是多数鸟儿都会飞这样的定义