文章目录
机器学习介绍
机器学习中两个重要内容————数据、模型
机器学习的分类
有监督学习(supervised learning)
通过大量已知的输入和输出相配对的数据,让计算机从中学习出规律,从而能针对一个新的输入做出合理的输出预测。
回归学习:例——我们有大量不同特征(面积、地理位置、朝向、开发商等)的房子的价格数据,通过学习这些数据,预测一个已知特征的房子价格。即,输出结果是一个具体的数值,它的预测模型是一个连续的函数。
分类学习:例——有大量的邮件,每个邮件都已经标记是否是垃圾邮件,通过学习这些已标记的邮件数据,最后得出一个模型,这个模型对新邮件,能准确地判断出该邮件是否是垃圾邮件。即,输出结果是离散的,要么输出1,要么输出0。
无监督学习(unsupervised learning)
通过学习大量的无标记的数据,去分析出数据本身的内在特点和结构。
聚类:在分析数据之前是不知道有哪些类别的,需要利用算法从数据里挖掘出数据的特点和结构。与分类问题不同,分类问题是在已知的答案中选一个,聚类问题的答案是未知的。
机器学习应用开发的典型步骤
以一个例子来介绍开发步骤。
假设,要开发一个房价评估系统,系统地目标是对一个一直特征的房子价格进行评估预测。
数据采集与标记
训练样本或数据集:采集大量不同特征的房子和所对应的价格信息(从多途径获取)
特征:房子的面积、地理位置、朝向等被称为特征。在数据采集阶段,需要收集尽量多的特征。特征越全,数据越多,训练出来的模型越准确。
数据标记:有人工标记,也有自动标记。人工标记————逐个从房产中介那打听房子的实际成交价格;自动标记————通过分析数据,找出房产评估中心给的房子评估价格和真实成交价格的匹配关系,然后直接算出来。
数据清洗
对于这个案例:假设采集的数据中对于房子面积的计算,有的按平方米,也有按平方英尺的,这时需要对面积单位进行统一。
作用:包括去掉重复的数据及噪声数据,让数据具备结构化特征,方便作为机器学习算法中的输入。
特征选择
对于这个案例:假设采集到的了100个房子的特征,通过逐个分析这些特征,最终选择了30个特征作为输入。
方法:人工选择方法————对逐个特征进行人员分析,然后选择合适的特征集合。通过模型自动完成————PAC算法就是该种情况。
模型选择
- 选择哪个模型,和问题领域、数据量大小、训练时长、模型的准确度等多方面有关。
对于这个案例:房价评估系统是属于有监督学习的回归学习类型,可以选择最简单的线性方程来模拟。
模型训练与测试
- 把数据集分成训练数据集和测试数据集,一般按照8:2或7:3来划分。用训练数据集来训练模型,训练出参数后再使用测试数据集来测试模型的准确度。
- 模型的准确性必须要用模型“没见过”的数据来测试,而不能用那些用来训练这个模型的数据来测试。
- 理论上更合理的数据集划分方案是分成3个——训练数据集、测试数据集、交叉验证数据集。
模型性能评估和优化
性能评估包括很多方面,具体如下:
- 训练时长:需要花多长时间来训练这个模型。
- 判断数据集大小:一般,对于复杂特征的系统,训练数据集越大越好。
- 判断模型准确性:对一个新的数据能否准确地进行预测。
- 判断模型是否满足应用场景的性能要求:不满足该要求,就需要优化,然后继续对模型进行训练和评估,或者更换其他模型。
模型使用
- 训练出来的模型可以把参数保存起来,下次使用时直接加载即可。
继续对模型进行训练和评估,或者更换其他模型。
模型使用
- 训练出来的模型可以把参数保存起来,下次使用时直接加载即可。
- 模型训练需要的计算量很大,但真正使用模型时,其计算量是比较少的,一般直接把新样本作为输入,然后调用模型即可得出预测结果。