什么是机器学习
- Arthur Samuel 认为机器学习是这样一个领域,它赋予机器学习的能力,(这种学习能力)不是通过显著式编程获得的。
计算机成功完成某项指令,其收益函数为正,其他情况收益函数为负。我们规定了行为和收益函数后,让计算机自己去找最大化收益函数。非显著式编程就是让计算机通过数据和经验自动学习,完成任务。 - Tom Mitshell 认为一个计算机程序被称为可以学习,指它能够针对某个任务T和某个指标P,从经验E中学习。这种学习的特点是,它在任务T上的被指标P所衡量的性能,会随着经验E的增加而提高。
任务T=人为编写程序,指标P=识别率等,经验E=训练样本。
任务分类
-
监督学习(Supervised Learning) 经验完全是由人工来搜集起来输入计算机的,并为数据打标签。如垃圾邮件分类(垃圾邮件和非垃圾邮件都要标识),此时经验E=数据+标签。 按照训练数据是否存在标签可分为 传统的监督学习(Traditional Supervised Learning) :每一个训练数据都有对应的标签。常用算法:支持向量机、人工神经网络、深度神经网络 半监督学习(Semi-supervised learning, SSL):一半有标签,一半没有。 非监督学习(Unsupervised Learning):每一个训练数据都没有标签。(假设同一类在空间上的距离更近 -->获取样本空间信息 -->设计算法聚集为两类。) 常用算法:聚类、EM算法、主成分分析 按标签是连续的还是离散的可分为 分类问题 和 回归问题(预测)。 -
强化学习(Reinforcement Learning, RL) 经验是由计算机与环境互动获得的。计算机产生行为和行为结果,程序定义这些行为的收益函数,对行为进行奖励和惩罚。设计算法让计算机自动改变行为模式去最大化收益函数。如汽车自动驾驶、计算机下棋等。
算法过程
很多人认为,只要搜集足够多的数据,扔进网上随便的一个开源模型中,就可能获得很好的结果,这在大部分情况下是不正确的。
我们首先要自己对数据有认识,才可能设计出好的算法。 认真观察样本的特点,然后决定自己要提取哪些特征。
1. 特征提取(Feature Extraction) 通过训练样本获得,对机器学习任务有帮助的多维数据。
2. 特征选择(Feature Selection) 对提取的特征进行取舍
3. 构建算法 假设在特征空间上距离接近的样本,他们属于同一个类别的概率会更高。根据选择的特征构建算法在特征空间上区分数据。
|