2.6 KiB
Handscripts when studing Machine Learning
什么是机器学习?
注意三个点,即E, T, P。
监督学习与无监督学习之间的区别?
监督学习是指对于输入的数据,它所对应的输出是已知的。监督学习可以分为两类,即回归问题与分类问题,它们的区别在于输出是否是连续的。具体的例子有房价预测问题(回归问题),判断肿瘤是否是良性(分类问题)。
无监督学习的输入数据之间没有任何区别,每个输入数据都是等价的,并没有事先表明它的状态或者分类信息(比如房价或者恶性肿瘤),而是由机器来分辨不同数据的属性。典型的例子有聚类问题(clustering)以及鸡尾酒宴算法。
关于深度学习算法的一些思考。
人工神经元算法的设计乃是线性内核与非线性激活的叠加。根据线性内核的不同,可以分为DNN,CNN,RNN,它们分别适用于不同的场景。但是这种建模方法显然是不准确的,片面的,因为实际中的神经元对于各种场合的问题都可以很好的适用。这样,应该存在一种更好的方式来模拟神经元。
人工神经网络的精髓都在于对大脑中的神经元进行模拟。但是我在想神经元并非一定是解决问题的最高效的方法,虽然神经元经过了几十亿年的进化与自然选择,但它未必是解决现实问题的最优解,可能只是一个局部最优而已,alphaGo的例子就说明了这一点——人类数千年形成的围棋算法实际上只是局部最优解。
另一方面,让计算机模拟人脑也未必就是最好的方法。因此我在想,有没有可能跳出现有神经元的桎梏,开创出一个更优化的算法,这样说不定还可以反过来对人类的神经元进行改造。
梯度下降法存在的问题。
首先是学习率(learning rate)的选择。如果$\alpha$太小,则需要多次迭代才能找到局部最优解,需要较长的学习时间;而如果$\alpha$太大,则可能直越过最低点,导致无法收敛,甚至发散。
此外,显而易见的是,梯度下降法只能找到局部最优解,而非全局最优解。实际上,梯度下降法找到的解取决于初始位置的选择。然而,对于线性回归(linear regression)问题,则不存在这个问题,因为线性回归问题的代价函数是一个凸函数(convex function),即它只有一个极值点,该极值点就是它的全局最优解,因此使用梯度下降算法总是可以得到唯一的最优解。