很开心能够参加Datawhale十月组队学习活动,今天起我将在CSDN上发布我的李宏毅机器学习课程学习笔记。
近几年AI概念十分潮流,政府,企业都在大力推广AI,身为一个初学者,我认为,弄清楚AI的概念,理清学习路线是现在应该干的事情
有公司号称自己的产品是拥有人工智慧的机器人,然而掰开了揉碎一看,里面是耗费众多工程师制订出的规则,里面是众多复杂 if 的嵌套,除了耗费的精力要大一些,并没有什么技术含量.这种AI,并不是我们所说的AI。
机器学习是一种手段,通过机器学习的手段,我们能够使得机器(程序)自己能够达成一些目的,比如说下棋,识别图像等等一系列人类行为,这样,我们认为这个机器已经有了人工智慧,可以将它称之为AI人工智能。 从非常宏观的角度来看我们可以将机器学习分为三个步骤:
这个function的集合里面有着很多很多的f(我觉得这里很像中学所学的映射概念,是一种广义的函数),它能够对于你所输入的内容做出输出,比如说你给它一张猫的图片,它会告诉你这是什么东西,输出"猫"或者是"狗",我们会将这一个f的集合称之为一个Model模型。
将已有的数据去训练你的模型
当你已经有了一些确切的数据,你可以将你已经有的数据去告诉计算机,你的这个模型究竟是好是坏,比如你使用确切的输入输出数据,你能得到已有的输出是"狗",你的f能不能输出"狗"。计算机能够根据你的数据知晓哪些f比较靠谱。
找到最好的f
我们的目标是找到最好的一个f,它能完成我们的最终的目标.比如完成一些辨识,识别的工作。
根据所拥有的数据形式的不同,机器学习在不同情景下有着不同的应用,比如你有着明确的数据输入输出时,此时就是一种Supervised Learning监督学习,因材施教我觉得是最重要的,最合适的机器学习方法才是最好的。
在有着比较明确的数据时,机器学习在这个场景下表现为监督学习,听过课程我的一个直观感受是监督学习的方式可能更靠谱一些,毕竟数据上就靠谱一些,其他场景我觉得可能还是过于复杂了一些。
李老师的课程上举得是一个预测PM2.5的例子,期望能够做到通过前几天的数据来预测出第二天的PM2.5的数值,我的感觉是这很像数学中的拟合曲线,然后通过曲线来预测出之后的情况。
分类问题与回归的区别在于我们要计算机输出的东西的类型是不一样的,Regression输出的是一个数值,而Classification输出的是是类别,比如垃圾邮件问题中输出是否为垃圾邮件,各种不同的新闻中输出新闻的具体类别。
分类问题中我们有很多不同的模型比如:
线性模型
比较简单,我们也不会花费很多时间。
非线性模型
比较复杂,里面包括了Deep Learning深度学习,SVM支持向量机等等,能够完成比较复杂的任务例如很火的影响识别,下棋就是用的非线性模型。
监督学习最后一步就是Structured Learning,它让计算机输出的是要有结构性的,举例来说:在语音辨识里面,机器输入是声音讯号,输出是一个句子,句子是要很多词汇拼凑完成。
监督学习的问题是我们需要大量的数据。同时,我们需要告诉机器明确的输入输出。这个输出往往没有办法用很自然的方式取得,都是根据以往的经验作为标注来给出输出。
Semi-supervised Learning 半监督学习
当你有一些明确标注数据,同时你有一些没有明确标注的数据,但是这些数据全部都是你想要的类别,此时表现为半监督学习,这些你没有标注的数据,有可能也有作用。
Transfer Learning 迁移学习
当你有一些明确标注数据,同时你有一些没有明确标注的数据,但是这些数据并不全部都是你想要的类别,比如你想分辨猫狗,却有一些动画人物的数据,此时表现为迁移学习,这些你没有标注的数据,有可能也有作用。
Unsupervised Learning 无监督学习
当你给予计算机的数据均无标注时,表现为无监督学习,这种形式也许会创造一些很奇怪的东西。
Reinforcement Learning 强化学习
强化学习是一个开发了很久的技术,αgo让其又火了一把,Reinforcement Learning中,计算机不会有着明确的答案,但是会有一个分数,来衡量自己做的究竟是好还是不好,其实这也更符合人类自身的学习过程,我们自己在学说话时,说的好自然母亲就会有比较肯定的答复,但是也并不会是完美,也会挑出点问题,你只知道相对的好与不好,没有绝对的答案。
强化学习可能更符合人们对人工智能的看法。
B站李宏毅机器学习视频
机器学习视频笔记