文章目录
第一章 引言(introduction)
1 什么是机器学习(Machine Learning)
Tom Mitchell对机器学习的定义为:计算机程序从经验E中学习,解决某一任务T,进行某一性能度量P,通过P测定在T上的表现因经验E而提高
有一点点稍微那么的不好理解,我对机器学习的定义是:计算机通过学习算法从大量的数据中进行学习,从而对数据有了判断好坏,或者是分类的能力。让机器模仿人的大脑去学习
目前有各种不同类型的学习算法,有监督学习、无监督学习、半监督学习、强化学习和推荐系统,但最主要的也是最常用的两类学习算法是监督学习和无监督学习,简单来说,监督学习就是我们教会计算机学会某件事情,然而在无监督学习中,我们让计算机自己学习
这些学习算法就像是一组工具,是为了解决实际问题而生的,所以我们学习这类算法不应该只停留在理论上的研究,学习如何正确地使用这些工具也同样重要。(在实际解决问题中,正确使用某种学习算法很重要)
最终目的:成为知道如何设计和建立各种机器学习及AI系统的高手
2 监督学习(supervised learning)
监督学习是指我们给算法一个数据集(对于监督学习中的每一个样本,我们明确且清楚的告知什么是所谓的正确答案),其中包含了正确答案,算法地目的就是给出更多的正确答案。通俗一点说就是我们给计算机数据,让计算机得出正确的答案
监督学习又分为回归和分类
2.1 回归问题
回归指的是我们想要用特征值(属性)去预测连续值的输出
应用:假设你是一个老板,你有几千件相同的货物的库存要拿去卖,你想预测在接下来的三个月里这些货物能够卖出去多少件
2.2 分类问题
分类是指我们想要用特征值(属性)去预测一个离散值的输出,有时也可能有两个以上的可能的输出值。特征值和属性也有可能无穷多
应用:你有很多客户,你想要写一个软件,来检查每一个客户的账户,对于每个客户的账户判断这个账户是否被入侵
3 无监督学习(unsupervised learning)
无监督学习是指我们给算法一个数据集,(输入数据都没有标签,或者说标签都是相同的),我们没有给算法以数据集的正确答案,事先我们并不知道有哪些类型,算法自动对数据集处理分类
无监督学习又分为聚类算法和非聚类算法
3.1 聚类算法(clustering algorithm)
聚类算法可以自动把输入的数据分成两个或多个不同的簇
应用:社交网络的分析,如果可以得知你的Facebook好友,可以自动识别同属一个圈子的朋友,判断那些人相互认识
3.2 非聚类算法(non-clustering algorithm)
鸡尾酒会问题(cocktail party problem):能够将两种混合在一起的数据区分开来
应用:将两种混合在一起的人声单独提取出来,也可以是人声和其他背景音乐混合在一起了
后言
这是我第一次写博客,单纯想要记录这一路上的成长,如果对别人产生那么一小点的帮助,都会让我很高兴,但难免会有诸多的错误,希望有人发现后可以指出来哪里有错,我好及时加以改正,这样学习才会有进步,这也是我想写博客的初衷。刚好最近在学习吴恩达老师的机器学习课程,那就每学习一个章节后更新一下笔记还有每一章后的习题代码也会加进去。但我想说的是,既然是学习笔记,那就免不了有很多的定义或者公式是直接从吴恩达老师的课上摘抄下来的,但我保证每个字都是我手打出来的,我也会相应的去加入自己的见解,我觉得这才是最重要的。