1、神经网络,什么过拟合?,什么是欠拟合?

欠拟合是指模型不能在训练集上获得足够低的误差。而过拟合是指训练误差和测试误差之间的差距太大。

考虑过多,超出自变量的一般含义维度,过多考虑噪声,会造成过拟合。

可以认为预测准确率、召回率都比理论上最佳拟合函数低很多,则为欠拟合。

简介

人工神经网络按其模型结构大体可以分为前馈型网络(也称为多层感知机网络)和反馈型网络(也称为Hopfield网络)两大类,前者在数学上可以看作是一类大规模的非线性映射系统,后者则是一类大规模的非线性动力学系统。

按照学习方式,人工神经网络又可分为有监督学习、非监督和半监督学习三类;按工作方式则可分为确定性和随机性两类;按时间特性还可分为连续型或离散型两类,等等。

谷歌人工智能写作项目:小发猫

2、神经网络过拟合的现象是什么 发生原因

过拟合现象一般都是因为学习的过于精确,就好比让机器学习人脸,取了100个人的脸训练,但是由于你学习的过精确,导致除了这个样本100人外 其他的人脸神经网络都认为不是人脸,实际我们只需要学习人脸的基本特征 而不是详细到人的皮肤细腻 眼睛大小等过于细致的特征,这样可以保证机器还是能识别别的图片中的人脸的

3、什么是深度学习与机器视觉

深度学习框架,尤其是基于人工神经网络的框架可以追溯到1980年福岛邦彦提出的新认知机[2],而人工神经网络的历史更为久远。1989年,燕乐存(Yann LeCun)等人开始将1974年提出的标准反向传播算法[3]应用于深度神经网络,这一网络被用于手写邮政编码识别。尽管算法可以成功执行,但计算代价非常巨大,神经网路的训练时间达到了3天,因而无法投入实际使用[4]。许多因素导致了这一缓慢的训练过程,其中一种是由于尔根·施密德胡伯(Jürgen Schmidhuber)的学生赛普·霍克赖特(Sepp Hochreiter)于1991年提出的梯度消失问题[5][6]。与此同时,神经网络也受到了其他更加简单模型的挑战,支持向量机等模型在20世纪90年代到21世纪初成为更加流行的机器学习算法。
“深度学习”这一概念从2007年前后开始受到关注。当时,杰弗里·辛顿(Geoffrey Hinton)和鲁斯兰·萨拉赫丁诺夫(Ruslan Salakhutdinov)提出了一种在前馈神经网络中进行有效训练的算法。这一算法将网络中的每一层视为无监督的受限玻尔兹曼机,再使用有监督的反向传播算法进行调优[7]。在此之前的1992年,在更为普遍的情形下,施密德胡伯也曾在递归神经网络上提出一种类似的训练方法,并在实验中证明这一训练方法能够有效提高有监督学习的执行速度[8][9].
自深度学习出现以来,它已成为很多领域,尤其是在计算机视觉和语音识别中,成为各种领先系统的一部分。在通用的用于检验的数据集,例如语音识别中的TIMIT和图像识别中的ImageNet, Cifar10上的实验证明,深度学习能够提高识别的精度。
硬件的进步也是深度学习重新获得关注的重要因素。高性能图形处理器的出现极大地提高了数值和矩阵运算的速度,使得机器学习算法的运行时间得到了显著的缩短[10][11]。
基本概念[编辑]
深度学习的基础是机器学习中的分散表示(distributed representation)。分散表示假定观测值是由不同因子相互作用生成。在此基础上,深度学习进一步假定这一相互作用的过程可分为多个层次,代表对观测值的多层抽象。不同的层数和层的规模可用于不同程度的抽象[1]。
深度学习运用了这分层次抽象的思想,更高层次的概念从低层次的概念学习得到。这一分层结构常常使用贪婪算法逐层构建而成,并从中选取有助于机器学习的更有效的特征[1].
不少深度学习算法都以无监督学习的形式出现,因而这些算法能被应用于其他算法无法企及的无标签数据,这一类数据比有标签数据更丰富,也更容易获得。这一点也为深度学习赢得了重要的优势[1]。
人工神经网络下的深度学习[编辑]
一部分最成功的深度学习方法涉及到对人工神经网络的运用。人工神经网络受到了1959年由诺贝尔奖得主大卫·休伯尔(David H. Hubel)和托斯坦·威泽尔(Torsten Wiesel)提出的理论启发。休伯尔和威泽尔发现,在大脑的初级视觉皮层中存在两种细胞:简单细胞和复杂细胞,这两种细胞承担不同层次的视觉感知功能。受此启发,许多神经网络模型也被设计为不同节点之间的分层模型[12]。
福岛邦彦提出的新认知机引入了使用无监督学习训练的卷积神经网络。燕乐存将有监督的反向传播算法应用于这一架构[13]。事实上,从反向传播算法自20世纪70年代提出以来,不少研究者都曾试图将其应用于训练有监督的深度神经网络,但最初的尝试大都失败。赛普·霍克赖特(Sepp Hochreiter)在其博士论文中将失败的原因归结为梯度消失,这一现象同时在深度前馈神经网络和递归神经网络中出现,后者的训练过程类似深度网络。在分层训练的过程中,本应用于修正模型参数的误差随着层数的增加指数递减,这导致了模型训练的效率低下[14][15]。
为了解决这一问题,研究者们提出了一些不同的方法。于尔根·施密德胡伯(Jürgen Schmidhuber)于1992年提出多层级网络,利用无监督学习训练深度神经网络的每一层,再使用反向传播算法进行调优。在这一模型中,神经网络中的每一层都代表观测变量的一种压缩表示,这一表示也被传递到下一层网络[8]。
另一种方法是赛普·霍克赖特和于尔根·施密德胡伯提出的长短期记忆神经网络(long short term memory,LSTM)[16]。2009年,在ICDAR 2009举办的连笔手写识别竞赛中,在没有任何先验知识的情况下,深度多维长短期记忆神经网络取得了其中三场比赛的胜利[17][18]。
斯文·贝克提出了在训练时只依赖梯度符号的神经抽象金字塔模型,用以解决图像重建和人脸定位的问题[19]。
其他方法同样采用了无监督预训练来构建神经网络,用以发现有效的特征,此后再采用有监督的反向传播以区分有标签数据。辛顿等人于2006年提出的深度模型提出了使用多层隐变量学习高层表示的方法。这一方法使用斯摩棱斯基于1986年提出的受限玻尔兹曼机[20]对每一个包含高层特征的层进行建模。模型保证了数据的对数似然下界随着层数的提升而递增。当足够多的层数被学习完毕,这一深层结构成为一个生成模型,可以通过自上而下的采样重构整个数据集[21]。辛顿声称这一模型在高维结构化数据上能够有效低提取特征[22]。
吴恩达和杰夫·迪恩(Jeff Dean)领导的谷歌大脑(英语:Google Brain)团队创建了一个仅通过YouTube视频学习高层概念(例如猫)的神经网络[23] [24]。
其他方法依赖了现代电子计算机的强大计算能力,尤其是GPU。2010年,在于尔根·施密德胡伯位于瑞士人工智能实验室IDSIA的研究组中,丹·奇雷尚(Dan Ciresan)和他的同事展示了利用GPU直接执行反向传播算法而忽视梯度消失问题的存在。这一方法在燕乐存等人给出的手写识别MNIST数据集上战胜了已有的其他方法[10]。
截止2011年,前馈神经网络深度学习中最新的方法是交替使用卷积层(convolutional layers)和最大值池化层(max-pooling layers)并加入单纯的分类层作为顶端。训练过程也无需引入无监督的预训练[25][26]。从2011年起,这一方法的GPU实现[25]多次赢得了各类模式识别竞赛的胜利,包括IJCNN 2011交通标志识别竞赛[27]和其他比赛。
这些深度学习算法也是最先在某些识别任务上达到和人类表现具备同等竞争力的算法[28]。
深度学习结构[编辑]
深度神经网络是一种具备至少一个隐层的神经网络。与浅层神经网络类似,深度神经网络也能够为复杂非线性系统提供建模,但多出的层次为模型提供了更高的抽象层次,因而提高了模型的能力。深度神经网络通常都是前馈神经网络,但也有语言建模等方面的研究将其拓展到递归神经网络[29]。卷积深度神经网络(Covolutional Neuron Networks, CNN)在计算机视觉领域得到了成功的应用[30]。此后,卷积神经网络也作为听觉模型被使用在自动语音识别领域,较以往的方法获得了更优的结果[31]。
深度神经网络[编辑]
深度神经网络(deep neuron networks, DNN)是一种判别模型,可以使用反向传播算法进行训练。权重更新可以使用下式进行随机梯度下降求解:
其中,为学习率,为代价函数。这一函数的选择与学习的类型(例如监督学习、无监督学习、增强学习)以及激活函数相关。例如,为了在一个多分类问题上进行监督学习,通常的选择是使用Softmax函数作为激活函数,而使用交叉熵作为代价函数。Softmax函数定义为,其中代表类别的概率,而和分别代表对单元和的输入。交叉熵定义为,其中代表输出单元的目标概率,代表应用了激活函数后对单元的概率输出[32]。
深度神经网络的问题[编辑]
与其他神经网络模型类似,如果仅仅是简单地训练,深度神经网络可能会存在很多问题。常见的两类问题是过拟合和过长的运算时间。
深度神经网络很容易产生过拟合现象,因为增加的抽象层使得模型能够对训练数据中较为罕见的依赖关系进行建模。对此,权重递减(正规化)或者稀疏(-正规化)等方法可以利用在训练过程中以减小过拟合现象[33]。另一种较晚用于深度神经网络训练的正规化方法是丢弃法("dropout" regularization),即在训练中随机丢弃一部分隐层单元来避免对较为罕见的依赖进行建模[34]。
反向传播算法和梯度下降法由于其实现简单,与其他方法相比能够收敛到更好的局部最优值而成为神经网络训练的通行方法。但是,这些方法的计算代价很高,尤其是在训练深度神经网络时,因为深度神经网络的规模(即层数和每层的节点数)、学习率、初始权重等众多参数都需要考虑。扫描所有参数由于时间代价的原因并不可行,因而小批量训练(mini-batching),即将多个训练样本组合进行训练而不是每次只使用一个样本进行训练,被用于加速模型训练[35]。而最显著地速度提升来自GPU,因为矩阵和向量计算非常适合使用GPU实现。但使用大规模集群进行深度神经网络训练仍然存在困难,因而深度神经网络在训练并行化方面仍有提升的空间。
深度信念网络[编辑]
一个包含完全连接可见层和隐层的受限玻尔兹曼机(RBM)。注意到可见层单元和隐层单元内部彼此不相连。
深度信念网络(deep belief networks,DBN)是一种包含多层隐单元的概率生成模型,可被视为多层简单学习模型组合而成的复合模型[36]。
深度信念网络可以作为深度神经网络的预训练部分,并为网络提供初始权重,再使用反向传播或者其他判定算法作为调优的手段。这在训练数据较为缺乏时很有价值,因为不恰当的初始化权重会显著影响最终模型的性能,而预训练获得的权重在权值空间中比随机权重更接近最优的权重。这不仅提升了模型的性能,也加快了调优阶段的收敛速度[37]。
深度信念网络中的每一层都是典型的受限玻尔兹曼机(restricted Boltzmann machine,RBM),可以使用高效的无监督逐层训练方法进行训练。受限玻尔兹曼机是一种无向的基于能量的生成模型,包含一个输入层和一个隐层。图中对的边仅在输入层和隐层之间存在,而输入层节点内部和隐层节点内部则不存在边。单层RBM的训练方法最初由杰弗里·辛顿在训练“专家乘积”中提出,被称为对比分歧(contrast divergence, CD)。对比分歧提供了一种对最大似然的近似,被理想地用于学习受限玻尔兹曼机的权重[35]。当单层RBM被训练完毕后,另一层RBM可被堆叠在已经训练完成的RBM上,形成一个多层模型。每次堆叠时,原有的多层网络输入层被初始化为训练样本,权重为先前训练得到的权重,该网络的输出作为新增RBM的输入,新的RBM重复先前的单层训练过程,整个过程可以持续进行,直到达到某个期望中的终止条件[38]。
尽管对比分歧对最大似然的近似十分粗略(对比分歧并不在任何函数的梯度方向上),但经验结果证实该方法是训练深度结构的一种有效的方法[35]。
卷积神经网络[编辑]
主条目:卷积神经网络
卷积神经网络(convolutional neuron networks,CNN)由一个或多个卷积层和顶端的全连通层(对应经典的神经网络)组成,同时也包括关联权重和池化层(pooling layer)。这一结构使得卷积神经网络能够利用输入数据的二维结构。与其他深度学习结构相比,卷积神经网络在图像和语音识别方面能够给出更优的结果。这一模型也可以使用反向传播算法进行训练。相比较其他深度、前馈神经网络,卷积神经网络需要估计的参数更少,使之成为一种颇具吸引力的深度学习结构[39]。
卷积深度信念网络[编辑]
卷积深度信念网络(convolutional deep belief networks,CDBN)是深度学习领域较新的分支。在结构上,卷积深度信念网络与卷积神经网络在结构上相似。因此,与卷积神经网络类似,卷积深度信念网络也具备利用图像二维结构的能力,与此同时,卷积深度信念网络也拥有深度信念网络的预训练优势。卷积深度信念网络提供了一种能被用于信号和图像处理任务的通用结构,也能够使用类似深度信念网络的训练方法进行训练[40]。
结果[编辑]
语音识别[编辑]
下表中的结果展示了深度学习在通行的TIMIT数据集上的结果。TIMIT包含630人的语音数据,这些人持八种常见的美式英语口音,每人阅读10句话。这一数据在深度学习发展之初常被用于验证深度学习结构[41]。TIMIT数据集较小,使得研究者可以在其上实验不同的模型配置。
方法
声音误差率 (PER, %)
随机初始化RNN 26.1
贝叶斯三音子GMM-HMM 25.6
单音子重复初始化DNN 23.4
单音子DBN-DNN 22.4
带BMMI训练的三音子GMM-HMM 21.7
共享池上的单音子DBN-DNN 20.7
卷积DNN 20.0
图像分类[编辑]
图像分类领域中一个公认的评判数据集是MNIST数据集。MNIST由手写阿拉伯数字组成,包含60,000个训练样本和10,000个测试样本。与TIMIT类似,它的数据规模较小,因而能够很容易地在不同的模型配置下测试。Yann LeCun的网站给出了多种方法得到的实验结果[42]。截至2012年,最好的判别结果由Ciresan等人在当年给出,这一结果的错误率达到了0.23%[43]。
深度学习与神经科学[编辑]
计算机领域中的深度学习与20世纪90年代由认知神经科学研究者提出的大脑发育理论(尤其是皮层发育理论)密切相关[44]。对这一理论最容易理解的是杰弗里·艾尔曼(Jeffrey Elman)于1996年出版的专著《对天赋的再思考》(Rethinking Innateness)[45](参见斯拉格和约翰逊[46]以及奎兹和赛杰诺维斯基[47]的表述)。由于这些理论给出了实际的神经计算模型,因而它们是纯计算驱动的深度学习模型的技术先驱。这些理论指出,大脑中的神经元组成了不同的层次,这些层次相互连接,形成一个过滤体系。在这些层次中,每层神经元在其所处的环境中获取一部分信息,经过处理后向更深的层级传递。这与后来的单纯与计算相关的深度神经网络模型相似。这一过程的结果是一个与环境相协调的自组织的堆栈式的转换器。正如1995年在《纽约时报》上刊登的那样,“……婴儿的大脑似乎受到所谓‘营养因素’的影响而进行着自我组织……大脑的不同区域依次相连,不同层次的脑组织依照一定的先后顺序发育成熟,直至整个大脑发育成熟。”[48]
深度结构在人类认知演化和发展中的重要性也在认知神经学家的关注之中。发育时间的改变被认为是人类和其他灵长类动物之间智力发展差异的一个方面[49]。在灵长类中,人类的大脑在出生后的很长时间都具备可塑性,但其他灵长类动物的大脑则在出生时就几乎完全定型。因而,人类在大脑发育最具可塑性的阶段能够接触到更加复杂的外部场景,这可能帮助人类的大脑进行调节以适应快速变化的环境,而不是像其他动物的大脑那样更多地受到遗传结构的限制。这样的发育时间差异也在大脑皮层的发育时间和大脑早期自组织中从刺激环境中获取信息的改变得到体现。当然,伴随着这一可塑性的是更长的儿童期,在此期间人需要依靠抚养者和社会群体的支持和训练。因而这一理论也揭示了人类演化中文化和意识共同进化的现象[50]。
公众视野中的深度学习[编辑]
深度学习常常被看作是通向真正人工智能的重要一步[51],因而许多机构对深度学习的实际应用抱有浓厚的兴趣。2013年12月,Facebook宣布雇用燕乐存为其新建的人工智能实验室的主管,这一实验室将在加州、伦敦和纽约设立分支机构,帮助Facebook研究利用深度学习算法进行类似自动标记照片中用户姓名这样的任务[52]。
2013年3月,杰弗里·辛顿和他的两位研究生亚历克斯·克里泽夫斯基和伊利娅·苏特斯科娃被谷歌公司雇用,以提升现有的机器学习产品并协助处理谷歌日益增长的数据。谷歌同时并购了辛顿创办的公司DNNresearch[53]。
批评[编辑]
对深度学习的主要批评是许多方法缺乏理论支撑。大多数深度结构仅仅是梯度下降的某些变式。尽管梯度下降已经被充分地研究,但理论涉及的其他算法,例如对比分歧算法,并没有获得充分的研究,其收敛性等问题仍不明确。深度学习方法常常被视为黑盒,大多数的结论确认都由经验而非理论来确定。
也有学者认为,深度学习应当被视为通向真正人工智能的一条途径,而不是一种包罗万象的解决方案。尽管深度学习的能力很强,但和真正的人工智能相比,仍然缺乏诸多重要的能力。理论心理学家加里·马库斯(Gary Marcus)指出:
就现实而言,深度学习只是建造智能机器这一更大挑战中的一部分。这些技术缺乏表达因果关系的手段……缺乏进行逻辑推理的方法,而且远没有具备集成抽象知识,例如物品属性、代表和典型用途的信息。最为强大的人工智能系统,例如IBM的人工智能系统沃森,仅仅把深度学习作为一个包含从贝叶斯推理和演绎推理等技术的复杂技术集合中的组成部分[54]。

4、神经网络,什么过拟合?,什么是欠拟合?

欠拟合是指模型不能在训练集上获得足够低的误差。而过拟合是指训练误差和测试误差之间的差距太大。
通过调整模型的容量(capacity),我们可以控制模型是否偏向于过拟合或者欠拟合。通俗地,模型的容量是指其拟合各种函数的能力。容量低的模型可能很难拟合训练集。容量高的模型可能会过拟合,因为记住了不适用于测试集的训练集性质。

5、神经网络,什么过拟合?,什么是欠拟合?

欠拟合是指模型不能在训练集上获得足够低的误差。而过拟合是指训练误差和测试误差之间的差距太大。

相关介绍:

人工神经网络(ANN)或联结主义系统是受构成动物大脑的生物神经网络的启发但不完全相同的计算系统。这种系统通过例子来“学习”执行任务,而不用特定于任务的规则进行编程。

例如,在图像识别中,人工神经网络可能会通过分析一些图像样本来学习识别包含猫的图像,这些图像被手工标记为“猫”或“不是猫”,并使用结果识别在其他图像中的猫。

他们这样做是在没有猫的任何先验知识的情况下进行的,例如,它们有毛皮,尾巴,胡须和类似猫的脸。相反,人工神经网络会自动从它们处理的学习材料中生成识别特征。

人工神经网络是基于称为人工神经元的连接单元或节点所构成的集合,这些单元或节点松散地模拟生物大脑中的神经元。像生物大脑中的突触一样,每个连接可以将信号从一个人工神经元传输到另一个人工神经元。接收信号的人工神经元可以对其进行处理,然后向与之相连的附加人造神经元发出信号。

神经网络过拟合解决方法,神经网络过拟合现象相关推荐

  1. 过拟合解决方法python_欠拟合、过拟合及其解决方法

    在我们机器学习或者训练深度神经网络的时候经常会出现欠拟合和过拟合这两个问题,但是,一开始我们的模型往往是欠拟合的,也正是因为如此才有了优化的空间,我们需要不断的调整算法来使得模型的表达能拿更强.但是优 ...

  2. 欠拟合、过拟合——解决方法

    文章目录 1 过拟合原因 2 判断是否过拟合 3 欠拟合--解决方法 4 过拟合--解决方法 5 神经网络过拟合解决方案 在机器学习或者深度神经网络中经常会出现:欠拟合和过拟合.这些问题的出现原因以及 ...

  3. 深度神经网络问题以及解决方法

    深度神经网络问题以及解决方法 参考博客:深度学习中的highway network.ResNet 参考博客:神经网络梯度与归一化问题总结 一份详细讲解的代码:https://iamtrask.gith ...

  4. 机器学习中常见的过拟合解决方法

    机器学习中常见的过拟合解决方法 参考文章: (1)机器学习中常见的过拟合解决方法 (2)https://www.cnblogs.com/jiangxinyang/p/9281107.html 备忘一下 ...

  5. 过拟合解决方法python_《python深度学习》笔记---4.4、过拟合与欠拟合(解决过拟合常见方法)...

    <python深度学习>笔记---4.4.过拟合与欠拟合(解决过拟合常见方法) 一.总结 一句话总结: 减小网络大小 添加权重正则化 添加 dropout 正则化 1.机器学习的根本问题? ...

  6. 过拟合解决方法之L2正则化和Dropout

    七月 上海 | 高性能计算之GPU CUDA培训 7月27-29日三天密集式学习  快速带你入门阅读全文> 正文共1161个字,17张图,预计阅读时间10分钟. 什么是过拟合? 一幅图胜千言万语 ...

  7. 神经网络的人脸识别方法,神经网络图像识别技术

    神经网络如何识别和编码性别? 神经网络模拟人脑中的神经元,神经元相互连接.每个神经元接收数据,并将判断过程中产生的信号传输到下一个神经元,该神经元逐层传输,最终达到识别的目的,与其他模型不同,神经网络 ...

  8. 过拟合解决方法python_机器学习之过拟合的风险

    假设这些图中的每个点代表一棵树在森林中的位置.图中的两种颜色分别代表以下含义: 1.蓝点代表生病的树 2.橙点代表健康的树 接下来, 我们看看图 1 图1.生病 ( 蓝色 ) 和健康 ( 橙色 ) 的 ...

  9. 【进阶版】机器学习之线性模型介绍及过拟合欠拟合解决方法岭回归、loss回归、elasticnet回归(05)

    目录 欢迎订阅本专栏,持续更新中~ 本专栏前期文章介绍! 机器学习配套资源推送 进阶版机器学习文章更新~ 点击下方下载高清版学习知识图册 线性模型 线性回归 线性几率回归 对数线性回归 线性判别分析 ...

  10. 过拟合的原因和解决方法

    过拟合的原因 1.数据量太小 这个是很容易产生过拟合的一个原因.设想,我们有一组数据很好的吻合3次函数的规律,现在我们局部的拿出了很小一部分数据,用机器学习或者深度学习拟合出来的模型很大的可能性就是一 ...

最新文章

  1. 网站应分析哪些方面来提升网站优化的效果呢?
  2. SQLite 3 一些基本的使用
  3. 【机器学习】人工智能典型应用:班组工作日志转绩效类型
  4. java代码解锁华为_如何编写可怕的Java代码?
  5. 线段树空间容纳且最上边的数(单点更新)
  6. 在VS2013平台下如何快速解决c++代码内存泄漏问题
  7. selenium在eclipse中的使用(详细介绍)
  8. CANN5.0黑科技解密 | 高并发图片视频处理,为出行保驾,为生活添彩
  9. 教资之教育知识与能力 第一章第四节
  10. windows ghost备份
  11. 数据结构与算法 python版 之 递归三定律
  12. excel中多列内容显示不全
  13. 优秀的项目跟踪管理软件有哪些?
  14. hosts文件恢复如初方法
  15. 我家的三个犹太小富豪(转)
  16. C语言中,#include的用法:#include 和 #include区别
  17. R语言做面板VAR例子
  18. 打开转盘锁 ,易懂的BFS解法
  19. 神经网络 mse一直不变_用深层神经网络解释大脑的运作
  20. Java数据库连接--JDBC基础知识(操作数据库:增删改查)

热门文章

  1. 制作基于WiFi局域网的自动开门装置2.0(Arduino+微信小程序)
  2. 历年考研计算机专业英语平均分,历年考研英语平均分及难度分析(截止至2020年)...
  3. teamspeak3自建服务器,宝塔面板安装teamspeak3 – 搭建自己的语音聊天服务器
  4. Python学习日记之从Tushare上获取500成分股
  5. 蜜罐合约-老版本solidity引用类型的一个坑
  6. iphone7 无法连接计算机看照片,教你iphone7一键导出照片至电脑方法及iPhone7连接电脑itunes没反应怎么办...
  7. Word文件的OpenXML解析(以Python3为例)
  8. 计算机搜索功能怎么搜内容,怎么让Windows7系统搜索文件内容
  9. 用HTML写出能转换成合适的PDF文件(A4纸张大小)的相关问题和方法
  10. 二、安装配置java和hadoop程序