1.1简要叙述训练数据集和测试数据集的含义。
答:
训练集用来训练模型;
测试集用来评估模型和预测数据。
有时还会抽出验证集(但不是必须),用来帮助调整模型结构和超参数。
1.2 一个初学机器学习的朋友对房价进行预测。他在一个N=1000个房价数据的数据集上匹配了一个有533个参数的模型,该模型能解释测试数据集上99%的变化,请问该模型能很好地预测来年的房价吗?简要说明原因。
答:
我觉得不能。
训练集样本个数太少,又选取了模型参数过多的复杂模型,很容易发生过拟合,从而可能在预测来年房价时出现较大偏差。
1.3 请简要说说一个完整机器学习项目的流程。
答:从网络上查询到个人很认同的项目流程如下:
1.抽象成数学问题
确定是一个分类问题、回归问题还是聚类问题,明确可以获得什么样的数据。
2.获取数据
数据要具有代表性,对数据的量级也要有一个评估,多少样本,多少特征,对内存的消耗,考虑内存是否能放得下,如果放不下考虑降维或者改进算法,如果数据量太大,考虑分布式。
3.特征预处理和特征选择
包括数据清洗,归一化、缺失值处理、去除共线性等,另外筛选出显著特征、反复理解业务,有时候数据特征选择的好,依靠简单的算法也能得出良好稳定的结果,需要进行特征有效性分析,如相关系数、卡方检验、平均互信息、条件熵、后验概率、逻辑回归权重等方法。
4.训练模型与调优
现在很多算法都已经封装成黑箱供人使用,正则考察的是调参的技术,需要对算法额原理深入理解,能发现问题的症结,来提出良好的调优方案。
5.模型诊断
确定调优的方向,如欠拟合 过拟合这种情况,一般过拟合是增加数据量和降低模型复杂度的思路,欠拟合是增加特征,增加模型复杂度。
6.模型融合
一般提升模型主要在前期的数据清洗和预处理部分,以及后面的模型融合下功夫,有时候会通过在已有预训练模型上进行再融合和调参节省时间,并能取得不错的效果。
7.上线运行
模型在线上运行效果直接决定模型的成败,运行的速度、资源消耗成都、稳定性等是否可以接受。
1.4试简述机器学习在互联网搜索的哪些环节起什么作用?
答:下面是我手机上一个典型的互联网搜索引擎——“百度”的手机APP的截图。
1.首先可以看到,百度在首页给我推送了许多文章。这是利用对用户行为进行综合分析(如历史搜索数据、点击模式、身份信息等进行结构化信息整合)后的个性化推送。
2.同时,百度也支持直接进行图片的搜索。这是基于内容的图像搜索的实例。
3.最下方,百度还支持语音输入,这离不开自然语言处理、知识图谱及神经网络等技术。
4.搜索引擎需要使用网络爬虫爬取全网信息,而许多网站会有设置反爬虫功能,可以用机器学习来破解反爬虫, 比如识别简单的验证码。
5.同时,我们搜索是可以设置筛选条件,这需要数据分类算法。
6.在对搜索结果排序时,需要提高搜索质量,这需要使用神经网络、决策树等为基础,比如说Google的“RankBrain”网页排名算法,同时,还需要清除噪声,比如说一些针对搜索引擎网页排名的作弊,这也需要机器学习。
7.同时,我们在搜索时经常能看到“搜索广告”。
它并不是简单地将出价高的广告放在前面,而是预测到哪个广告可能被点击,综合出价和点击率(Click Through Rate,CTR)等因素决定广告的投放,比如说百度的“凤巢系统”。