机器学习小白如何成长为业内专家?

请收下这份关于人工智能的根目录——博客整理系列(一)

关于数据科学的那些事——博客整理系列(二)

机器学习必备手册——博客整理系列(三)

扩展眼界的都在这——博客整理系列(四)

深度学习必备手册(上)——博客整理系列(五)

在过去的一段时间内,我通过不断的深入学习,成长为一名不错的机器学习从业者。为此我接受了一个小时的访谈,以此来总结我学习的历程。学习机器学习主要有两种方法:理论机器学习方法和应用机器学习方法。

理论机器学习

对于学习机器学习的理论方法,下面的课题应该进行深入的研究。

1.线性代数 -  MITIISc班加罗尔

2.微积分 -  基础,Coursera高级,Coursera

3.概率和统计 -  麻省理工学院

4.统计学习理论 -  麻省理工学院斯坦福

5.机器学习 -  CourseraCaltech

接着就是阅读和研究论文,实施研究工作/新算法,发展专业知识,并进一步选择专业化的研究路径。
应用机器学习

应用机器学习需要条件。

1.对上述科目的基础知识(1至4)很好的理解。

2.Python  或R编程语言,根据您的偏好。

3.学习使用所选编程语言中流行的机器学习、数据操作和可视化库。我个人使用Python编程语言,因此我将在下面详细说明。

4.必须知道Python库:  numpy,  pandas,  scikit-learn,  matplotlib

5.其他流行的Python库:  LightGBM,  XGBoost,  CatBoost

速成机器学习方法

如果你想了解什么是机器学习和它可能是什么样的。你可以通过这种方式进行实验,快速掌握。

1.了解机器学习概念概述

2.学习Python或R

3.了解并学习使用您选择的语言使用流行的库

Python环境设置

1Python

1.1:Python.org  下载, 学习

1.2:Anaconda  下载学习

2.代码编辑器/ IDE

2.1:Visual Studio代码(搜索并安装Python扩展,选择最下载的一个)

2.2:Notepad+ +

2.3:Jupyter(与Anaconda 一起安装)

3.安装python

3.1:使用python的本地工具管理软件包: pip
install <package-name>

3.2:用anaconda管理软件包: conda
install <package-name>

4.管理Python(本地)虚拟环境(如果需要多个环境)

4.1:创建虚拟环境: python
-m venv c:\path\to\env\folder

4.2:命令帮助: python
-m venv -h

4.3:切换环境:  activate.bat 位于虚拟环境文件夹中的脚本

4.4:Python(本地)虚拟环境  文档

5.管理Anaconda虚拟环境(如果需要多个环境)

5.1:默认conda环境 - root

5.2:列出可用的环境 - conda
env list

5.3:创造新的环境 - conda
create --name environment_name

5.4:切换到环境 -  activate environment_name 

5.5:Anaconda虚拟环境文档

机器学习概念概述

机器学习:是一种通过函数f(x)从大量数据中找到模式的方法,该函数有效地推广到看不见的x, 从而在未被看到的数据中找到学习模式,并使机器学习模型得到训练。

数据集:数据被用于应用机器学习,并从中找到模式。对于监督式机器学习应用程序,数据集包含  x (输入/属性/自变量)和 y(目标/标签/因变量)数据。对于无监督的数据,它只是  x,输入和数据的输出是某种学习模式。

Train set(数据集):数据集的一个子集,用于(训练)机器学习算法以学习模式。

评估/验证/交叉验证集:数据集的子集,不在训练集中,用于评估机器学习算法的工作方式。

测试集:数据集检验学习成果。对于监督问题,训练集合测试集不能相同。对于无人监督,训练和测试集可以是相同的。

算法类型:

监督学习:在监督问题中,历史数据包括需要为将来/不可见数据预测的标签。例如,对于房屋价格预测,我们有关于房屋(面积,卧室数量,位置等)和价格的数据。在对具有给定数据(X数据)和价格(Y标签)的机器学习模型进行后续训练之后,将针对新的/不可见数据(X)预测将来的价格(Y)。

无监督学习:在无监督学习中,没有标签或目标属性。一个典型的例子是基于学习模式的数据聚类。对于房屋细节(面积,位置,价格,卧室数量,建成日期等)的数据集,算法需要查找是否有任何隐藏的模式。例如,一些房屋非常昂贵,而另外一些则是平常的价格。一些房子很大,而一些房子的大小一般。有了这些模式,记录/数据被聚集成一组,如豪宅,非豪宅,Bunglows,公寓等。

强化:在强化学习中,“代理”在“环境”中起作用,并收到正面或负面的反馈。正面的反馈告诉一个代理,它做得很好,代理进行类似的计划/行动。负面反馈告诉代理商,它做了一些错误的事情,应该改变它的行动方式。代理和环境是软件/编程实现。强化学习的核心是建立一个能够成功完成一个环境中的特定任务的代理。

常用算法:线性回归Logistic回归支持向量机K-最近邻居决策树随机森林梯度提升

预处理:在现实世界的场景中,机器学习算法可以直接应用的状态下,数据很少干净整洁。预处理是一个清理数据的过程,供给机器学习算法。一些常见的预处理步骤是:

1.缺失值:当某些值丢失时,通常通过添加中值/平均值或删除相应的行,或使用前一行的值等来处理。有很多方法可以做到这一点。究竟需要做什么取决于数据的种类。

2.分类变量:离散有限的一组值,像“车型”,“部门”等,这些值被转换成数字或向量。转换为矢量被称为单热编码。在Python中有很多方法。一些机器学习算法/库本身通过内部编码来处理分类列。一种编码方式是 在scikit-learn中使用  sklearn.preprocessing.OneHotEncoder

3.比例缩放:按比例将列中的值缩减为常用比例,如0到1.在所有列中的值在一个共同的范围内可以在一定程度上提高准确性和训练速度。

4.异常值:异常值需要根据问题和商业案例逐个处理。

数据转换:当数据集中的列/属性没有固有的模式时,它会被转换成log(values),sqrt(values)等等。

特征工程:特征工程是从现有数据中获取隐藏洞察的过程。考虑一个房屋价格预测数据集,其中有“房屋宽度”,“房屋长度”,“卧室数量”和“价格”两列。在这里,我们看到房子的一个关键属性区域缺失,但可以根据“绘图宽度”和“绘图长度”进行计算。所以一个计算列,“面积”被添加到数据集。这被称为特征工程。

训练:这是机器学习算法对给定数据进行训练以找出应用于未知数据的一般化模式的主要步骤。

降维: Dimentionality减少的目的在于找到所有功能中最重要的功能,旨在减少 维度 的数据。您可以在这里找到更多关于降维的信息

评估度量标准:评估度量标准是用于评估其正确性预测的度量标准。机器学习算法在训练时使用评估度量来评估,计算成本并优化成本凸函数。尽管每个算法都有一个默认评估指标,但建议根据业务案例/问题指定确切的评估指标。

参数调整:尽管当今最先进的算法大部分都具有合理的参数默认值,但通过调整参数来控制模型的准确性并改善总体预测,总是有帮助的。参数调整可以通过反复改变和评估准确性来反复试验。或者,可以提供一组参数值来尝试所有这些参数的不同排列,并找到最佳的参数组合。这可以在scikit-learn中使用称为超参数优化器的一些辅助函数完成  。

过度拟合:过度拟合是机器学习模型几乎记忆所有训练数据并且几乎准确地预测已经在训练集中的数据的状态。这是一个模型未能概括和预测未被看见的数据的状态。可以使用正则化来处理过度拟合,如果配置不当,则调整超参数,从而阻止部分数据集使用正确的交叉验证(1)(2)策略。

欠拟合(差异):欠拟合是即使在预测训练集中的数据时,机器学习模型的预测也不会很好。这也被称为具有高方差的模型。欠拟合可以处理添加更多数据,添加/删除特征,尝试不同的机器学习算法等。

正则化:在模型试图进一步学习(减少错误,倾向于过度拟合)的某个时刻,正则化有助于对付过度拟合效应。正则化通常是在成本/误差计算过程中添加的参数。机器学习算法可能不是明确地提供正则化参数。在这种情况下,通常还有其他一些参数可以调整,以在必要的范围内引入正规化。

预测:为了用训练的机器学习模型进行预测,通过提供测试数据集作为参数来调用模型的预测方法。测试数据集应该按照训练数据集的方式进行预处理。换句话说,在用于训练的机器学习模型的相同格式的训练数据中。

其他术语:

模型堆叠:当单个学习算法不好时,多个机器学习算法被用来进行预测,并且预测以不同的方式组合在一起。最简单的是加权预测。有时,其他机器学习模型(元模型)被用在第一级模型的预测之上。这可能会达到任何复杂程度,并可能有不同的管道。

深度学习

有趣的是,今天解决的所有机器学习问题中的大部分(我猜测超过90%)都是使用随机森林,梯度增强决策树,SVM,KNN,线性回归,Logistic回归来解决的。

但是,有一些问题不能用上述技术来解决。类似图像分类,图像识别,自然语言处理,音频处理等问题,但可以使用称为深度学习的技术来解决。在开始深入学习之前,我相信首先要掌握所有上述概念。

良好的深度学习资源:

1.Fast.ai  -  Pranay Tiwari

2.neuralnetworksanddeplearning.com - 一本在线书籍,强调理论和基础

3.Coursera的深度学习专长Andrew Ng

4.deeplearningbook.org - 一本在线书籍

如果你知道深度学习的概念,一些流行的深度学习库是:KerasCNTKTensorflowtflearnpytorchTheano

实践:

练习是最重要的,没有提及练习机器学习,这个指南是不完整的。要进一步练习和掌握你的技能,下面是你可以做的事情:

从各种在线数据源获取数据集。一个这样流行的数据源是 UCI机器学习库

另外,您可以  搜索“机器学习数据集”

关注数据科学,关于Quora的机器学习主题,很多伟大的建议和问题/答案。

最后的想法:
如果您正在认真从事机器学习/数据科学领域,或者您正在考虑改变职业生涯,请考虑您的动机以及您为什么愿意这样做。

如果你确定,我有一个建议给你。 永远不要放弃。这绝对是值得的,我可以说,从过去18个月以来,我走过了这条路......几乎每一天,每个周末和每个闲暇的时间(除了我旅行时,或者完全被我的日常工作所淹没)。掌握数据科学的道路并不容易。正如他们所说: “罗马不是一天建成的!”。你需要学习很多科目,兼顾不同的学习重点。即使学了很多东西,你仍然会发现以前从来没有想过或听说过的新东西。你不断发现的新概念/新技术可能会让你觉得你还是不了解很多东西,还有更多的理由要报道。这很常见。只要坚持下去。设定大目标,计划小任务,只关注手头的任务。

文章原标题《getting-started-machine-learning-one-hour》,

作者:Abhijit Annaldas是一位软件工程师,也是一位贪婪的学习者,自学获得了机器学习方面的知识和专业知识。译者:虎说八道,审阅:

文章为简译,更为详细的内容,请查看原文

时间: 2024-09-24 22:49:03

机器学习小白如何成长为业内专家?的相关文章

机器学习小白入门指引,开年也要规划好小目标

经常有人问我如何开始学习机器学习,他们面临的最大困难就是机器学习背后的数学原理.我承认其实我也不喜欢数学.数学是对事物的一种抽象描述,用数学来描述机器学习,会过于抽象,且不容易理解.因此在这个系列的文章中,我尝试使用伪代码或者JavaScript来描述我所讲述的内容. 我在GitHub上创建了项目仓库,我会将一些实验代码同步到代码库中,以便您可以跟随我的步骤,或者在这些实验代码之上实现自己的东西.这些代码运行时可能会时不时报错,所以我称之为实验代码 J 你必须知道的第一个事情是同一个问题会有不同

小白学数据分析-----&gt;什么是活跃_I(DAU)

最近和几个人聊天,大家对于活跃都有着自己的看法,此外因为一些标准的问题,不熟悉分析术语的很多人把活跃,留存等很多信息都搞混了.后来发现这是一个很现实的问题.在一些我 看来不是问题的问题都变成了问题了,因此在此特地说说活跃的事,帮助更多从事游戏数据分析的小白们成长. 究竟什么是活跃?在日常与外界合作过程中,我们经常日活跃.周活跃.月活跃等等信息,貌似听起来比较简单,但是真正如果自己实施操作统计数据时却发现自己又不懂这些定义,因此作为一些分析师.甚至开发人员就会发现很难去操作.以下我将描述三个活跃的

《伟大的计算原理》一 第2章 Great Principles of Computing 计 算 领 域

第2章 Great Principles of Computing 计 算 领 域 生物学是一种信息科学. --David Baltimore 除了理论和实验之外,计算是进行科学研究的第三种方式. --Kenneth Wilson 科学与科学应用密不可分,如同一个树上结出的多枚果实. --Louis Pasteur 计算活动由人类实施,而不是基本原理.在长期的实践活动中,人们的计算活动逐渐形成了丰富多样的计算领域(computing domain).每一个计算领域主要关注一项技术或其应用.例如,

《伟大的计算原理》一人工智能

人工智能 让机器可以执行人类智力活动的想法可以追溯到5个世纪之前.1642年,Blaise Pascal建造了一台机械式计算器.1823年,Charles Babbage发明了差分机,用于自动进行算数函数的计算.在19世纪后期,一个名为"mechanical Turk"的自动下棋机器人,在受到广泛关注后最终被发现只是一个恶作剧(Standage 2003).实际上,很多这些类似的想法都可以被看作人工智能的萌芽(Russell and Norvig 2010).1956年,在Claude

从躁动的“互联”进化

大互联,就是广阔的互联. 1 躁动的"互联" 截至2015年6月,中国网民规模达6.68亿,手机网民规模达5.94亿,互联网普及率48.8%,成为名副其实的网络大国.互联的实时性和时长大幅增加,连接数大幅增加,活跃性提升迅猛.各种移动互联网.O2O应用比比皆是,人们的生活也因此发生了天翻地覆的变化. 过去几年中,互联将"人-人"之间的连接发展到了极致,未来,"人-物"."物-物"互联将更加普遍.于是,智能家居崛起了.智能硬件火

用户自愿或被动的被这些乌托邦理想给带到沟里去了

自由.开放.免费等乌托邦式的理想充斥在互联网的诸多产品当中,用户自愿或被动的被这些乌托邦理想给带到沟里去了,亦或是互联网产品最初就存在歪心思,开源真的只有开源么?看似自由的互联网疆域里,远远没有想象中的美好,比如Cookies.网络犯罪.病毒等,这是我们能知晓但是无法防范的一面,还有更多的阴暗面,用户是被硬性捆绑的,这群自由国度的流氓们,从不放弃自己在用户身上获取利益. 下面我就来常见的移动互联网环境下的几种流氓手段,脱掉他们的遮羞布. 方式一:下载捆绑应用中心 某知名社交软件为了推广自己的应用

那些移动端应用上的“臭流氓”

摘要: 自由.开放.免费等乌托邦式的理想充斥在互联网的诸多产品当中,用户或自愿或被动的被这些乌托邦理想给带到沟里去了.看似自由的互联网疆域里,远远没有想象中的美好,用户被 自由.开放.免费等乌托邦式的理想充斥在互联网的诸多产品当中,用户或自愿或被动的被这些乌托邦理想给带到沟里去了.看似自由的互联网疆域里,远远没有想象中的美好,用户被硬性捆绑,这群自由国度的流氓们,从不放弃自己在用户身上获取利益. 自由.开放.免费等乌托邦式的理想充斥在互联网的诸多产品当中,用户或自愿或被动的被这些乌托邦理想给带到

移动端应用上的“臭流氓”

摘要: 自由.开放.免费等乌托邦式的理想充斥在互联网的诸多产品当中,用户或自愿或被动的被这些乌托邦理想给带到沟里去了.看似自由的互联网疆域里,远远没有想象中的美好,用户被 自由.开放.免费等乌托邦式的理想充斥在互联网的诸多产品当中,用户或自愿或被动的被这些乌托邦理想给带到沟里去了.看似自由的互联网疆域里,远远没有想象中的美好,用户被硬性捆绑,这群自由国度的流氓们,从不放弃自己在用户身上获取利益. 自由.开放.免费等乌托邦式的理想充斥在互联网的诸多产品当中,用户或自愿或被动的被这些乌托邦理想给带到

我是怎么样从运营小白在3年3时间成长到运营总监的

背景:11年下半年进入互联网公司实习,12年毕业进入创新工场投资的项目做运营经理,13年下半年负责一个内部孵化项目并实现盈利,期间出版了第一本关于产品经理面试的书,14年11月到朋友创办的公司负责运营,16年1月1号完成了一本26.5万字运营书籍的初稿. 一.11年,大四,运营专员 先说一下第一份工作,姑且把它叫做社区运营.为什么弃了BT两家的OFFER来做社区运营,原因很简单很单纯,因为当时的Leader说这是一个内部创业项目,并且公司会凭借这个项目上市,当时想法比较单纯,心里想着,万一实现了