您的位置:首页 > 其它

解决问题的细微方法

2016-04-08 23:27 176 查看
当我们手中的解决方法暴露出它的固有缺点时,其实我们要解决这个缺点的话不需要一下想的特别长远,不需要直接去想近乎完美的解决方案,我们只需要稍稍往前跨一步,稍稍改变现有的状况就好,然后测试观察这个新方法的效果,再寻找这个新方法的弊端,这样一步步的推进,一点点的探寻这些方法之间的细微区别,触摸到问题的本质,在这个过程中我们的思维会潜移默化地得到提升,奇妙般的解决原来看似不好解决的问题。同时这种非大跨步,非一次性的解决问题的思想反而会让我们看清思考的过程,抓住由于过于急躁、过于急功近利而忽视的许多细节,进而踏上解决问题的真正捷径。

举例来说,在最优化(Optimization)问题中有一种寻找最优解的算法叫 Hill Climbing,其主要思想是在一条函数曲线上通过比较任意一点周围邻近的数值,进而移动到这些点中数值最小的点上,不断迭代直到找到最小值。但是这种方法的最大问题在于有可能找到的是局部极小值点(local minimum),没有找到全局最小值点(global minimum)。为了解决这个问题,一种方法是反复多次使用这种算法,总会有达到最小值的情况。另一种方法是模拟退火(Simulated Annealing),重点就是当任意一点周围既有更小值的点,也有更大值的点时,它有一定的概率会跳到大值点上去,进而有可能避开hill climbing的弊端。

还有一个例子是有关统计语言模型建立的,我们认为一个句子是由很多词以一定概率组合在一起的,因此我们可以写出整个句子出现的概率,即所有词的联合概率,进一步展开成每个词条件概率的乘积。只要计算出每一个词的条件概率就可以得到整个句子的概率了。但是在计算时会发现,越往后计算条件概率的可能性就越多,无法估算。为了解决这个问题,马尔可夫想到一种偷懒但是有效的方法,即假设每一个词出现的概率只和它前面一个词有关,这样就大大简化了公式,方便计算,这种假设称为马尔科夫假设。

通过上面两个例子其实可以发现,当你面对一个看似不好解决的问题时,没必要拼命想一个高大上的方法,有时候一小点改变就会发现新大陆,进而在此基础上探寻更加深层的意义。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: