机器学习、人工智能和神经网络的关系
- 机器学习推动了人工智能的发展,神经网络则是机器学习的主流算法
何为机器学习
- Samuel最早定义了机器学习:在进行特定编程的情况下,给予计算机学习能力。例如,Samuel编写了一个西洋棋程序,计算机在和自己下了上万盘之后,学习到了好的布局和不好的布局,从而在实战中取得了很高的胜率
- Tom Mitchell给出了机器学习的准确定义:一个程序能从经验E中学习,解决任务T,并达到性能要求P;而且经验E经过性能要求P评估后,程序处理任务T的性能有所提升。例如在西洋棋中,经验E即计算机和自己对弈上万局获得布局的经验,任务T就是实战下棋,性能要求P就是实战时的胜率
机器学习算法的分类
- 目前存在许多机器学习的算法,其中主要的是监督学习和无监督学习,其他的强化学习、推荐系统虽然也都是算法,但是主流还是前两种。
- 监督学习可以理解为教计算机如何完成任务;无监督学习可理解为让计算机自己学习。
- 这里要注意的是,算法虽然重要,但更重要的是算法能应用到哪里。这就像教木匠,教算法就像教工具,告诉木匠这是锤子、这是锯子;教怎么用工具才是更重要的
监督学习
- 监督学习,即数据集提供的数据已经有正确答案,算法基于此进行预测更多的数据。监督学习包括回归问题、分类问题等类型
- 回归问题就是连续值的预测。我们通过预测房价例子引入,我们根据数据集作图,横坐标表示面积,纵坐标表示房价;我们需要用一条直线或者曲线拟合这些点。
在预测房价的例子中,数据集提供的数据已经有正确答案,算法基于此预测更多房子的正确价格,输出连续值,属于回归问题
- 分类问题是离散值的预测。我们通过预测肿瘤良性恶性引入,我们根据数据集作图,横坐标表示肿瘤大小,纵坐标0表示良性,1表示恶性,陈我给二分类。若纵坐标有0、1、2、3多种分类(不同类型恶性),称为多分类。
当然,我们也可以用另一种作图方式,用不同符号表示良性恶性。
当有多种特征,如病人年龄、肿瘤大小、细胞形状等,可以画一条直线,分开两类肿瘤
无监督学习
- 无监督学习,即只给我们数据,不告诉我们数据属于哪一类,或者有哪几种类型,需要我们自己总结类型并给数据分类。无监督学习包括聚类问题、分离问题等
- 聚类算法,把数据分成几类。
(1)例如谷歌新闻会搜集新闻,并分成新闻专题。当我们点击BP油井泄露时,同一主题的就会聚集在一起
(2)在基因组分析中,给予一组个体,监测他们是否含有某个基因。结果如图,颜色表示他们拥有基因的程度,然后运行分类算法,将不同个体分为不同的类
(3)组织大型计算机集群时,分析哪些机器协同工作时效率更高,将其分类
(4)社交网络分析,自动识别哪些人要好,那些人是泛泛之交
- 鸡尾酒宴算法:参加鸡尾酒会时,许多人同时说话,多种声音混杂,如何将每个人的声音分离出来。我们事先不知道有多少人说话(有哪几类),需要将叠加的音频分离。
机器学习推荐的编程环境
- 上边的鸡尾酒问题,看似复杂,实现却只需要一行代码
如果我们使用Octace编程环境,许多算法几行代码就能实现。我们在工作时,写算法也推荐先用Octave写原型程序,确定能够无误工作后,再使用java、C++等编译环境实现,这样能大大提高效率
如SVD:解线性方程,用C++、java代码量多,而且要引用许多库;而Octave已经写好了,直接引用一行代码就完成了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。