版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章1.机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。2.在机器学习中,根据任务的不同,可以分为监督学习、无监督学习、半监督学习和增强学习。3.Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。4.机器学习最近的几种应用主要表现在哪几方面?答:机器学习最近的几种应用主要表现在以下4方面:(1)学习识别人类的讲话(2)学习驾驶车辆(3)学习分类新的天文结构(4)学习以世界级的水平对弈西洋双陆棋5.机器学习方法区分为哪以下六类?答:机器学习方法区分为以下六类:(1)经验性归纳学习(2)分析学习(3)类比学习(4)遗传算法(5)联接学习(6)增强学习6.Python的具有哪些优点?答:Python的优点主要有:●简单●易学●速度快●免费、开源●高层语言●可移植性●解释性第2章近邻法1.k近邻的三要素是什么?答:近邻法的三要素:k值选择、距离度量和分类决策规则(取均值的决策规则)。2.近邻法的学习有一个明显的特点是什么?答:近邻法的学习有一个明显的特点:它没有显式的训练过程。它在训练阶段仅仅将样本保存起来,训练时间开销为零,等到收到测试样本后再进行处理。3.kd的定义。答:kd树(k-dimensiontree,是指特征向量的维数),是一种存储维空间中数据的平衡二叉树型结构,主要用于范围搜索和最近邻搜索。4.如果k值选择较小时,会有什么影响?答:如果值较小,则相当于用较小的邻域中的训练实例进行预测,“学习”的近似误差减小。5.已知标签labels=['A','B','C','D'],对应的数据组为([[1.0,1.1],[2.0,2.0],[0,0],[4.1,5.1]]),利用kNN对其进行近邻分类。fromnumpyimport*importoperatordefcreateDataSet():group=array([[1.0,1.1],[2.0,2.0],[0,0],[4.1,5.1]])labels=['A','B','C','D']returngroup,labelsdefclassify0(inX,dataSet,labels,k):""":paraminX:用于分类的输出向量:paramdataSet:输入的样本集:paramlabels:标签向量:paramk:用于选择最近邻居的树目:return:"""dataSetsize=dataSet.shape[0]#得到数据集的行数diffMat=tile(inX,(dataSetsize,1))-dataSet#tile生成和训练样本对应的矩阵,并与训练样本求差sqDiffMat=diffMat**2sqDistances=sqDiffMat.sum(axis=1)#将矩阵的每一行相加distances=sqDistances**0.5sortedDistIndicies=distances.argsort()#从小到大排序返回对应的索引位置classCount={}foriinrange(k):voteIlabel=labels[sortedDistIndicies[i]]#找到该样本的类型classCount[voteIlabel]=classCount.get(voteIlabel,0)+1#在字典中将该类型加一sortedClassCount=sorted(classCount.items(),key=operator.itemgetter(1),reverse=True)#reverse=True代表降序returnsortedClassCount[0][0]#排序并返回出现最多的那个类型#测试group,labels=kNN.createDataSet()print(kNN.classify0([0,0],group,labels,3))print(kNN.classify0([1,2],group,labels,3))print(kNN.classify0([3,3],group,labels,3))print(kNN.classify0([5,5],group,labels,3))运行程序,输出为:CABD第3章数据降维1.数据降维,一方面可以解决“维数灾难”,缓解“信息丰富、知识贫乏”现状,降低复杂度;另一方面可以更好地认识和理解数据。2.根据是否考虑和利用数据的监督信息可以划分为无监督降维、有监督降维和半监督降维。3.缓解维度灾难的一个重要途径就是什么?答:降维。4.什么是PCA?答:PCA(PrincipalComponentAnalysis,PCA)主成分分析是一种最常用的无监督降维方法,通过降维技术把多个变量化为少数几个主成分(综合变量)的统计分析方法。5.PCA降维的准则有几个?分别是什么?答:PCA降维的准则有以下两个:●最近重构性●最大可分性:第4章分类算法1.分类算法是典型的监督学习,其训练样本中包含样本的特征和标签信息。2.在机器学习领域,SVM是一个有监督的学习模型,通常用来进行模式识别、分类以及回归分析。3.梯度下降法的含义是什么?答:梯度下降法的含义是通过当前的梯度方向寻找到新的迭代点,并从当前点移动到新的迭代点继续寻找新的迭代点,直到找到最优解。4.什么是集成学习?答:集成学习是指将多种学习算法,通过适当的形式组合起来完成同一个任务。5.在使用梯度下降时,需要进行调优。哪些地方需要调优呢?答:需要调优的方面主要有:(1)算法的步长选择(2)算法参数的初始值选择(3)归一化6.假如我们得到样本(1,1),(2,2),(3,3),由这三个样本可以得到函数为y=1×x。此时损失函数为0,而机器是不知道的,请用利用Python进行训练。importnumpyasnpimportmatplotlib.pyplotaspltx=np.arange(-5,5,0.001)y=(((x-1)*(x-1)+(x*2-2)*(x*2-2)+(x*3-3)*(x*3-3))*1/6.0)plt.plot(x,y)#plt.show()
#显示图形
defsum(x):
return((x*1-1)*1+(x*2-2)*2+(x*3-3)*3)deffun(x):
return((1/3.0)*sum(x))old=0new=5step=0.01pre=0.00000001
defsrc_fun(x):
print(((x-1)*(x-1)+(x*2-2)*(x*2-2)+(x*3-3)*(x*3-3))*1/6.0)
whileabs(new-old)>pre:
old=new
#src_fun(old)
#输出每次迭代的损失值
new=new-step*fun(old)
print(new)print(src_fun(new))第5章回归分析1.BFGS算法是使用较多的一种拟牛顿法,是由Broyden、Fletcher、GoldFarb和Shanno四人分别提出的,故称为BFGS校正。2.牛顿法最突出的优点是收敛速度快,具有局部二阶收敛性,但是,基本牛顿法初始点需要足够“靠近”极小点,否则,有可能导致算法不收敛,此时就引入了全局牛顿法。3.岭回归和Lasso回归都属于正则化的特征选择方法,对于处理较为复杂的数据问题通常选用这两种方法。4.典型的回归问题有哪些?答:典型的回归问题主要有:①根据人的身高、性别和体重等信息预测其鞋子的大小;②根据房屋的面积、卧室的数量预测房屋的价格等。5.利用Python编写代码实现经典线性回归模型。#先导入python统计分析包“Statsmodels”和数组Numpy模块importnumpyasnpimportstatsmodels.apiassmimportmatplotlib.pyplotaspltfromstatsmodels.sandbox.regression.predstdimportwls_prediction_std#模拟一组数据,假设模型符合以下条件:
Y=1+0.6Xnsample=200x=np.linspace(0.1,5.0,200)beta=np.array([1,0.6])e=np.random.normal(size=nsample)#根据上述我们设定的回归直线模型形式,我们需要在模拟数据中添加一个截距项X=sm.add_constant(X)y=np.dot(X,beta)+e#模型参数估计和拟合model=sm.OLS(y,X)results=model.fit()print(results.summary())第6章聚类算法1.K-means算法,也被称为K-平均或K-均值算法,是一种方法使用的聚类算法。2.MeanShift算法在聚类、图像平滑、分割和视频跟踪等方面有广泛的应用。3.聚类的作用是什么?答:聚类的作用是:●作为一种探索性分析方法,用来分析数据的内在特点,寻找数据的分布规律;●作为分类的处理过程,并不直接解决数据分析,首先对需要分类的数据进行聚类,然后对聚类出的结果的每一个簇上,进行分类,实现数据的预处理。4.DBSCAN的优点主要表现在几方面?答:DBSCAN的优点主要有:(1)可以对任意形状的稠密数据集进行聚类,相对的,K-means之类的聚类算法一般只适用于凸数据集。(2)可以在聚类的同时发现异常点,对数据集中的异常点不敏感。(3)聚类结果没有偏倚,相对的,K-means之类的聚类算法初始值对聚类结果有很大影响。5.在机器学习算法中使用的距离函数主要有哪几种?答:在机器学习算法中使用的距离函数主要有:●欧氏距离●曼哈顿距离●切比雪夫距离●闵可夫斯基距离6.闵氏距离的缺点主要有哪几个点?答:闵氏距离的缺点主要有两个:(1)将各个分量的量纲(scale),也就是“单位”当作相同的看待了。(2)没有考虑各个分量的分布(期望,方差等)可能是不同的。7.利用Python实现SpectralClustering算法函数。fromsklearn.datasets.samples_generatorimportmake_blobsfromsklearn.clusterimportspectral_clusteringimportnumpyasnpimportmatplotlib.pyplotaspltfromsklearnimportmetricsfromitertoolsimportcycle##python自带的迭代器模块##产生随机数据的中心centers=[[1,1],[-1,-1],[1,-1]]##产生的数据个数n_samples=3000##生产数据X,lables_true=make_blobs(n_samples=n_samples,centers=centers,cluster_std=0.6,random_state=0)##变换成矩阵,输入必须是对称矩阵metrics_metrix=(-1*metrics.pairwise.pairwise_distances(X)).astype(32)metrics_metrix+=-1*metrics_metrix.min()##设置谱聚类函数n_clusters_=4lables=spectral_clustering(metrics_metrix,n_clusters=n_clusters_)##绘图plt.figure(1)plt.clf()colors=cycle('bgrcmykbgrcmykbgrcmykbgrcmyk')fork,colinzip(range(n_clusters_),colors):##根据lables中的值是否等于k,重新组成一个True、False的数组my_members=lables==k##X[my_members,0]取出my_members对应位置为True的值的横坐标plt.plot(X[my_members,0],X[my_members,1],col+'.')plt.title('Estimatednumberofclusters:%d'%n_clusters_)plt.show()第7章神经网络1.原始形式和对偶形式的选择是根据什么?答:原始形式和对偶形式的选择可以根据以下两点:●在向量维数(特征数)过高时,计算内积非常耗时,应选择对偶形式算法加速。●在向量个数(样本数)过多时,每次计算累计和就没有必要,应选择原始算法。2.多层前馈神经网络有哪些特点?答:多层前馈神经网络有以下特点:●隐含层和输出层神经元都是拥有激活函数的功能神经元;●输入层接收外界输入信号,不进行激活函数处理;●最终结果由输出层神经元给出。3.BP算法的基本思想是:学习过程由信号的与误差的两个过程组成。4.完全内插存在一些问题,主要表现在哪些方面?答:(1)插值曲面必须经过所有样本点,当样本中包含噪声时,神经网络将拟合出一个错误的曲面,从而使泛化能力下降。(2)基函数个数等于训练样本数目,当训练样本数远远大于物理过程中固有的自由度时,问题就称为超定的,插值矩阵求逆时可能导致不稳定。5.已知数组([3,3],[4,3],[1,1]),用Python代码实现感知机,加深对感知机的理解。importnumpyasnpdata=np.array([[3,3],[4,3],[1,1]])label=np.array([1,1,-1])classpreceptron(object):def__init__(self,data,label,l=1):self.a=np.zeros([len(data),1])self.b=0self.l=1self.count=0self.data=dataself.label=labeldefmodel(self):gram_matrix=self.__get_gram_matrix(self.data)flag=Trueindex=0whileflag:index+=1i=index%len(self.data)self.__updata_wb(gram_matrix,self.label,i)ifself.count==len(data):flag=Falsereturnnp.sum(self.a*self.data,axis=0),self.bdef__get_gram_matrix(self,data):returnnp.matmul(data,np.transpose(data))def__updata_wb(self,gram_matrix,label,i):sum=0forjinrange(len(self.a)):sum+=self.a[j]*label[j]*gram_matrix[j][i]iflabel[i]*(sum+self.b)<=0:self.a[i]+=self.lself.b+=label[i]self.count=0returnself.__updata_wb(gram_matrix,label,i)else:self.count+=1returnw,b=preceptron(data,label).model()print('W%s,\nb%s.\n'%(w,b))6.BP神经网络Python实现异或问题。importmatplotlibasmplimportnumpyasnpimportmatplotlib.pyplotasplt#BP神经网络实现异或问题X=np.array([[1,0,0],[1,0,1],[1,1,0],[1,1,1]])#输入层3个节点,隐含层4个节点,所以需要3*4个权值V=np.random.random((3,4))*2-1#权值的取值范围为-1~1W=np.random.random((4,1))*2-1#权值的取值范围为-1~1print(V)print(W)Y=np.array([[0,1,1,0]])lr=0.11#学习率n=0#计算迭代次数O=0#神经网络输出#定义sigmoid函数defsigmoid(x):return1/(1+np.exp(-x))#sigmoid的导数defdsigmoid(x):returnx*(1-x)defupdate():globalX,Y,W,V,lrL1=sigmoid(np.dot(X,V))#隐含层的输出,即输入层的X矩阵和输入层权值V相乘L2=sigmoid(np.dot(L1,W))#输出层的输出L2_delta=(Y.T-L2)*dsigmoid(L2)L1_delta=L2_delta.dot(W.T)*dsigmoid(L1)W_C=lr*L1.T.dot(L2_delta)V_C=lr*X.T.dot(L1_delta)W=W+W_CV=V+V_Cforiinrange(20000):update()if(i%500==0):L1=sigmoid(np.dot(X,V))#隐含层的输出,即输入层的X矩阵和输入层权值V相乘L2=sigmoid(np.dot(L1,W))#输出层的输出print('Error:',np.mean(np.abs(Y.T-L2)))L1=sigmoid(np.dot(X,V))#隐含层的输出,即输入层的X矩阵和输入层权值V相乘L2=sigmoid(np.dot(L1,W))#输出层的输出print(L2)defjudge(x):if(x>=0.5):return1else:return0foriinmap(judge,L2):print(i)第8章推荐算法1.RS系统的出现被称为连接用户与信息的桥梁,一方面帮助用户从海量数据中找到感兴趣的信息,另一方面将有价值的信息传递给潜在的用户。2.本章主要介绍四种相似性的度量方法,分别为:欧氏距离、欧几里得、皮尔逊相关系数和余弦相似度。3.协同过滤算法的主要有几个步骤?分别是什么?答:协同过滤算法的主要3个步骤,分别为:(1)用户评分。(2)寻找最近邻居。(3)推荐。4.PersonalRank算法是什么?答:PersonalRank算法是计算图中节点相对于某个节点的重要性的算法,利用PersonalRank算法可以计算所有其他节点相对于用户(user)节点的重要性,从而实现为用户(user)推荐。5.分别对下面两个字符串,进行相似度计算和距离算法。str1="未来资金还款来源主要包括上市公司分红"str2="未来还款资金来源主要包括个人日常收入"importdifflibimportLevenshteinstr1="未来资金还款来源主要包括上市公司分红"str2="未来还款资金来源主要包括个人日常收入"#1.difflibseq=difflib.SequenceMatcher(None,str1,str2)ratio=seq.ratio()print('difflibsimilarity1:',ratio)#返回的结果超过0.6就算很相似。目前做近义词词典就是借助相似度自动化来实现。#difflib去掉列表中不需要比较的字符seq=difflib.SequenceMatcher(lambdax:xin'主要',str1,str2)ratio=seq.ratio()print('difflibsimilarity2:',ratio)#2.hamming距离,str1和str2长度必须一致,描述两个等长字串之间对应位置上不同字符的个数sim=Levenshtein.hamming(str1,str2)print('hammingsimilarity:',sim)#3.编辑距离,描述由一个字串转化成另一个字串最少的操作次数,在其中的操作包括插入、删除、替换sim=Levenshtein.distance(str1,str2)print('Levenshteinsimilarity:',sim)#4.计算莱文斯坦比sim=Levenshtein.ratio(str1,str2)print('Levenshtein.ratiosimilarity:',sim)#5.计算jaro距离sim=Levenshtein.jaro(str1,str2)print('Levenshtein.jarosimilarity:',sim)#6.Jaro–Winkler距离sim=Levenshtein.jaro_winkler(str1,str2)print('Levenshtein.jaro_winklersimilarity:',sim)第9章频繁项集1.关联分析是一种简单、实用的分析技术,就是发现存在于大量数据集中的关联性或相关性。2.FP-tree是一种特殊的前缀树,由频繁项头表和项前缀树构成。3.Apriori算法的核心思想是什么?答:Apriori算法的核心思想是通过候选集生成和情节的向下封闭检测两个阶段来挖掘频繁项集。4.Apriori算法广泛应用于各种领域,主要表现在哪几方面?答:Apriori算法广泛应用于各种领域,主要表现在以下4个方面:(1)Apriori算法广泛应用于商业中,应用于消费市场价格分析中,它能够很快的求出各种产品之间的价格关系和它们之间的影响。(2)Apriori算法应用于网络安全领域,比如网络入侵检测技术中。(3)Apriori算法应用于高校管理中。随着高校贫困生人数的不断增加,学校管理部门资助工作难度也越加增大。针对这一现象,提出一种基于数据挖掘算法的解决方法。(4)Apriori算法被广泛应用于移动通信领域。5.FP-Growth算法它采取什么样的分治策略?答:FP-Growth算法它采取的分治策略为:将提供频繁项集的数据库压缩到一棵频繁模式树(FP-tree),但仍保留项集关联信息。第10章数据预处理1.数据缺失值产生的原因多种多样,主要分为客观原因和人为两种原因。2.缺失值的处理有几种方法?分别是什么?答:缺失值的处理有三种方法,分别为:(1)直接使用含有缺失值的特征;(2)删除含有缺失值的特征;(3)缺失值补全。3.缺失补全的思想是什么?最常见的方法有什么?缺失补全的思想是:用最可能的值来插补缺失值,最常见的有以下几种方法:●均值插补●用同类均值插补●建模预测●高维映射●多重插补●极大似然估计●压缩感知●矩阵补全4.常见的特征选择方法大致分为三类:过滤式(filter)、包裹式(wrapper)、嵌入式(embedding)。5.留一法的缺点是什么?答:留一法的缺点是:在数据集比较大时计算量太大。比如数据集为一千万个样本,则留一法需要训练一千万模型。6.给定数据如表所示,对数据进行规范化。#数据规范化importpandasaspdimportnumpyasnpdatafile='data.xls'#参数初始化data=pd.read_excel(datafile,header=None)#读取数据min=(data-data.min())/(data.max()-data.min())#最小-最大规范化zero=(data-data.mean())/data.std()#零-均值规范化float=data/10**np.ceil(np.log10(data.abs().max()))#小数定标规范化print("原始数据为:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年六安江汽集团所属企业招聘笔试备考题库及答案解析
- 2026年拜泉县教师招聘笔试模拟试题及答案解析
- 2026绵阳市中心医院高层次人才专场招聘宣传服务项目市场调研笔试模拟试题及答案解析
- 2026年萝北县教师招聘考试备考题库及答案解析
- 2026苏州工业园区天域幼儿园临聘人员招聘1人考试模拟试题及答案解析
- 2026年云县教师招聘笔试备考题库及答案解析
- 2026下半年鞍山市公安局面向社会公开招聘警务辅助人员140人笔试备考试题及答案解析
- 2026萍乡市消防救援支队招聘第二批政府专职消防队员和消防文员54人笔试参考题库及答案解析
- 2026国家蛋白质科学研究(上海)设施主任招聘1人笔试备考试题及答案解析
- 2026年桃江县教师招聘笔试备考题库及答案解析
- 2026半导体材料行业发展分析及前景趋势与投融资策略研究报告
- 中国烟草招聘行测+专业知识考试题库(附答案)
- 2026新版检验检测机构管理评审报告
- GA/T 1043-2025智能交通管理系统前端设备运行维护规范
- JJG 596-2026 安装式交流电能表检定规程
- 妊娠剧吐试题及答案
- 2026年智慧海洋国际合作案例:技术共享与联合研发项目分析
- OTDR使用课件教学课件
- 术后恶心呕吐防治专家共识课件
- 兵团连队管理办法
- 门卫夜间值班管理办法
评论
0/150
提交评论