首先是无关紧要的唠嗑,如果想要直接查看笔记内容,请跳过
本人毕业设计是计算机视觉方向,它需要一定的深度学习基础。本人本科阶段上过机器学习和计算机视觉的课程,但是总感觉知识没有形成固定体系,故准备恶补一波机器学习和深度学习。听闻吴恩达的机器学习课程很基础,所以去看了一下,发现是全英文教学,正好可以锻炼一下我的英语听力。
但是本人英语能力有限,故通过博客记录学习笔记,加强自己的记忆与理解,同时也提供给那些和我一样正在学习的机器学习小白参考,希望对大家有帮助。
一下内容全部来源于本人粗浅的理解,如有不妥,请留言指正。如果觉得内容对你有帮助,请为我点赞。
当你使用google或者Bing这些搜索引擎搜索想要的内容,你之所以能够找到自己满意的内容,原因之一是他们用了学习算法,实现了网页排版;当你用facebook或者苹果的相片分类功能时,也用到了学习算法;垃圾邮件的过滤也涉及学习算法。
科学家们希望运用这些学习算法模拟人类的思考过程。
学习算法有许多应用:
(1)数据挖掘:企业可以收集网络点击数据,试图用机器学习算法来挖掘数据,以更好了解用户并为用户提供服务;电子医疗记录出现,若我们通过这些医疗记录,辅助我们获得医学知识,这有利于医学的发展;学习算法让我们更好的分析DNA序列,从而更加理解人类基因组;工程学上产生大量数据,我们可通过学习算法来理解如此海量的数据。
(2)无法手动编写程序的应用:让计算机自己学习如何让飞机自动飞行;手写体识别;自然语言处理;计算机视觉。
(3)私人定制程序:当你使用淘宝、腾讯视频等软件时,系统会自动推荐你可能感兴趣的内容给你,这是因为学习算法。
(4)理解人类的学习过程和大脑。
机器学习的定义(目前并没有多数人公认的定义)
(1)Arthur Samuel:在没有明确的程序的情况下给与计算机学习能力的领域。他编写了跳棋游戏,在经过许多次训练后,计算机成长为一个比他本人更懂跳棋游戏的玩家。
(2)Tom Mitchell:这样一个计算机程序,它可以在针对任务T时,通过学习经验E,提高完成任务的性能P。对于前面的跳棋游戏,任务T就是玩跳棋,经验E就是多次的训练与博弈,性能P就是赢得跳棋的能力或者说玩跳棋的水平。
机器学习算法分类:
(1)监督学习:我们教计算机学习某件事情。我们给计算机一组数据,其中包含了输入以及输出,这些输出是针对输入的“正确答案”。如回归问题:学习预测房价时,我们提供的数据有输入(比如房子大小,房间个数等等)以及针对这个输入的正确的房;如分类问题:预测肿瘤恶性还是良性时,输入为肿瘤的大小,输入为是恶性或者是良性,学习这样一个分类算法,当提供一个新的肿瘤大小时可以尽可能预测良性与恶性(此处输入只有大小,但通常可以有多种输入,如大小,年龄等等)。
(2)无监督学习:我们不教计算机学习,只是给出输入与输出,让计算机自己学习。如分类问题:和上述肿瘤分类算法,我们提供肿瘤大小以及结果的分布,但是不明说是恶性还是良性,需要学习出一个算法,当给予新的输入时,能将结果自动归类的其中一种分布中;再入新闻网站可以自动将相关或者同类的新闻放在同一个频道中;应用到基因分析时,可以自动将不同类型基因分类,当要输入新的基因时,可以将它归为其中一类;计算机中心中,可以学习将哪些计算机集群到一起以更高效的工作;分析社交圈;将顾客自动分类到更细分的市场中,我们并没有预先知道谁属于哪个市场;语音分离:当两个人同时对着一个麦克风说话时,将两个人的声音分离开,制作成两个音频输出。
(3)其他,如强化学习、推荐系统