注:但凡文章中出现“我认为”的话语,都代表个人观点,不是已经被证明是正确的观点
机器学习的目的:解放人类的重复性思考劳动,实现自动化
具体流程:
- 输入要解决的任务,即输入和输出(注:输入和输出是必须的)
- 让机器根据大量的学习案例,来学习出这个任务的解决办法
神经网络的解决办法:输入和输出具有一定的潜在的联系,我们通过基于神经网络的算法不断地去拟合这种联系
如何拟合:利用某种思考方式,发现任务的规律,并学习这种规律
为什么这么说,先谈谈人自己是如何实现任务的
认识通过思考完成任务的,包括
- 逻辑思考(人能描述的出来如何实现任务)例:3*4=12,
- 经验思考(人描述不出来)例:照片上的人是王冰冰
不过经验思考真的是经验思考吗,如何判断照片上的人呢,他的眼睛,他的脸部,他的五官,头发,但是我们如何描述这些特征呢?她有一双迷人的眼睛?这显然不符合唯一性,且不好判断。能解释这种现象的是大脑的机制,即大脑能将具有某个区块的模式记下,所以我认为经验思考终究是可以被描述出来变成逻辑思考的
拟合就是模拟思考的过程,例如一种思考方式为:当输入中出现模式a时输出为b(当然真实情况要比这个复杂得多)。
这种思考方式是使用神经网络的数学模型表达出来的,这种模型使得思考的具体内容是可以被学习出来的,例如前文中的a和b
基于规则的方法和深度学习方法的区别?
个人观点,两者的本质是一样的,都是规则,但有如下区别
- 深度学习的规则是学习出来的,规则方法是人根据经验事先建立的(人能描述出来的,具体的)
- 深度学习学到的规则是海量的,人力只能构建几个比较显而易见的规则,或者说深度学习能将比较笼统的规则精确化(数字化)
一个好的模型具有如下特征:
- 思考方式与任务的解决模式很契合,可以通过计算test中的PRF来检验好坏
- 思考方式的具体内容的可学习性很好,一般能在可接受的时间内完成完成训练
- 其他,在同样效果下,深度学习学到的规则越少拟合性越好,可以看训练的参数数量来检验
这里出现了一个问题:
对于第一个指标,模型为什么好,或者模型为什么不好,这可以归为模型的可解释性问题
个人认为,一个模型个的可解释性可以如下表达:模型能够学习到某种模式,且这个模式可以适用在真实的数据中
所以对于效果好的模型可以这么解释,但对于效果不好的模型,他可能是由两个原因造成的:
- 模型能够拟合某种数据模式,但这个模式不适应真实数据
- 模型不能拟合某种数据模式
而这个原因无法直接通过test的效果观察得到,但知道这个原因对模型的改进很重要,个人认为需要是那种原因导致的
进而产生如下问题
真实的数据可以作为检验模型好坏的标准吗?(真实的数据即为人思考出来的数据)
我觉得我们无法判断人工数据质量的好坏,我们唯一知道的信息就是他是人工的,他仅能代表模型真实的性能
个人认为验证模型好坏的只有基于规则的数据,这样能够把握模型的可控性,避免玄学的出现
例如,提出一个模型,这个模型能够抓住一些比较有用的特征,那我们就需要用规则去造这些特征,而不是直接上真实的例子,这样能直接反应模型的好坏
因此本人提出了一种个方法:提出模型–模式检验–真实数据的检验
步骤如下:
- 提出模型,针对一定的模式
- 基于这个模式的规则产生大量样本,让该模型训练,测试这些样本,来检测模型在该模式下的好坏,这些样本会在这个模式下产生多种规则,与类和对象的关系类似
- 模型在第二步的前提下对真实样本进行
所以真实的数据最终是为了评判模型的性能,与好坏无关