开篇

 今天刚到货的周志华的机器学习,这里准备做一篇长期的这本书的读书总结,也给人工智能这行的人和看这本书的读者做些有意义的笔记。

       我本身是一个java高级开发和大数据的工程师,目前也在上海研读人工智能方向的研究生。大学就不透露了,因为本身就有其他语言的学习基础,在了解程序及其算法方面只认为还可以理解大概,若是有不同的看法或是对我所说的嗤之以鼻,欢迎各位有兴趣一起探讨,本身不是为了当前的热门而去触碰这门学科,目前进入这个领域的人太多了,可是有真材实料并且有高学术修养的人又有几个呢?

       做这个学习笔记的原因是想记录自己的一些学习过程,本身也是初入门槛,在提升总结学习能力的同时也给大家提供一些这方面的信息。

周志华-机器学习

第一章绪论

      在决定读周大牛的这本书前,也在找市面上关于机器学习方面的书籍,最后决定这本周的机器学习,读过的人都将它称为西瓜书(结合西瓜的属性特征来做这本书的案例),虽然说是人工智能机器学习方向的启蒙书籍,其目标读者人群我并不觉得是针对于非数学相关学科的人去读,里面结合着高等数学,概率学,统计学的知识,当然如果你是计算机爱好者并且热衷于研究算法的民间大牛除外(这里我所说的非数学相关学科指的是非理科非工科的没有数学基础的人群),这本书的开篇用极短的文字一笔带过了啰嗦繁琐的介绍环节,与市面上用标题吸引人的所谓零基础入门书籍,用将近半本书的篇幅去阐述人工智能的发展史和背景,而这些知识在网上可轻易整理,殊不知你花钱买的就是一个资料打印文档。。。

       为什么将周这本书作为我的ML启蒙书籍,就不聊周的背景了,正因为了解他的背景才将此列为书单,周在本书的最后,这样写到,之所以要决定自己写书,有几点很值得尊敬,一是当时周初接触的人工智能是在95年,学术研究的大环境不是很好,加上中国的发展刚刚开始,互联网的匮乏云云,就是说接触到的资料全是外国人写的,当时就萌生了写一本中国人的入门启蒙书籍,这对后世的影响及其深远。二是在16年的时候,周准备在南京大学开设课程,其国内的看法对此并不是很关注,现在看起来,更前列的科学研究在中国的道路艰难无比,现在开设也有点为时过晚。决定写书是在13年准备筹划,决定用自己的视角去阐述自己理解的人工智能,写书过程战战兢兢,深恐不慎误人子弟,最后作品得以横空出世,以顶级的姿态,出一本入的方家法眼之书。为初入门槛的国内机器学习研究人员提供了很详细的机器学习方法。

--------------------------------------------------更新线-----------------------------------------------------------


“西瓜书"的一些基础概念准备

建模(modeling):研究系统的重要手段与前提,在机器学习中,建立标准模型很关键。

模型(model):泛指从数据中学得的结果,模型指全局性结果,模式指局部结果。

示例(instance)【样本(sample)或记录(record)】:关于一个事件或者对象的描述,三种说法都一样。

例如(色泽=青绿;根蒂=硬挺;敲声=浊响),一组示例描述一个对象。也叫特征向量。

数据集(data set):指的是多个示例的集合。

属性(attribute)【特征(feature)】:反映一个事物的本质的可观察方面,例如色泽,根蒂,敲声。

属性值(attribute value):对应属性的值,例如青绿,硬挺,浊响。

属性空间(attribute space):由属性张成的空间,例如以三个属性作为例子,色泽,根蒂,敲声作为xyz标准轴,实际假设中的每个西瓜都能在这三个属性张成的空间中找到自己的对应坐标。

维数(dimensionality):指的是样本空间的坐标轴数,就是表示也就是数据集的特征数量。

学习(learning)或训练(training);从数据中学的模型的过程。过程通过执行某个学习算法来完成。

训练数据(training data):训练过程中所使用的数据。

训练样本(training sample):训练过程中所应用的训练样本。

训练集(training set):训练样本的集合。

假设(hypothesis):指算法学得模型后对应了关于数据的某种潜在的规律,也叫假设函数。

标记(mark或label):指结果信息,用于建立关于预测的模型,监督学习需提供结果集。

样例(example):包含标记的样本,例如((色泽=青绿;根蒂=硬挺;敲声=浊响),好瓜);一组样本对应响应标记。

标记空间(label space)【输出空间(output space)】:指所有标记的集合,即结果集。

泛化(generalization):如果用某个数据集的样本训练出的一个模型,能够适用于新的样本数据,就说这个模型具有泛化能力。模型能适用于越多的新数据,则说明其泛化能力越强。具有强泛化能力的模型能够很好的适用于样本空间。



归纳与演绎

逻辑学中的说法,是科学推理的两种基本手段。

归纳(induction)指的是特殊到一般的泛化(generalization)过程,简单来说就是一堆未知事务中去总结特点和规律,比如给你一些西瓜和苹果,你根据这些实物去归纳它们的特性。

从样例中学习即是归纳学习。

演绎(deduction)指的是一般到特殊的特化(specialization)过程,简单来说就是利用已有的基础知识去推演实际情况,比如你已经知道了如何区分西瓜和苹果,这时给你一个水果让你分辨出哪个是西瓜哪个是苹果。

从一堆公理和推理规则推导出与之相恰的定理,即是演绎学习。


归纳学习有广义归纳和狭义归纳的区别,广义归纳是从样例(样本-结果)中学习并归纳,而狭义归纳则是要求从训练数据中去学得概念。狭义归纳也称为概念学习。


机器学习的过程就是先进行归纳后演绎,训练集的目的就是为算法提供一个样例的集合,对样例中的参数进行归纳总结,找出一定规律后进行演绎,针对实例进行判断的过程。

假设空间

       若我们仅仅将训练集中的数据进行"熟记",碰到相同实例时,可以将实例与训练集中的数据相比对,若是匹配上则能够进行正确的判断。