如何零基础自学AI人工智能
如果你没有任何人工智能的基础,但对解决人类智能相关问题有兴趣,以下是一些步骤和资源,帮助你自学人工智能:
了解基础概念:开始前,先了解人工智能的基本概念和术语。学习机器学习、深度学习、自然语言处理等基础知识,并熟悉相关算法和技术。
a.机器学习(MachineLearning):学习机器学习是理解人工智能的关键。了解机器学习的基本原理、常见算法(如线性回归、决策树、支持向量机、神经网络等)以及它们在模式识别、分类、回归和聚类等任务中的应用。b.深度学习(DeepLearning):深度学习是机器学习的一个分支,利用神经网络模型处理和学习复杂的数据表示。深入了解深度学习的基本原理、常见的神经网络结构(如卷积神经网络、循环神经网络、生成对抗网络等)以及它们在计算机视觉、自然语言处理等领域的应用。c.自然语言处理(NaturalLanguageProcessing,NLP):NLP是研究计算机与人类自然语言交互的领域。学习NLP的基本概念、技术和算法,包括文本预处理、词嵌入、序列模型、语言生成等,以及它们在文本分类、情感分析、机器翻译等任务中的应用。d.强化学习(ReinforcementLearning):强化学习是通过与环境的交互来学习最优行为策略的方法。了解强化学习的基本原理、马尔可夫决策过程、值函数和策略优化等概念,并了解强化学习在游戏、机器人控制和自动驾驶等领域的应用。除了这些核心概念外,还应了解数据预处理、特征工程、模型评估与选择、超参数调优等相关技术。通过阅读教材、参加在线课程(如Coursera上的《机器学习》课程)、观看视频教程或阅读人工智能相关的书籍,可以深入了解这些概念,并通过编写代码实践来加深理解。随着对这些基础概念的掌握,你可以进一步学习高级的人工智能技术和应用,如计算机视觉、语音识别、推荐系统、生成模型等。记住,在学习过程中要进行实践和项目练习,以便将知识转化为实际技能。
2.学习编程和数学:人工智能的实现离不开编程和数学的基础。学习一种常用的编程语言,如Python,并了解数学中的线性代数、概率论和统计学等概念。
当学习编程和数学时,可以按照以下方式进行:
a.编程语言:选择一种广泛用于人工智能的编程语言,如Python。Python是一种易于学习和使用的语言,有丰富的开源库和工具支持。学习Python的基本语法、数据类型、流程控制和函数定义等。
b.数学基础:在数学方面,以下是几个关键概念和技能需要学习:
线性代数:了解矩阵、向量、线性方程组、特征值和特征向量等基本概念。线性代数在机器学习中广泛应用于数据变换和模型优化等方面。
概率论与统计学:掌握概率、随机变量、概率分布、统计推断和假设检验等基本概念。这对于理解机器学习中的概率模型和统计方法至关重要。
微积分:熟悉微积分的基本概念,如导数、积分和微分方程。微积分在优化算法和神经网络的训练中扮演重要角色。
c.编程实践:通过编写代码来巩固所学的编程和数学知识。尝试编写简单的程序来解决数学问题,实现基本的算法,或者使用Python中的相关库进行数据处理和分析。
为了学习编程和数学,有许多在线资源和教程可供参考。例如,可以参加在线课程,如Coursera上的《PythonforEverybody》或《IntroductiontoMathematicalThinking》。还可以阅读相关的书籍、博客文章和编程指南,并参与编程社区和论坛,与其他学习者和专业人士交流和分享经验。在学习过程中,保持实践和持续学习的态度,通过解决问题和编写代码来提高编程和数学技能。这将为你在人工智能领域的学习和应用打下坚实的基础。
3.在线学习资源:有许多免费的在线学习资源可供学习人工智能。例如,Coursera、edX、Udacity和Kaggle等平台都提供人工智能相关课程和项目。
在线学习人工智能的资源方面,可以按照以下方式进行:
a.在线学习平台:有许多知名的在线学习平台提供人工智能相关课程,其中一些是免费的或提供免费试学期。以下是一些受欢迎的在线学习平台:
Coursera:Coursera提供了许多知名大学和机构的人工智能课程,如斯坦福大学的《机器学习》和deeplearning.ai的《深度学习专项课程》。
edX:edX也提供了许多大学和学院的人工智能课程,如麻省理工学院的《深度学习基础》和微软的《Azure机器学习》。
Udacity:Udacity提供了一系列与人工智能和机器学习相关的纳米学位和课程,如《机器学习工程师纳米学位》和《深度学习基石纳米学位》。
b.开放教材和教程:许多大学和机构提供了免费的开放教材和教程,涵盖人工智能的各个方面。以下是一些开放教材的例子:
Google开放课程:Google开发者平台提供了许多免费的课程和教程,涵盖了人工智能和机器学习的各个领域。GitHub资源:GitHub上有许多开源的人工智能项目和教程,可以从中学习并参与实践。c.社交学习平台和论坛:加入人工智能领域的社交学习平台和在线论坛,与其他学习者和专业人士进行交流和讨论。以下是一些受欢迎的平台和论坛:Kaggle:Kaggle是一个数据科学和机器学习的社区平台,你可以参与竞赛、分享代码和学习资源。StackOverflow:StackOverflow是一个程序设计和技术问答平台,你可以在这里提问和回答与人工智能相关的问题。AI知乎社区:知乎上有一些与人工智能相关的讨论区,你可以在这里浏览和参与与人工智能相关的话题。除了以上资源,还可以通过阅读人工智能领域的书籍、关注相关博客和技术资讯网站,以及参与线下或在线的人工智能社区活动来扩展知识和建立联系。在使用在线学习资源时,要制定学习计划,并保持积极的学习态度。跟随课程或教材的指导,完成练习和作业,并尝试自己的项目和实践。这样可以加深理解,并将所学知识应用到实际场景中。4.参与实践项目:通过实践项目来应用所学知识。找到一些开源项目或者参与竞赛,如Kaggle竞赛,这样你可以与其他人一起解决实际问题,并学习最佳实践。
参与实践项目是学习人工智能的重要一步。以下是详细建议:a.开源项目:寻找一些开源的人工智能项目,这些项目通常有公开的代码和文档,可以让你学习和参与。GitHub是一个很好的平台,你可以在上面找到各种人工智能相关的项目。选择一个你感兴趣的项目,阅读代码和文档,尝试理解和运行项目,并根据自己的理解进行修改和扩展。b.竞赛参与:参加人工智能竞赛是提升实践能力的好方法。Kaggle是一个著名的竞赛平台,上面有各种数据科学和机器学习竞赛。选择一个适合自己水平的竞赛,阅读竞赛说明和数据集,尝试构建和优化模型,并与其他参赛者交流和学习。即使你在竞赛中没有获胜,参与过程中也能够获得宝贵的经验和反馈。c.自己的项目:选择一个感兴趣的问题或应用场景,尝试自己设计和实现一个人工智能项目。可以从简单的问题开始,逐步增加复杂度。例如,构建一个图像分类器、创建一个聊天机器人、实现一个推荐系统等。在项目中,你将面临实际问题和挑战,需要运用所学的知识和技术来解决,并通过迭代和改进来提升项目的性能。d.协作项目:与其他学习者或专业人士一起合作完成一个人工智能项目。可以加入专业社区或在线学习平台上的团队项目,或者主动寻找志同道合的人合作。协作项目可以让你与他人共同解决问题,分享经验和技术,并获得反馈和指导。通过与他人合作,你可以学习团队合作和项目管理的技能,并从其他人的经验中获益。参与实践项目时,要注重问题解决的过程和方法,而不仅仅关注结果。在实践中会遇到挫折和困难,但保持耐心和坚持,不断学习和改进。通过实践项目,你将能够将所学知识转化为实际应用,并提升自己的实践能力和项目经验。5.加入社区和讨论组:加入人工智能的社区和在线讨论组,与其他学习者和专业人士交流。这将帮助你获得支持、分享经验,并获取更多资源和学习建议。与专业人士和社区保持联系是学习人工智能的重要一环。以下详细建议:a.专业社区参与:加入与人工智能相关的专业社区,如在线论坛、社交媒体群组和知识共享平台。这些社区提供了与其他专业人士、学者和学习者交流和互动的机会。你可以向他们提问问题、分享经验、讨论最新的研究成果和技术趋势。一些受欢迎的人工智能社区包括Reddit上的/r/MachineLearning、LinkedIn上的人工智能专业群组、Quora上的相关话题等。b.专业会议和研讨会:关注人工智能领域的专业会议和研讨会,尽可能参加这些活动。会议提供了与领域专家面对面交流的机会,可以了解最新的研究成果、技术创新和行业趋势。通过参与讨论、听取演讲和参加工作坊,你可以深入了解人工智能领域的前沿知识,并建立与专业人士的联系。c.寻找导师或指导:努力寻找在人工智能领域有经验的导师或指导人,可以是教授、行业专家或研究人员。他们可以为你提供指导、建议和反馈,帮助你规划学习路线、解决难题和探索研究方向。你可以通过学术机构、专业社区、社交媒体等途径寻找导师或指导人,并向他们表达你对学习人工智能的兴趣和动机。d.学习小组和合作伙伴:与其他学习人工智能的人组成学习小组或寻找合作伙伴,一起学习、讨论和解决问题。通过互相交流和合作,你可以互相激励、共同进步,并分享不同的观点和经验。学习小组可以通过线下聚会、在线会议或共享项目来加强合作与交流。e.持续学习和更新:人工智能领域的知识和技术在不断发展和演进,因此要保持持续学习和更新的态度。订阅和关注权威的人工智能相关博客、技术资讯网站和学术论文,了解最新的研究成果和技术趋势。参加在线研讨会、网络研讨会和工作坊,深入了解特定领域的最新进展。定期参与进修课程、学术培训和认证项目,提升自己的专业能力。
保持与专业人士和社区的联系,可以让你与领域内的专家和同行交流和互动,获得反馈和指导,并了解最新的发展动态。这种交流和合作有助于拓宽视野、增加专业认知,并促进个人成长和职业发展。
6.持续学习和跟踪最新发展:人工智能领域变化迅速,持续学习和跟踪最新的研究和技术是非常重要的。关注学术论文、技术博客、专业社交媒体和行业会议,保持对人工智能领域的更新。
与人工智能相关的实践经验和项目经历对于学习和职业发展至关重要。以下是详细建议:
a.实践项目的选择:选择与你感兴趣和关注的领域相关的实践项目。这可以是一个现实世界的问题、一个创新的应用场景或一个有挑战性的技术项目。通过实践项目,你可以应用所学的知识和技术,解决实际问题,并在解决过程中获得宝贵的经验和见解。
b.自我驱动和目标设定:在实践项目中,要保持自我驱动和目标设定的能力。确定你想要达到的目标,并制定相应的计划和里程碑。设定具体、可量化和可实现的目标,例如学习一种新的人工智能算法、完成一个特定的项目阶段或提交一篇技术文章。这样可以帮助你保持动力和专注,以实现你的学习和职业目标。
c.实践项目的规划和管理:在进行实践项目时,要进行合理的规划和管理。制定项目计划、任务清单和时间表,以确保项目的顺利进行和完成。了解项目的需求和约束条件,并合理分配资源和时间。采用适当的项目管理工具和方法,如使用项目管理软件、敏捷开发方法或Scrum等,以提高项目的效率和质量。
d.团队合作和沟通:在实践项目中,与团队成员进行有效的合作和沟通至关重要。与团队成员分享你的想法、进展和困难,倾听他们的反馈和建议。遵循良好的团队沟通和协作原则,如及时回应消息、分配任务和责任、定期开会和讨论等。团队合作可以促进知识共享、技术互助和创新思维。
e.反思和改进:在实践项目结束后,进行反思和改进是非常重要的。回顾项目的整体过程和结果,分析成功因素和问题所在。识别你在项目中学到的经验和教训,并思考如何改进自己的方法和技能。这样可以不断提升自己的实践能力,并在下一个项目中做得更好。
通过实践项目,你可以将理论知识应用到实际场景中,培养解决问题的能力,并建立自己的项目经验。这些实践经验对于学习人工智能、提升职业竞争力和进一步发展职业生涯都具有重要意义。
如果你对人工智能感兴趣,欢迎私聊我,我会邀请你加入我们的学习群,里面有专业的老师,会不定期分享学习资料。或者直接加我微信:Pr1stine
微软推出首个生成式人工智能的职业证书
微软增加了一种新的培训和认证类型,以满足人们最近对人工智能的兴趣和热情。作为该公司就业技能计划的一部分,新的生成式人工智能专业证书将颁发给参加了人工智能免费课程,并按照要求通过考试的人。
通过LinkedInLearning提供的生成式人工智能职业基础计划,人们可以免费学习生成式人工智能课程。OpenAI、微软和谷歌等公司推出了自己的人工智能聊天机器人,这种形式的人工智能随即引起了巨大的反响。人们可以对它提问,获取信息并创造内容。
随着这股新的热潮,人工智能渗透进了更多的产品、服务和组织。这种转变意味着更多的工人将需要了解如何使用人工智能,这种认识促使微软设计了这种新的证书。
在一篇发表在LinkedIn上的文章中,微软慈善企业副总裁KateBehncken称这是首个生成式人工智能专业证书。通过这五门课程,人们将从学习人工智能的基本概念开始,然后进展到人工智能框架。通过评估后,人们就可以获得基础职业证书。
该课程包括以下几个部分:
什么是生成式人工智能?——了解生成式人工智能的基础知识,包括它的历史、流行的模型、它是如何工作的、道德影响以及其它相关知识。生成式人工智能:演变为会思考的在线搜索——探索搜索引擎和推理引擎之间的区别,重点学习在生成式人工智能世界中深思熟虑的搜索策略。利用微软必应聊天简化工作——学习如何充分利用微软必应聊天来简化同时自动化你的工作。生成式人工智能时代的伦理问题——学习为何伦理思考是生成式人工智能创建和部署过程中的一个重要部分,并且探索解决这些伦理挑战的方法。人工智能简介——简要了解人工智能领域顶级工具。目前该证书只有英语版本,在未来几个月里,微软将提供西班牙语、葡萄牙语、法语、德语、简体中文和日语版本。继“职业技能计划”中其它六个职业基础技能证书之后,微软将在2025年之前上线免费的人工智能课程。
除了这类以取得证书为导向的人工智能培训,Behncken表示微软还将推出一个工具包,主要面向那些给不同人群和社区提供相应培训的老师和培训师。该工具包将包含一些实际可用的、关于人工智能的内容可供下载,供培训师使用,同时还有为教育工作者们设计的人工智能课程。
另外,微软还在酝酿几个旨在促进人工智能领域相关知识学习的挑战性项目。
微软的“学习人工智能技能挑战”将于7月17日上线,旨在通过微软的产品教授人们如何使用人工智能。该公司还将与GitHub和data.org合作推出“生成式人工智能资助挑战赛”,这是一个面向非营利性组织、社会企业以及教育或者研究机构的公开资助计划,重点是为世界各地以前一直被边缘化的人群引入人工智能。
微软工作趋势指数最近的一次调查显示,62%的受访者表示·他们每天上班都要花很多时间在搜索信息上。尽管有半数受访者担心人工智能可能会取代他们的工作,但还有70%的人表示他们会尽可能地让人工智能来干活以减轻自己的工作量。
最全的AI教程。自学人工智能攻略!
不少同学跃跃欲试,想投入AI的怀抱,但苦于不知如何下手。其中,人工智能的核心就是机器学习(MachineLearning),它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。我们今天就来分享一篇来自EliteDataScience上专门讲给机器学习入门自学者的教程,一步步教你如何从基础小白进阶为ML大拿。快上车吧,别找硬币了,这趟车不要钱!
GitHub上,有个新发布的深度学习教程,叫PracticalAI,今天刚刚被PyTorch官方推荐,已经收获2600多标星。
项目基于PyTorch,是从萌新到老司机的一条进阶之路。这条路上每走一步,都有算法示例可以直接运行。新手可以从基础的基础开始学起,不止线性规划和随机森林,连笔记本怎么用,NumPy等重要的Python库怎么用,都有手把手教程。
欢迎加入我们的Python+AI交流群:7848.6745
到中后期,可以学着搭高级的RNN,厉害的GAN,这里还有许多实际应用示例可以跑。毕竟,这是一个注重实践的项目。这里的算法示例,可以用GoogleColab来跑,免费借用云端TPU/GPU,只要有个Chrome就够了。没梯子的话,就用JupyterNotebook来跑咯。
PracticalAI里面的内容,分为四个部分,并将持续更新:基础(Basics),深度学习入门(DeepLearning),深度学习高阶(Advanced),以及具体应用(Topics)。注:此处非直译。·基础部分,除了有Python指南、笔记本用法,以及Numpy、Pandas这些库的用法,还有线性规划、逻辑规划、随机森林、k-means聚类这些机器学习的基本技术。
有了这些,可以走进深度学习的世界了。
深度学习入门,包括了PyTorch指南、多层感知器(MLP)、数据与模型、面向对象的机器学习、卷积神经网络(CNN)、嵌入,以及递归神经网络(RNN)。深度学习高阶,会涉及更高级的RNN、自编码器、生成对抗网络(GAN),以及空间变换网络(SpatialTransformerNetworks)等等。
欢迎加入我们的Python+AI交流群:7848.6745
最后是应用。计算机视觉是个重要的方向。除此之外,还会涉及时间序列分析(TimeSeriesAnalysis),商品推荐系统,预训练语言模型,多任务学习,强化学习等等示例可以运行。也可以修改示例,写出自己的应用。细心的小伙伴大概发现了,表格里的有些话题还没有加链接(如上图)。项目作者表示,这些部分很快就会更新了。
另外,表上还有没填满的格子,作者也欢迎大家前去添砖加瓦。
食用说明,无微不至
项目作者用了三点来描述这个项目:
一是,可以用PyTorch来实现基础的机器学习算法,以及神经网络。二是,可以用GoogleColab直接在网页上运行一切,无需任何设定(也可以用Jupyter跑)。三是,可以学做面向对象的机器学习,与实际应用联系紧密,不止是入门教程而已。
那么如何上手?笔记本跑起来啊:(步骤几乎是针对Colab写的。Jupyter用户可忽略。)
第一步,项目里进到notebooks目录。第二步,用GoogleColab去跑这些笔记本,也可以直接在本地跑。第三步,点击一个笔记本,把URL里的这一段:https://github.com/替换成这一段:https://colab.research.google.com/github/或者用OpenInColab这个Chrome扩展来一键解决。第四步,登录谷歌账号。第五步,点击工具栏里的COPYTODRIVE按钮,就可以在新标签页里打开笔记本了。第六步,给这个新笔记本重命名,把名称里的Copyof去掉就行。第七步,运行代码,修改代码,放飞自我。所有改动都会自动保存到GoogleDrive。开始学吧,不然等到内容更新了,要学的就更多了。
项目传送门:https://github.com/GokuMohandas/practicalAI/
欢迎加入我们的Python+AI交流群:7848.6745
作者:量子位来源:知乎
如何自学人工智能
欢迎关注作者:大数据教程,AI教程、学习资源、论文解读,你想看的都在这里!最近不少同学跃跃欲试,想投入AI的怀抱,但苦于不知如何下手。其中,人工智能的核心就是机器学习(MachineLearning),它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。
我们今天就来分享一篇来自EliteDataScience上专门讲给机器学习入门自学者的教程,一步步教你如何从基础小白进阶为ML大拿。快上车吧,别找硬币了,这趟车不要钱!
你是否正在准备自学机器学习,但又不知道怎么去学?
今天我们在这篇文章里就教你怎样免费获得世界级的机器学习教育,你既不需要有博士学位,也不必是技术大牛。不管你是想成为数据科学家还是在开发中使用机器学习算法,其实你都能比想象中更快地学习和应用机器学习。
本文告诉你在机器学习之路上的几个步骤,保你不会迷路,下面开始我们的表演。
第一步:先搞懂什么是机器学习在闷头学习机器学习之前,最好先把什么是机器学习搞清楚,了解机器学习的基本概念。
简单来说,机器学习就是教电脑怎样从数据中学习,然后做出决策或预测。对于真正的机器学习来说,电脑必须在没有明确编程的情况下能够学习识别模型。
机器学习属于计算机科学与统计学的交叉学科,在多个领域会以不同的面目出现,比如你应该听过这些名词:数据科学、大数据、人工智能、预测型分析、计算机统计、数据挖掘······
虽然机器学习和这些领域有很多重叠的地方,但也不能将它们混淆。例如,机器学习是数据科学中的一种工具,也能用于处理大数据。
机器学习自身也分为多个类型,比如监督式学习、非监督式学习、增强学习等等。例如:
邮件运营商将垃圾广告信息分类至垃圾箱,应用的是机器学习中的监督式学习;电商公司通过分析消费数据将消费者进行分类,应用的是机器学习中的非监督式学习;而无人驾驶汽车中的电脑合摄像头与道路及其它车辆交互、学习如何导航,就是用到了增强学习。
想了解机器学习的入门知识,可以看看一些网络课程。对于想对机器学习领域的重点慨念有个基础的了解的人来说,吴恩达教授的机器学习入门课程绝对必看
以及“无人车之父”SebastianThrun的《机器学习入门》课程,对机器学习进行了详细介绍,并辅以大量的编程操作帮助你巩固所学内容
当然也少不了集智君整理制作的免费专栏,在这里你可以免去安装环境的烦恼,直接投入简单地机器学习训练中来:
边看边练的机器学习简明教程
这些课程都是免费的哦!
大概了解机器学习后,我们就来到知识准备阶段了。
第二步:预备知识如果没有基本的知识储备,机器学习的确看起来很吓人。要学习机器学习,你不必是专业的数学人才,或者程序员大牛,但你确实需要掌握这些方面的核心技能。
好消息是,一旦完成预备知识,剩下的部分就相当容易啦。实际上,机器学习基本就是将统计学和计算机科学中的概念应用在数据上。
这一步的基本任务就是保证自己在编程和统计学知识上别掉队。
2-1:用于数据科学中的Python编程
如果不懂编程,是没法使用机器学习的。幸好,这里有份免费教程,教你如何学习应用于数据科学中的Python语言
2-2:用于数据科学的统计学知识
了解统计学知识,特别是贝叶斯概率,对于许多机器学习算法来说都是基本的要求。这里有份学习数据学习中统计学知识的教程
2-3:需要学习的数学知识
研究机器学习算法需要一定的线性代数和多元微积分知识作为基础。点这里,获取一份免费学习教程
第三步:开启“海绵模式”,学习尽可能多的原理知识所谓“海绵模式”,就是像海绵吸水一样,尽可能多地吸收机器学习的原理和知识,这一步和第一步有些相似,但不同的是,第一步是对机器学习有个初步了解,而这一步是要掌握相关原理知识。
可能有些同学会想:我又不想做基础研究,干嘛要掌握这些原理,只要会用机器学习工具包不就行了吗?
有这个疑问也很正常,但是对于任何想将机器学习应用在工作中的人来说,学习机器学习的基础知识非常重要。比如你在应用机器学习中可能会遇到这些问题:
数据收集是个非常耗时耗力的过程。你需要考虑:我需要收集什么类型的数据?我需要多少数据?等此类的问题。
数据假设和预处理。不同的算法需要对输入数据进行不同的假设。我该怎样预处理我的数据?我的模型对缺失的数据可靠吗?
解释模型结果。说机器学习就是“黑箱”的观点明显是错误的。没错,不是所有的模型结果能直接判读,但你需要能够判断模型的状况,进而完善它们。我怎么确定模型是过度拟合还是不充分拟合?模型还有多少改进空间?
优化和调试模型。很少有人刚开始就得到一个最佳模型,你需要了解不同参数之间的细微差别和正则化方法。如果我的模型过度拟合,该怎么修正?我应该将几个模型组合在一起吗?
要想在机器学习研究中解答这些问题,掌握机器学习的知识原理必不可少。这里推荐两个世界级的机器学习课程,一定会让你受益良多:
哈佛大学的机器学习课程,让你了解从数据收集到数据分析的整个流程(提示:这个课程和吴恩达教授的课程配合食用,效果更加)
斯坦福大学的机器学习课程,清楚地讲解了机器学习的核心概念还有两部值得读的参考书籍:《统计学习导论》和《统计学习基础》
这两部书的英文原版下载地址:
《AnIntroductiontoStatisticalLearning》
《ElementsofStatisticalLearning》
注:看不惯英文原版的同学,可以去读这两本书的中文版。
集智也建议大家可以多逛逛Reddit上的机器学习论坛:
机器学习版块1
机器学习版块2
机器学习版块3
当然,Quora上的机器学习版块也很有料
逛论坛不容易看到高阶知识,你不能一直停留在菜鸟阶段不是,要升级就有必要看看专业的论文。arXive是个好去处,是个收集物理学、数学、计算机科学与生物学的论文预印本的网站。
人工智能版块
机器学习版块
如果嫌自己搜索论文太麻烦,可以在网站arxiv-sanity.com上注册一个账号,它可以按自己的感兴趣标签给你推送最新的arXive上的论文。
第四步:针对性实际练习在开启“海绵模式”后,你应该掌握了机器学习的基础理念知识,接着就该实际操作了。实际操作主要是通过具体的、深思熟虑的实践操作增强你的技能。本步目标有三个:
练习机器学习的整个流程:收集数据,预处理和清理数据,搭建模型,训练和调试模型,评估模型。
在真正的数据集上实践操作:对于什么样的数据适合用什么类型的模型,自己应逐渐建立这方面的判断能力。
深度探究:例如在上一步,你学习了很多机器学习算法知识,在这一步就要将不同类型的算法应用在数据集中,看看哪个效果最好。
完成这一步后,就可以进行更大规模的项目了。
4-1九个基本部分
机器学习是一个非常广泛和丰富的领域,几乎在每个行业都有应用。因为要学习的东西太多,初学者很容易发慌,而且在面对很多个模型时也很容易迷失,看不到大局。
因此,我们把机器学习大概划分为九个部分:
ML整体学习:
基本的机器学习原理,比如方差权衡这些知识。
优化:
为模型发现最优参数的算法。
数据预处理:
处理缺失数据、偏态分布、异常值等。
取样和拆分:
怎样拆分数据集来调整参数和避免过度拟合。
监督式学习:
使用分类和回归模型从标记数据中学习。
非监督式学习
使用因素和集群分析模型从非标记数据中学习。
模型评估
根据不同的性能度量做出决策。
集成学习
将不同模型相结合,达到更好的性能。
商业应用
机器学习如何帮助不同类型的商业业务。
4-2实践工具
对于初学者,我们建议采用现成可用的算法,这样可以把时间用在熟悉机器学习流程上,而不是写算法。根据你使用的编程语言,有两个不错的工具:
Python的Scikit-Learn
R语言的Caret
4-3利用数据集实践操作
在这步需要用数据集进行搭建和调试模型的实际操作,也就是将你在“海绵模式”阶段学到的理论转变为代码。我们建议你选择UCIMachineLearningRepo,Kaggle和http://Data.gov上的数据集开始入手:
第五步:机器学习项目终于到了最后一步,也是很有意思的一步。目前为止,我们已经完成了:知识储备、掌握基本原理、针对性练习等阶段,现在我们准备探究更大的项目:
这一步的目标就是练习将机器学习技术应用于完整的端到端分析。
任务:完成下面的项目,依次从易到难。
5-1:“泰坦尼克号”幸存者预测
“泰坦尼克号”幸存者预测是练习机器学习时相当流行的选择,而且有非常多的教程可供参考。
5-2从零开始写算法
我们建议你先以一些简单的方面写起:逻辑回归、决策树、k最近邻算法等。
如果中间卡住了,这里有些小技巧可以参考:
维基百科是个不错的资源库,提供了一些常见算法的伪代码。
可以看看一些现成ML工具包的源代码,获得灵感。
将算法分为几部分。写出取样、梯度下降等的分离函数。
在开始写整个算法前,先写一个简单的决策树。
5-3选个有趣的项目或自己感兴趣的领域
其实这应该是机器学习最棒的部分了,可以利用机器学习实现自己的想法。
如果实在没想到好点子,这里有8个有趣的初学者机器学习实践项目
结语如果你按照这个步骤一步步扎实学习的话,相信你最终一定在机器学习方面小有成就!
我们对初学机器学习的人还有10个小小的tips:
为自己设定学习目标和期限,尽力完成。
打好学习基础,掌握基本理论。
将实践理论相结合,不要只关注某一个方面。
试着自己从头写几个算法。
多角度思考问题,找到自己感兴趣的实践项目。
多想想每个算法能产生什么价值。
不要相信科幻电影中对ML的胡吹。
别过度理会网上关于ML知识的争论。
多想想数据的“输入/输出”,多问问“为什么”。
上集智,第一时间将自己升级→→集智
最后,祝同学们学有所成!
注:原文为英文,因此列举的学习资源多为英文。如果担心自己英文不好其实也没关系,因为学习思路是一样的,在相应阶段寻找中文学习资料就ok了。