如何在学习机器学习时学习数学?

摘要: 机器学习到底需要怎么样的数学基础?高段位机器学习如何练成?来瞧瞧。

到目前为止,我们都还不完全清楚开始机器学习需要什么样的数学水平,特别是那些没有在学校学习数学或统计学的人。

在这篇文章中,我的目标是提出建立产品或进行机器学习学术研究所需的数学背景。这些建议源于与机器学习工程师、研究人员和教育工作者的对话以及我在机器学习研究和行业角色方面的经验。

首先,我会提出不同的思维模式和策略,以便在传统课堂之外接近真正的数学教育。然后,我将概述不同类型的机器学习工作所需的具体背景,这些学科的范围涉及到高中统计和微积分到概率图形模型(PGM)。

关于数学焦虑的一个解释

事实证明,很多人包括工程师都害怕数学。首先,我想谈谈“善于数学”的神话。

事实是,擅长数学的人有很多练习数学的习惯。并不是他们先天就是擅长数学,你可能在看他们做数学时发现他们得心应手。要清楚,要达到这种舒适状态需要时间和精力,但这肯定不是你生就有的。本文的其余部分将帮助你确定所需的数学基础水平,并概述构建它的策略。

入门

作为先决条件,我们假设你有线性代数/矩阵运算以及概率计算的基本知识点。我还希望你有一些基本的编程能力,这将支持作为在上下文中学习数学的工具。之后,你可以根据你感兴趣的工作类型调整你的主要方向。

如何在校外学习数学?这个问题几乎困扰我们很多人。我相信专心学习数学的最佳方式是在学生的时代。在这种环境之外,你可能不会拥有学术课堂中的氛围、同伴和可用资源。

在校外学习数学,我建议组成学习小组,并学会及时分享各自的资源。相互激励在这里发挥着重要作用,这种“额外”的研究应该受到鼓励和激励,这样在学习上就会很有动力。

数学和代码

数学和代码在机器学习工作流程中是高度交织在一起的。代码通常是由数学模型构建,它甚至共享了数学符号。实际上,现代数据科学框架(例如NumPy)使得将数学运算(例如矩阵/矢量积)转换为可读代码变得直观和有效。

我鼓励你将写代码作为巩固学习的一种方式,数学和代码都是基于理性思考,写代码的过程其实就是理解数学公式的过程。例如,损失函数或优化算法的手动实现可以是真正理解基础概念的好方法。

通过代码学习数学的一个例子:在神经网络中实现ReLU激活的反向传播。作为简要的入门读物,反向传播是一种依赖于微积分链规则来有效计算梯度的技术。

首先,我们可视化ReLU激活,定义如下:

2eb7203d4a0fe09e5f732b5f0fe5b17216188abc

 

要计算梯度(直观地说,斜率),你可以想象一个分段函数,由指标函数表示如下:

e7018c1ce34682151c7c48683387f4f0da3b8d0c

NumPy为我们提供了有用、直观的语法,我们的激活函数(蓝色曲线)可以在代码中解释,其中x是我们的输入,relu是我们的输出:

relu = np.maximum(x, 0)

接下来是渐变(红色曲线),其中grad描述了upstream渐变:

grad[x < 0] = 0

在没有首先自己推导出梯度的情况下,这行代码你可能看的不是很明白。在我们的代码行中,(grad)对于满足条件的所有元素,将upstream梯度中的所有值设置为0 [h<0]。在数学上,这实际上相当于ReLU梯度的分段表示,当乘以upstream梯度时,它会将小于0的所有值压缩为0!

正如我们在这里看到的那样,通过我们对微积分的基本理解,我们可以清楚地思考代码。可以在此处找到此神经网络实现的完整示例。

为构建机器学习产品的数学

为了写这部分,我与机器学习工程师进行了交谈,以确定数学在调试系统时最有帮助的地方。以下是工程师自己回答的数学在机器学习中的问题。希望你能从中发现一些有价值的问题。

问:我应该使用什么样的聚类方法来可视化高维客户数据?
方法:PCA与tSNE

问:我应该如何校准“阻止”欺诈性用户交易的阈值?
方法:概率校准

通常,统计和线性代数可以以某种方式用于这些问题中的每一个。但是,要获得满意的答案通常需要针对特定​​领域的方法。如果是这样的话,你如何缩小你需要学习的数学类型?

定义你的系统

市场上有很多资源(例如,数据分析的scikit-learn,深度学习的keras)它们将帮助你跳转编写代码来为你的系统建模。在你打算这样做的时候,尝试回答以下有关你需要构建管道的问题:

1.你系统的输入/输出是什么?

2.你应该如何准备数据以适合你的系统?

3.如何构建特征或策划数据以帮助你的模型进行概括?

4.你如何为你的问题定义合理的目标?

你可能会感到惊讶,定义一个系统竟然需要处理那么多问题!之后,管道建设所需的工程也是非常重要的。换句话说,构建机器学习产品需要大量繁重的工作,不需要深入的数学背景。

资源

• Google的研究科学家Martin Zinkevich 为ML工程提供的最佳实践

需要什么数学知识就需要什么!

当你的头脑中完全进入到机器学习工作流程时,你可能会发现有一些步骤会被卡住,特别是在调试时。当你被困住时,你知道要查找什么吗?你的权重是否合理?为什么你的模型不能与特定的损失定义融合?衡量成功的正确方法是什么?此时,对数据进行假设,以不同方式约束优化或尝试不同的算法可能会有所帮助。

通常,你会发现建模/调试过程中存在数学直觉(例如,选择损失函数或评估指标),这些直觉可能有助于做出明智的工程决策。这些都是你学习的机会!来自Fast.ai的 Rachel Thomas 是这种“按需”学习方法的支持者。

资源:

•课程:计算线性代数 by fast.ai ;

•YouTube:3blue1brown:线性代数和微积分的本质;

•教科书:线性代数,Axler;

•教科书:Tibshirani等人的统计学习元素;

•课程:斯坦福大学的CS229(机器学习)课程笔记

数学用于机器学习研究

我现在想要描述对于机器学习中以研究为导向的工作有用的数学思维方式。机器学习研究的观点指向即插即用系统,在这些系统中,模型会投入更多计算以训练出更高的性能。在某些圈子里,研究人员仍然怀疑缺乏数学严谨性的方法可以将我们带入人类智慧的圣杯。

值得关注的是,研究人员需要提供原始资源,例如新的基础构建模块,可用于获取全新的洞察力和实地目标的方法。这可能意味着重新思考用于图像分类的卷积神经网络等基础模块,正如Geoff Hinton在他最近的Capsule Networks 论文中所做的那样。

为了实现机器学习的下一步,我们需要提出基本问题。这需要深度数学成熟,因为整个过程涉及数千小时的“卡住”,提出问题,并在追求新问题时翻转问题观点。“有趣的探索”使科学家们能够提出深刻,富有洞察力的问题,而不仅仅是简单的想法/架构的结合。

ML研究是一个非常丰富的研究领域,在公平性、可解释性和可访问性方面都存在紧迫问题。越来越多的研究者希望从数学的角度来解决这些问题,而非辩证性的去看待问题。

原文链接

本文为云栖社区原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/521250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RPA机器人来了, 你的饭碗还好吗?

摘要&#xff1a; RPA正在席卷全球各行各业&#xff0c;从金融到医疗再到零售。多种重复有规律的工作流程正在被代替。从上世纪90年代到现在&#xff0c;RPA经历了怎样的发展历程&#xff0c;目前又是怎么样的现状呢&#xff1f; RPA&#xff0c;正在席卷全球 这是一个平常的星…

linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(安装依赖包_03)

接上一篇&#xff1a;linux CentOS7最小化安装环境静默安装Oracle11GR2数据库&#xff08;安装常用工具_02&#xff09; 安装Oracle11GR2所需要的依赖包 有高手写成了这样: yum -y install gcc gcc-c make binutils compat-libstdc-33 elfutils-libelf elfutils-libelf-devel …

机器学习算法概述:随机森林逻辑回归

摘要&#xff1a; 机器学习算法入门介绍&#xff1a;随机森林与逻辑回归&#xff01; 随机森林是用于分类和回归的监督式集成学习模型。为了使整体性能更好&#xff0c;集成学习模型聚合了多个机器学习模型。因为每个模型单独使用时性能表现的不是很好&#xff0c;但如果放在一…

【终于等到你】7种策略解除云风险警报

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | Bruce Harpham转自 &#xff5c; INSIDER责编 | 阿秃云服务时代已经来临&#xff0c;且企业也正在积极的拥抱云技术。之前的云服务仅限于简单的存储或者联系人管理&#xff0c;而现在&#xff0c;像ERP这样的企业核心服务也开…

linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(oracle基础配置_04)

接上一篇&#xff1a;linux CentOS7最小化安装环境静默安装Oracle11GR2数据库&#xff08;安装依赖包_03&#xff09; 创建用户 组 及文件夹 创建用户组&#xff1a;groupadd oinstall 创建用户组&#xff1a;groupadd dba 创建用户并添加到用户组&#xff1a;useradd -g oinst…

HTTPS时代已来,你做好准备了吗?

摘要&#xff1a; 全站HTTPS时代的到来&#xff0c;这也是最近越来越多的网站上HTTPS和更换证书的原因。那么究竟什么是HTTPS&#xff1f;它为什么会提升安全系数&#xff1f;CDN HTTPS又将如何做到安全性与性能同时提升&#xff1f;作为用户&#xff0c;又如何快速便捷的进行部…

专访阿里视频云叔度:一场技术人的自我修行

摘要&#xff1a; 千年之后的2018年&#xff0c;“玄奘之路”BC连14位同伴在这段自我修行的路程中沿着大师昔日的足迹徒步前行&#xff0c;对极致的追求促使他们努力挑战生命的每个不可能。其中&#xff0c;最让人感动的是一个打着点滴行进的身影&#xff0c;他在遭遇右腿受伤、…

spring cloud gateway 网关_微服务网关Spring Cloud Gateway全搞定

一、微服务网关Spring Cloud Gateway1.1 导引文中内容包含&#xff1a;微服务网关限流10万QPS、跨域、过滤器、令牌桶算法。在构建微服务系统中&#xff0c;必不可少的技术就是网关了&#xff0c;从早期的Zuul&#xff0c;到现在的Spring Cloud Gateway&#xff0c;网关我们用的…

这个耳机一点不输千元级的AirPods

你如果问我&#xff1a;生活中你觉得必不可少的一件电子产品是什么&#xff1f;那么我会毫不犹豫的回答你&#xff1a;是耳机&#xff01;出门忘带耳机是绝对不能忍听不听没关系&#xff0c;但是有它比较安心我觉得生活中不仅是我很多人都对耳机有一种依赖因为很多人都喜欢音乐…

linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(上传安装包并解压_05)

接上一篇&#xff1a;linux CentOS7最小化安装环境静默安装Oracle11GR2数据库&#xff08;oracle基础配置_04&#xff09; 静默安装Oracle11GR2数据库上传数据库安装包并解压 按提示选择文件&#xff0c;添加确定&#xff1b;开始上传&#xff1b; 完成 创建一个目录存放安装…

mysql一些基本sql操作_MySql数据库的一些基本操作---------------SQL语法

MySql数据库是比较常用的关系型数据库&#xff0c;操作用的是sql语句&#xff0c;下面来说一说MySql的一些基本操作MySql数据库是一种C/S型的模式&#xff0c;即客户端/服务器端&#xff0c;对应到具体应用上&#xff0c;便是bin目录下的mysql.exe和mysqld.exe&#xff0c;mysq…

阿里云商品评价解析功能示例解析

近年来&#xff0c;电商发展的如火如荼&#xff0c;从以淘宝为首的网购零售平台再到垂直的生鲜类等电商&#xff0c;中国电商市场正持续较快地增长。据消息称&#xff0c;手机淘宝DAU在6月18日达到2.6亿的峰值&#xff0c;并且从去年开始&#xff0c;阿里电商平台推出促进消费者…

逻辑回归预测事件发生的概率_通过逻辑回归,对信用卡申请数据使用卡方分箱法预测违约率建模...

一、 建模步骤(1)从数据中衍生特征(2)对类别型变量和数值型变量进行补缺(3)基于卡方分箱法对变量进行分箱(4)WOE编码后的单变量分析与多变量分析(5)应用逻辑回归模型(6)尺度化(7)模型预测能力二、代码import pandas as pdimport datetimeimport collectionsimport numpy as npi…

深度学习文本分类在支付宝投诉文本模型上的应用

摘要&#xff1a; 小蚂蚁说&#xff1a; 随着深度学习的快速发展&#xff0c;以及在图像、语音领域取得的不错成果&#xff0c;基于深度学习的自然语言处理技术也日益受到人们的关注。计算机是怎么理解人类的语言的呢&#xff1f; 传统机器学习的应用&#xff0c;常常是利用上述…

linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(修改配置文件_06)

接上一篇&#xff1a;linux CentOS7最小化安装环境静默安装Oracle11GR2数据库&#xff08;上传安装包并解压_05&#xff09; linux CentOS7最小化安装环境静默安装Oracle11GR2数据库&#xff08;修改配置文件&#xff09; 一、修改内核文件&#xff1a; vim /etc/sysctl.conf…

【不吹不黑】详解容器技术架构、网络和生态

戳蓝字“CSDN云计算”关注我们哦&#xff01;作者 | Hardy责编 | 阿秃谈起容器技术&#xff0c;不得不提Docker技术。Docker 是PaaS 提供商 DotCloud 开源的一个高级容器引擎&#xff0c;源代码托管在 Github 上&#xff0c;基于Go语言并遵从Apache2.0协议开源。Docker相当于物…

jeecg boot一对多新增的附表不会主键是一个string_测试开发专题:spring-boot如何使用JPA进行双向一对多配置...

本片文章我们主要介绍spring-boot如何进行JPA的配置以及如何进行实体间的一对多配置。 依赖准备 要在spring-boot使用jpa需要在项目中有进入相关的依赖&#xff0c;pom文件里加入下面内容 <dependency><groupId>org.springframework.boot</groupId><artif…

揭秘阿里机器翻译团队:拿下5项全球冠军,每天帮商家翻译7.5亿次

摘要&#xff1a; 跨境电商市场越来越大&#xff0c;商家们也遇到了新问题。以阿里巴巴国际站为例&#xff0c;七成买家以英语沟通&#xff0c;剩下三成的小语种&#xff0c;却难住了平台上近96%的卖家。 “翻译和本地化都做不好&#xff0c;说明你对海外市场根本不重视&#x…

IDC与浪潮联合发布2019数据及存储发展报告:中国迈入新数据时代元年

戳蓝字“CSDN云计算”关注我们哦&#xff01;企业数字化转型进程不断加速&#xff0c;物理世界与虚拟世界正在融合。当两个世界不断以数据的形式互相映射和影响的时候&#xff0c;时代将从量变积累到质变。新数据时代元年已经到来。10月18日&#xff0c;在IDC中国数字化转型年度…

linux CentOS7最小化安装环境静默安装Oracle11GR2数据库(执行安装_07)

接上一篇&#xff1a;linux CentOS7最小化安装环境静默安装Oracle11GR2数据库&#xff08;修改配置文件_06&#xff09; 执行安装前的准备工作&#xff1a; 创建ORACLE实例前提&#xff0c;准备下面6项工作 序号说明链接①安装操作系统https://blog.csdn.net/weixin_40816738/…