-
导言
科技是第一生产力。
信息技术作为科技领域的重要组成部分,得到了全球范围的重视和大力发展。以物联网技术为例,美国、欧盟、日本和韩国等发达国家对其都投入了大量的资金与技术研究力量[1],以实现各自的战略计划。
日新月异的信息技术变革了我们的生活方式和工作方式,给我们带来了便利,也给我们带来了挑战。物联网技术、云计算技术的兴起,伴随着大数据的涌现。对海量数据进行分析,挖掘其数据价值的需求被提到案上。
机器学习作为一门基于学习算法的、将数据转换为信息的学科,在信息技术的各大领域中均大有作为。从垃圾邮件检测且自动归入垃圾文件夹,到信件的手写邮政编码识别且信件地区归类,这些初级的应用都可体现机器学习在生活和工作中的价值。
机器学习算法有两大类,一是Supervised Learning Algorithms(监督学习算法),另一类是Unsupervised Learning Algorithms(非监督学习算法)。按照这种分类,机器学习算法的任务可相应地归为两类:一类是学习原有数据,以产生正确的预测数据;另一类是对数据集进行聚类分析。它们的应用可涉及至地震预测预报、恶性癌细胞预测、新闻信息相关类聚类、社交网络分析、计算机群组管理和天体学数据分类等。其前景应用相当地广泛和切实。 -
概述
Google的首席经济学分析师Hal Varian在2009年1月的McKinsey Quarterly上发言,未来十年的热门职业将会是数据分析师。基于现行数据的开放性、随访性,理解数据、可视化数据、处理数据、提取数据属性和性质,以获取数据其中隐含的价值,并由其数据分析中得到对事物的洞察,将是重中之重[2]。
Machine Learning(机器学习)作为一门新兴的交叉学科,涉及计算机科学、工程学和数理统计等,是一将数据转化为信息的媒介和有效手段。
Arthur Samuel于1959年曾对机器学习(Machine Learning)作了以下定义: “ (Machine Learning is the) field of study that gives computers the ability to learn without being explicitly programmed[3].”(“机器学习是一门赋予计算机以学习能力,而不必通过显式编程的领域。”)
Tom Mitchell在1998年完善该定义: “A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E[4].” (“某计算机程序能够从经验E中学习,以执行某项由性能P进行监测的任务T;它能够通过不断地从经验E中学习,兼以监测性能P的结果,来改善其任务T的表现。”)
对于上述定义,我们可以作以下解释。机器学习算法是一种反馈算法。它通过学习输入经验E,监测以性能P,执行某项目的任务T。该机器学习学习算法能够通过不断地学习输入经验E,兼以性能P监测,进而完善和改善其任务T的表现。
监督型学习算法是一个负反馈算法。它通过学习现实数据,以代价函数为监测性能度量,进行迭代优化计算;以正确度为学习任务的表现,训练输出优化的数据属性值。
机器学习算法的本质是学习数据、训练得出数据的属性的假设模型。在现实的工作、生活中,机器学习的基本任务为事物的分类或预测。在分类或预测的基础上,再进行随后的识别或决策行动。 -
构建问题目标的机器学习算法
本章节将通过介绍一个简单的机器学习算法实验《手写数字图像识别》来介绍机器学习算法。构建问题目标的机器学习算法的一般流程为:确定问题目标,确定任务,收集关联问题目标的数据,确定优化计算算法,构建问题目标的假设模型。机器学习算法实验《手写数字图像识别》可先作如下域的定义。
问题目标:手写数字0~9;
任务:识别手写数字0~9;
训练集:5000张像素大小为20x20的手写数字0~9的图像;
优化计算算法:Gradient Descent算法;
问题目标的假设模型:
按照4:1的比例将训练集分为Training数据集和Testing数据集,则Training数据集中的手写数字图像有4000张,Testing数据集中的手写数字图像有1000张。
Training数据集中的数据将用作训练问题目标的假设模型;Testing数据集中的数据将用作评估训练所得的问题目标的假设模型。
该《手写数字图像识别》实验在GNU Octave中运行。其机器学习算法使用神经网络FP和BP,以及Gradient Descent算法进行问题目标的假设模型训练。运行结果如图2.2.2和图2.2.3所示。


该机器学习算方法以Training数据集中的数据对问题目标的假设模型进行训练,以得到问题目标的假设模型H(x)。Gradient Descent算法的使用将在随后的章节进行论述。下图展示训练该模型时使用的神经网络结构。
我们首先使用Forward Propagation算法进行初步的问题目标的假设模型H(x)的构建;然后使用Backward Propagation算法进行神经网络架构的属性参数的训练;训练时,结合以Gradient Descent算法进行迭代优化计算,以得到优化的问题目标的假设模型H(x)。实验结果如图9.3.2和图9.3.3所示。
根据实验结果,问题目标的假设模型H(x)对Training数据集中的数据的正确识别率为98.525%;问题目标的代价函数值为0.4086805。使用训练所得的问题目标的假设模型H(x)对Testing数据集中的数据进行识别。得到的正确识别率为92.1%。
现在,在Training数据集中随机选取100张手写数字图像进行验证实验。据实验结果显示,训练所得的问题目标的假设模型对该100张手写数字图像的正确识别率为98%。其结果符合上述的训练所得的问题目标的假设模型对Training数据集中的数据的正确识别率98.525%。
- 构建事物的属性的假设模型

对于现实中的问题,我们的一般解决方案为:确定目标,收集关联目标的输入数据,构建学习算法以学习目标的属性,调试所构建的目标的属性的假设模型,输出最优的目标的属性的假设模型。
据上章节介绍,机器学习算法的本质是学习数据、训练得出数据的属性的假设模型。它的基本应用为分类或预测。因此,在应用机器学习这门学科解决现实问题前,我们首要的任务是确定该现实问题的目标,以及收集关联该现实问题的数据。紧接着,以所收集的数据构成学习算法的训练集,以所收集的数据的类型和问题目标的数据的类型,和问题目标的类型,来确定使用何种学习算法。然后,使用训练集,通过学习算法,训练得出目标的属性的假设模型。最后,进行目标的属性的假设模型调试,以适应通用数据集,得到目标需求。
在构建问题目标的属性的假设模型时,通用的作法是:首先,构建一个粗糙的假设模型;然后,根据假设模型的性能评价,进行属性类型优化拣选;最后,调试该假设模型,引入属性调整因子到训练算法中,以适应环境等噪声影响。根据比对调试结果,选择最优的目标的属性的假设模型。
- 训练问题目标的假设模型的流程

在构建问题目标的属性的假设模型时,先是构建一个粗糙的假设模型。然后,通过调试方法和数理统计方法优化拣选所需的目标的属性类型;最后,通过学习算法训练和调试方式,得到较优的问题目标的假设模型。其中,该假设模型的性能衡量标准为问题目标的识别或分类的正确度和代价值。
给定数据训练集和优化拣选的问题目标的属性类型,在下面,我们将讨论假设模型的训练过程。
根据优化拣选的问题目标的属性类型,我们可以构建问题目标的假设模型,其中,以Gradient Descent作为代价函数中参值的优化算法。
问题目标的模型表达为:
1.Hypothesis h(theta)
2.Cost Function J(theta)
3. Gradient Descent
(for j =0, 1, 2, ……, n), 在训练问题目标的假设模型h(theta)时,训练的目标为得到代表数据属性的参值Theta(theta0, theta1, …, thetaN)。代价函数J(theta)为衡量假设模型与现实数据模型的相似度的标准;代价函数值越小,参与训练的假设模型与参与训练的现实数据模型越相近。我们通过Gradient Descent算法来计算minJ(theta)在取得时的Theta(theta0, theta1, …, thetaN)值。Gradient Descent算法是一种迭代算法。通过迭代计算Gradient Descent的更值公式
,
我们可以得到取得minJ(theta)时的Theta(theta0, theta1, …, thetaN)值,最终得到优化的问题目标的假设模型h(theta)。值得注意的是,Gradient Descent算法的更值公式中的参值alpha是由另外的优化算法计算而得。在这里,我们不对参值alpha的计算方法作讨论。
因此,在给定问题目标的属性类型条件下,我们对其假设模型的训练流程如图4.1所示,其中计算minJ(theta)的优化算法为Gradient Descent算法。
来源:CSDN
作者:Emma.Z
链接:https://blog.csdn.net/weixin_43553672/article/details/104515008



