精华内容
下载资源
问答
  • 自2012年以来,随着深度学习与强化学习的兴起,机器学习与人工智能成为科技领域热门的话题。越来越多的在校生与在职人员开始学习这些知识。...如果你想学好机器学习并打下坚实的数学基础,那么这本《机

    自2012年以来,随着深度学习与强化学习的兴起,机器学习与人工智能成为科技领域热门的话题。越来越多的在校生与在职人员开始学习这些知识。然而,机器学习(包括深度学习与强化学习)对数学有较高的要求。不少数学知识(如最优化方法、矩阵论、信息论、随机过程、图论)超出了理工科本科和研究生的学习范畴。即使对于理工科学生学习过的微积分、线性代数与概率论,机器学习中所用到的不少知识超出了本科的教学范畴。看到书或论文中的公式和理论而不知其意,是很多读者面临的一大难题。

    如果你想学好机器学习并打下坚实的数学基础,那么这本《机器学习的数学》再适合不过。

    《机器学习的数学》

    想学习机器学习,数学的问题怎么解决?需要具备哪些数学知识?

     

    • 人工智能深度学习领域经典教程,AI程序员的数学参考书
    • 透彻理解机器学习算法,从数学层面搞懂核心算法原理的逻辑
    • python程序讲解,众多专家学者力荐

    全书共由8章组成,用非常小的篇幅精准而系统地覆盖了机器学习、深度学习、强化学习所必需的数学知识,内容基本上涵盖了这3门课所需的绝大部分数学知识。针对理工科本科阶段的“高等数学/微积分”,“线性代数”,“概率论与数理统计”进行了精确地补充。下面介绍每一章的主要内容。

    第1章 一元函数微积分
    这一章的内容包括极限与连续性,一元函数的导数与微分,微分中值定理,泰勒公式,不定积分,定积分及其应用,以及常微分方程。这一章讲述了可数集与不可数集,上确界与下确界,李普希茨连续性这些常规微积分课程所没有讲述的知识。它们对于理解后续章节以及对机器学习算法的理论分析是至关重要的。作为应用,还对机器学习中常用的logistic函数、ReLU函数等函数的特性与用途进行了介绍。

    第2章 线性代数与矩阵论
    这一章的内容向量及其运算,矩阵及其运算,行列式,线性方程组,特征值与特征向量,二次型,矩阵分解。特别地,本章讲述了向量的范数、向量的阿达玛积,矩阵的范数,Houserholder变换、QR算法、广义特征值、瑞利商、条件数等特征值相关的内容,以及矩阵分解。作为机器学习中的应用实例,本章讲述了线性回归,线性分类器与支持向量机,人工神经网络,谱归一化与谱正则化的原理。

    第3章 多元函数微积分
    这一章的内容包括偏导数,方向导数与梯度,Hessian矩阵,雅克比矩阵,向量与矩阵求导,微分算法,多元函数泰勒公式,多重积分,以及无穷级数。其中,Hessian矩阵、雅克比矩阵、多元函数泰勒公式是本科微积分课程通常没有讲述的。它们对于多元函数极值、凹凸性,以及机器学习算法的推导分析是非常重要的,也是理解最优化方法的基础。微分算法在机器学习算法中非常重要,而绝大多数读者在之前的数学课程中并没有接触过。这一章还讲述了最小二乘法、反向传播算法这些应用实例。

    第4章 最优化方法
    最优化方法在机器学习中处于核心地位,几乎所有机器学习算法最终都归结于求解最优化问题,遗憾的是绝大部分读者之前并没有学习这些课程。这一章系统地介绍了机器学习中的最优化方法,包括基本概念,一阶优化算法(包括梯度下降法,最速下降法,梯度下降法的改进,随机梯度下降法),二阶优化算法(包括牛顿法,拟牛顿法),分治法,凸优化问题,带约束的优化算法(包括拉格朗日乘数法,拉格朗日对偶,KKT条件),多目标优化问题,泛函极值与变分法,以及机器学习中的目标函数构造(包括有监督学习,无监督学习,强化学习)。作为应用实例,讲解了人工神经网络的训练算法,支持向量机的SVM算法,求解logistic回归对偶问题的坐标下降法,机器学习中的典型凸优化问题,线性判别分析,支持向量机原问题与对偶问题的推导以及特性,多目标神经结构搜索。下面这张图是本章的知识结构。

    想学习机器学习,数学的问题怎么解决?需要具备哪些数学知识?

     


    下面这张图列出了机器学习中所用到的最优化方法以及其所用的数学知识。这两张图对于理解机器学习中的优化问题是非常有用的。

    想学习机器学习,数学的问题怎么解决?需要具备哪些数学知识?

     

    第5章 概率论
    概率论对于机器学习来说同样至关重要,用概率论的观点对机器学习问题进行建模,是一种常用的手段。这一章讲述了随机事件与概率,随机变量与概率分布,机器学习中的常用概率分布,概率分布变换,随机向量与联合概率分布,极限定理,参数估计问题,随机算法,以及采样算法。下面这张图是本章的知识结构。

    想学习机器学习,数学的问题怎么解决?需要具备哪些数学知识?

     

    需要重点强调的是,机器学习所用的概率论知识,有不少超出了一般本科概率论课程的范围。典型的包括条件独立性,Jensen不等式,多项分布,t分布,概率分布变换,多元正态分布,最大后验概率估计,贝叶斯估计,核密度估计,随机数生成问题,遗传算法,蒙特卡洛算法,以及采样算法。这一章对这些知识进行了系统的补充。另外还讲解了贝叶斯分类器,高斯混合模型,logistic回归,EM算法,Mean Shift算法等机器学习算法。下图总计了机器学习中的概率模型以及所用的概率论知识。

    想学习机器学习,数学的问题怎么解决?需要具备哪些数学知识?

     


    第6章 信息论
    信息论是绝大部分读者在本科、研究生期间没有学过的课程,而交叉熵、KL散度等频繁的出现在机器学习、深度学习的书籍与论文中。这一章从机器学习的角度讲述信息论的知识,内容包括熵与联合熵,交叉熵,KL散度,JS散度,互信息,以及条件熵。下图对这些常用的信息论概念进行了总结。

    想学习机器学习,数学的问题怎么解决?需要具备哪些数学知识?

     

    作为应用,本章还讲述了决策树的训练算法,softmax回归,流形降维(SNE算法),变分推断,生成对抗网络,特征选择等机器算法与技术。

    第7章 随机过程
    随机过程对于绝大部分读者也是陌生的,而高斯过程、马尔可夫过程等知识在机器学习中被广泛应用。这一章系统地介绍了机器学习里常用的随机过程,包括马尔可夫过程与高斯过程。对于在机器学习中的应用,重点讲述了隐马尔可夫模型,强化学习中的马尔可夫决策过程,马尔可夫链采样算法(MCMC),高斯过程回归,以及贝叶斯优化。随机过程较为抽象,本章力求用机器学习的实际应用来直观地解释这些数学概念。

    第8章 图论
    除计算机、软件工程等专业之外,绝大部分读者并没有学习过图论的知识,但图论对于机器学习的作用丝毫不逊色于对整个计算机科学的作用。流形降维,谱聚类,图神经网络中都离不开它的身影。这一章讲述了机器学习中最常用的图论知识,包括基本概念,一些特殊的图,重要的图算法,以及谱图理论。作为应用,讲述了计算图与自动微分,概率图模型,流形降维与谱聚类中所用的样本集的相似度图,受限玻尔兹曼机,神经结构搜索(NAS),以及流形降维(拉普拉斯特征映射)。

    为何要选择《机器学习的数学》这本书?

    1.用尽可能小的篇幅精准地覆盖了机器学习所需的数学知识

    对于机器学习究竟需要哪些数学知识,本书给出了一个非常精确的答案。力求用最小的篇幅覆盖机器学习领域所需的主要数学知识,以减轻读者的学习负担。只需把本书系统地学习一遍,即可满足几乎绝大部分读者在机器学习、深度学习、强化学习以及它们的各个应用方向做学术、产品研发的要求。

    2.从机器学习的角度讲述数学,从数学的角度讲述机器学习

    本书的一大特色是从机器学习的角度讲述数学,从数学的角度讲授机器学习,实现了二者的无缝衔接。读者之前在学数学课的时候通常面临一个问题:这些数学知识有什么用,应该怎么用?本书通过大量的机器学习实例讲解,在数学与机器学习之间架起了桥梁。既有利于理解数学知识本身,又能培养数学建模思维,同时还理解机器学习算法的数学本质,可谓一举多得。

    3.结构合理,脉络清晰

    对于全书的内容安排以及章节结构,作者有细致的考量。得利于扎实的数学功底以及机器学习领域的造诣。作者非常清晰的知道应该讲述哪些数学知识,以及它们之间的顺序、衔接安排。在更细的粒度上,对于数学、机器学习算法之间的联系与演化脉络,作者也进行了大量的总结。下面是对各种梯度下降法演化关系的总结。

    想学习机器学习,数学的问题怎么解决?需要具备哪些数学知识?

     

    4.讲解透彻,深入浅出

    数学本身是抽象难懂的,如何把一些概念、理论清晰的讲述出来,是一个非常有挑战的问题。在这一方面,作者也进行了大量的思考与设计,力求用浅显易懂的语言把晦涩的知识讲述清楚。下面是对Householder变换的讲解。

    想学习机器学习,数学的问题怎么解决?需要具备哪些数学知识?

     

    5.推导、证明详细

    对于绝大部分数学知识和机器学习算法的推导,我们都在篇幅允许的范围内做到尽可能的详细,不给读者留下知识的空白。有不少推导和证明过程,以及解释,是读者进行构思的,市面上不曾有过。

    关于作者

    雷明 资深机器学习、机器视觉专家。2009年毕业于清华大学计算机系,研究方向为机器视觉、机器学习,曾发表论文数篇。《机器学习-原理、算法与应用》(清华大学出版社,2019.09)作者,该书为清华大学出版社2019年度畅销书,销量超过2万册。曾就职于百度,任高级软件工程师、项目经理;zmodo/meShare公司CTO、平台研发中心负责人。2018年创立SIGAI,致力于研发零编程、可视化的机器视觉框架,用标准化的算法赋能各个行业,已于2020年6月完成pre-A轮融资。

    展开全文
  • 到目前为止,我们都还不完全清楚开始机器学习需要什么样的数学水平,特别是那些没有在学校学习数学或统计学的人。 在这篇文章中,我的目标是提出建立产品或进行机器学习学术研究所需的数学背景。这些建议源于与机器...
        
    摘要: 机器学习到底需要怎么样的数学基础?高段位机器学习如何练成?来瞧瞧。

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

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

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

    关于数学焦虑的一个解释

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

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

    入门

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

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

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

    数学和代码

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

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

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

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

    clipboard.png

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

    clipboard.png

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

    本文作者:【方向】

    阅读原文

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

    展开全文
  • 机器学习需要的基本数学知识资料合集。学习完成后更便于将来学习机器学习
  • 要理解机器学习需要深厚的数学功底。这就为那些虽然具有良好的算法技能,但数学概念欠佳的程序员们设置了较高的门槛。那么基础数学需要学什么呢?来看下文:基本数学概念正如前文所述,本书主要的目标读者是希望理解...

    要理解机器学习需要深厚的数学功底。这就为那些虽然具有良好的算法技能,但数学概念欠佳的程序员们设置了较高的门槛。那么基础数学需要学什么呢?来看下文:

    基本数学概念

    正如前文所述,本书主要的目标读者是希望理解机器学习算法的开发人员。但是,为了掌握它们背后的动机和理论,有必要回顾并建立所有基本推理知识体系,包括统计、概率和微积分。

    下面先从一些基本的统计概念开始。

    1.3.1 统计学——不确定性建模的基本支柱

    统计学可以定义为使用数据样本,提取和支持关于更大样本数据结论的学科。考虑到机器学习是研究数据属性和数据赋值的重要组成部分,本书将使用许多统计概念来定义和证明不同的方法。

    描述性统计学——主要操作

    接下来将从定义统计学的基本操作和措施入手,并将基本概念作为起点。

    (1)平均值(Mean)

    这是统计学中直观、常用的概念。给定一组数字,该集合的平均值是所有元素之和除以集合中元素的数量。

    平均值的公式如下。

    虽然这是一个非常简单的概念,但本书还是提供了一个Python代码示例。在这个示例中,我们将创建样本集,并用线图表示它,将整个集合的平均值标记为线,这条线应该位于样本的加权中心。它既可以作为Python语法的介绍,也可以当作Jupyter Notebook的实验。代码如下。

    import matplotlib.pyplot as plt #Import the plot library

    def mean(sampleset): #Definition header for the mean function

    total=0

    for element in sampleset:

    total=total+element

    return total/len(sampleset)

    myset=[2.,10.,3.,6.,4.,6.,10.] #We create the data set

    mymean=mean(myset) #Call the mean funcion

    plt.plot(myset) #Plot the dataset

    plt.plot([mymean] * 7) #Plot a line of 7 points located on the mean

    该程序将输出数据集元素的时间序列,然后在平均高度上绘制一条线。

    如图1.6所示,平均值是描述样本集趋势的一种简洁(单值)的方式。

    图1.6 用平均值描述样本集趋势

    因为在第一个例子中,我们使用了一个非常均匀的样本集,所以均值能够有效地反映这些样本值。

    下面再尝试用一个非常分散的样本集(鼓励读者使用这些值)来进行实验,如图1.7所示。

    图1.7 分散样本集的趋势

    (2)方差(Variance)

    正如前面的例子所示,平均值不足以描述非均匀或非常分散的样本数据。

    为了使用一个唯一的值来描述样本值的分散程度,需要介绍方差的概念。它需要将样本集的平均值作为起点,然后对样本值到平均值的距离取平均值。方差越大,样本集越分散。

    方差的规范定义如下。

    下面采用以前使用的库,编写示例代码来说明这个概念。为了清楚起见,这里重复mean函数的声明。代码如下。

    import math #This library is needed for the power operation

    def mean(sampleset): #Definition header for the mean function

    total=0

    for element in sampleset:

    total=total+element

    return total/len(sampleset)

    def variance(sampleset): #Definition header for the mean function

    total=0

    setmean=mean(sampleset)

    for element in sampleset:

    total=total+(math.pow(element-setmean,2))

    return total/len(sampleset)

    myset1=[2.,10.,3.,6.,4.,6.,10.] #We create the data set

    myset2=[1.,-100.,15.,-100.,21.]

    print "Variance of first set:" + str(variance(myset1))

    print "Variance of second set:" + str(variance(myset2))

    前面的代码将输出以下结果。

    Variance of first set:8.69387755102

    Variance of second set:3070.64

    正如上面的结果所示,当样本值非常分散时,第二组的方差要高得多。因为计算距离平方的均值是一个二次运算,它有助于表示出它们之间的差异。

    (3)标准差(Standard Deviation)

    标准差只是对方差中使用的均方值的平方性质进行正则化的一种手段。它有效地将该项线性化。这个方法可以用于其他更复杂的操作。

    以下是标准差的表示形式。

    1.3.2 概率与随机变量

    概率与随机变量对于理解本书所涉概念极为重要。

    概率(Probability)是一门数学学科,它的主要目标就是研究随机事件。从实际的角度讲,概率试图从可能发生的所有事件中量化事件发生的确定性(或者不确定性)。

    1.事件

    为了理解概率,我们首先对事件进行定义。在给定的实验中,执行确定的动作可能出现不同的结果。事件就是该实验中所有可能结果的子集。

    关于事件的一个例子就是摇骰子时出现的特定数字,或者装配线上出现的某种产品缺陷。

    (1)概率

    按照前面的定义,概率是事件发生的可能性。概率被量化为0~1之间的实数。当事件发生的可能性增加时,概率P也按照接近于1的趋势增加。事件发生概率的数学表达式是P(E)。

    (2)随机变量和分布

    在分配事件概率时,可以尝试覆盖整个样本,并为样本空间中的每个可能分配一个概率值。

    这个过程具有函数的所有特征。对于每一个随机变量,都会为其可能的事件结果进行赋值。这个函数称为随机函数。

    这些变量有以下两种类型。离散(Discrete):结果的数量是有限的或可数无穷的。

    连续(Continuous):结果集属于连续区间。

    这个概率函数也称为概率分布(Probability Distribution)。

    2.常用概率分布

    在多种可能的概率分布中,有些函数由于其特殊的性质或它们所代表问题的普遍性而被研究和分析。

    本书将描述那些常见的概率分布。它们对机器学习的发展具有特殊的影响。

    (1)伯努利分布(Bernoulli Distribution)

    从一个简单的分布开始:像抛硬币一样,它具有二分类结果(binary outcome)。

    这个分布表示单个事件。该事件中1(正面)的概率为p,0(反面)的概率为1−p。

    为了实现可视化,可以使用np(NumPy库)生成大量伯努利分布的事件,并绘制该分布的趋势。它有以下两种可能的结果。代码如下。

    plt.figure()

    distro = np.random.binomial(1, .6, 10000)/0.5

    plt.hist(distro, 2 , normed=1)

    下面通过图1.8中的直方图显示二项分布(Binomial Distribution),可以看出结果概率的互补性质。

    图1.8 二项分布

    可能结果的概率互补趋势非常明显。现在用更多的可能结果来补充模型。当结果的数目大于2时,采用多项式分布(Multinomial Distribution)。代码如下。

    plt.figure()

    distro = np.random.binomial(100, .6, 10000)/0.01

    plt.hist(distro, 100 , normed=1)

    plt.show()

    结果如图1.9所示。

    图1.9 100种可能结果的多项式分布

    (2)均匀分布(Uniform Distribution)

    这种非常常见的分布是本书出现的第一个连续分布。顾名思义,对于域的任何区间,它都有一个恒定的概率值。

    a和b是函数的极值,为了使函数积分为1,这个概率值为1/(b−a)。

    下面用一个非常规则的直方图生成样本均匀分布的图。代码如下。

    plt.figure()

    uniform_low=0.25

    uniform_high=0.8

    plt.hist(uniform, 50, normed=1)

    plt.show()

    结果如图1.10所示。

    图1.10 均匀分布

    (3)正态分布(Normal Distribution)

    这是一种常见的连续随机函数,也称作高斯函数(Gaussian Function)。虽然表达式有些复杂,但它只需要用均值和方差来定义。

    这是函数的标准形式。

    查看下面的代码。

    import matplotlib.pyplot as plt #Import the plot library

    import numpy as np

    mu=0.

    sigma=2.

    distro = np.random.normal(mu, sigma, 10000)

    plt.hist(distro, 100, normed=True)

    plt.show()

    图1.11所示为生成的分布直方图。

    图1.11 正态分布

    (4)Logistic分布(Logistic Distribution)

    它类似于正态分布,但在形态上与正态分布存在较大差异,其具有细长的尾部。它的重要性在于积累分布函数(Cumulative Distribution Function,CDF),下面的章节中将会使用到它,读者会觉得它看起来很熟悉。

    下面这段代码表示了它的基本分布。

    import matplotlib.pyplot as plt #Import the plot library

    import numpy as np

    mu=0.5

    sigma=0.5

    distro2 = np.random.logistic(mu, sigma, 10000)

    plt.hist(distro2, 50, normed=True)

    distro = np.random.normal(mu, sigma, 10000)

    plt.hist(distro, 50, normed=True)

    plt.show()

    结果如图1.12所示。

    图1.12 Logistic分布(绿)和正态分布(蓝)[1]

    如前所述,计算Logistic分布的积累分布函数时,读者将看到一个非常熟悉的图形,即Sigmoid曲线。后面在回顾神经网络激活函数时,还将再次看到它。代码如下。

    plt.figure()

    logistic_cumulative = np.random.logistic(mu, sigma, 10000)/0.02

    plt.hist(logistic_cumulative, 50, normed=1, cumulative=True)

    plt.show()

    结果如图1.13所示。

    图1.13 逆Logistic分布

    1.3.3 概率函数的统计度量

    这一节中,将看到概率中常见的统计度量。首先是均值和方差,其定义与前面在统计学中看到的定义没有区别。

    1.偏度(Skewness)

    它表示了一个概率分布的横向偏差,即偏离中心的程度或对称性(非对称性)。一般来说,如果偏度为负,则表示向右偏离;如果为正,则表示向左偏离。

    图1.14描绘了偏度的统计分布。

    图1.14 分布形状对偏度的影响

    2.峰度(Kurtosis)

    峰度显示了分布的中心聚集程度。它定义了中心区域的锐度,也可以反过来理解,就是函数尾部的分布方式。

    峰度的表达式如下。

    由图1.15可以直观地理解这些新的度量。

    图1.15 分布形状对峰度的影响

    1.3.4 微分基础

    为了覆盖机器学习的基础知识,尤其是像梯度下降(Gradient Descent)这样的学习算法,本书将介绍微分学所涉及的概念。

    1.3.5 预备知识

    介绍覆盖梯度下降理论所必需的微积分术语需要很多章节,因此我们假设读者已经理解连续函数的概念,如线性、二次、对数和指数,以及极限的概念。

    为了清楚起见,我们将从一元函数的概念开始,然后简单地涉及多元函数。

    1.变化分析——导数

    在前一节中介绍了函数的概念。除了在整个域中定义的常值函数之外,所有函数的值都是动态的。这意味着在x确定的情况下,f(x1)与f(x2)的值是不同的。

    微分学的目的是衡量变化。对于这个特定的任务,17世纪的许多数学家(莱布尼兹和牛顿是杰出的倡导者)努力寻找一个简单的模型来衡量和预测符号定义的函数如何随时间变化。

    这项研究将引出一个奇妙的概念—— 一个具有象征性的结果,在一定条件下,表示在某个点上函数变化的程度,以及变化的方向。这就是导数的概念。

    在斜线上滑动

    如果想测量函数随时间的变化,首先要取一个函数值,在其后的点上测量函数。第一个值减去第二个值,就得到函数随时间变化的程度。代码如下。

    import matplotlib.pyplot as plt

    import numpy as np

    %matplotlib inline

    def quadratic(var):

    return 2* pow(var,2)

    x=np.arange(0,.5,.1)

    plt.plot(x,quadratic(x))

    plt.plot([1,4], [quadratic(1), quadratic(4)], linewidth=2.0)

    plt.plot([1,4], [quadratic(1), quadratic(1)], linewidth=3.0,

    label="Change in x")

    plt.plot([4,4], [quadratic(1), quadratic(4)], linewidth=3.0,

    label="Change in y")

    plt.legend()

    plt.plot (x, 10*x -8 )

    plt.plot()

    前面的代码示例首先定义了一个二次方程(2×x2),然后定义arange函数的域(0~0.5,步长0.1)。

    定义一个区间,测量y随x的变化,并画出测量的直线,如图1.16所示。

    图1.16 求导操作起始设置的初始描述

    在x=1和x=4处测量函数,并定义这个区间的变化率。

    根据公式,示例程序的运行结果是(36−0)/3=12。

    这个方法可以用来近似测量,但它太依赖于测量的点,并且必须在每个时间间隔都进行测量。

    为了更好地理解函数的动态变化,需要能够定义和测量函数域中每个点的瞬时变化率。因为是测量瞬时变化,所以需要减少域x值之间的距离,使各点之间的距离尽量缩短。我们使用初始值x和后续值x + Δx来表示这个方法。

    下面的代码中,通过逐步减小Δx来逼近差分值。代码如下。

    initial_delta = .1

    x1 = 1

    for power in range (1,6):

    delta = pow (initial_delta, power)

    derivative_aprox= (quadratic(x1+delta) - quadratic (x1) )/

    ((x1+delta) - x1 )

    print "del ta: " + str(delta) + ", estimated derivative: " +

    str(derivative_aprox)

    在上面的代码中,首先定义了初始增量Δ,从而获得初始近似值。然后在差分函数中,对0.1进行乘方运算,幂逐步增大,Δ的值逐步减小,得到如下结果。

    delta: 0.1, estimated derivative: 4.2

    delta: 0.01, estimated derivative: 4.02

    delta: 0.001, estimated derivative: 4.002

    delta: 0.0001, estimated derivative: 4.0002

    delta: 1e-05, estimated derivative: 4.00002

    随着Δ值的逐步减小,变化率将稳定在4左右。但这个过程什么时候停止呢?事实上,这个过程可以是无限的,至少在数值意义上是这样。

    这就引出了极限的概念。在定义极限的过程中,使 Δ 无限小,得到的结果称之为f(x)的导数或f ' (x),公式如下。

    但是数学家们并没有停止烦琐的计算。他们进行了大量的数值运算(大多是在17世纪手工完成的),并希望进一步简化这些操作。

    现在构造一个函数,它可以通过替换x的值来得到相应的导数。对于不同的函数族,从抛物线(y=x2+b)开始,出现了更复杂的函数(见图1.17),这一巨大的进步发生在17世纪。

    图1.17 复杂函数

    2.链式法则

    在函数导数符号确定后,一个非常重要的结果就是链式法则。莱布尼茨在1676年的一篇论文中首次提到这个公式。它可以通过非常简单优雅的方式求解复合函数的导数,从而简化复杂函数的求解。

    为了定义链式法则,假设有一个函数f,F=f (g(x)),那么导数可以定义如下。

    链式法则允许对输入值为另一个函数的方程求导。这与搜索函数之间关联的变化率是一样的。链式法则是神经网络训练阶段的主要理论概念之一。因为在这些分层结构中,第一层神经元的输出将是下一层的输入。在大多数情况下,复合函数包含了一层以上的嵌套。

    偏导数(Partial Derivative)

    到目前为止,本书一直使用单变量函数。但是从现在开始,将主要介绍多变量函数。因为数据集将不止包含一个列,并且它们中的每一列将代表不同的变量。

    在许多情况下,需要知道函数在一个维度中的变化情况,这将涉及数据集的一列如何对函数的变化产生影响。

    偏导数的计算包括将已知的推导规则应用到多变量函数,并把未被求导的变量作为常数导出。

    看一看下面的幂函数求导法则。

    f(x, y) = 2x3y

    当这个函数对x求导时,y作为常量。可以将它重写为3 ∙ 2 y x2,并将导数应用到变量x,得到以下结果。

    d/dx(f(x, y)) = 6y * x2

    使用这些方法,可以处理更复杂的多变量函数。这些函数将是特征集的一部分,通常由两个以上的变量组成。

    本书的目标读者是那些期望掌握机器学习的相关内容、理解主要的基本概念、使用算法思想并能掌握正式数学定义的开发人员。本书使用Python实现了代码概念,Python语言接口的简洁性,以及其提供的方便且丰富的工具,将有助于我们处理这些代码,而有其他编程语言经验的程序员也能理解书中的代码。

    读者将学会使用不同类型的算法来解决自己的机器学习相关问题,并了解如何使用这些算法优化模型以得到最佳的结果。如果想要了解现在的机器学习知识和一门友好的编程语言,并且真正走进机器学习的世界,那么这本书一定能对读者有所帮助。

    展开全文
  • 那么你需要这样一本帮你解决学习机器学习的数学问题的书,首选《机器学习的数学》,本书覆盖了人工智能领域中与机器学习相关的数学知识体系,不仅囊括了微积分和线性代数等基本数学原理,还详细讲解了概率论、信息论...

     

    如何解决机器学习领域的数学问题,打下坚实的数学基础?是很多初学者乃至进阶者关心的话题。我们把这个问题拆解成下面几个问题:

    1. 为什么需要数学?

    2. 机器学习中究竟用到了哪些数学知识?

    3. 如何掌握这些数学知识?

     

    那么你需要这样一本帮你解决学习机器学习的数学问题的书,首选《机器学习的数学》,本书覆盖了人工智能领域中与机器学习相关的数学知识体系,不仅囊括了微积分和线性代数等基本数学原理,还详细讲解了概率论、信息论、最优化方法等诸多内容,这些知识是机器学习中的目标函数构造、模型优化以及各种机器学习算法的核心和基础。

    本书希望通过对数学知识的讲解帮助读者深刻理解算法背后的机理,并厘清各种算法之间的内在联系。 本书重视理论与实践相结合,在讲解数学知识的同时也对其在机器学习领域的实际应用进行了举例说明,方便读者更具象化地理解抽象的数学理论,同时对机器学习算法有更深刻的认识。 本书语言精练,条理清晰,内容翔实全面,公式推导严格周密,将理论与工程实践相结合, 展示了机器学习方法背后的数学原理,是集专业性与通俗性为一体的上乘之作。通过本书,初学 者可以奠定扎实的数学基础,从而为后续掌握机器学习的具体技术和应用铺平道路。从业者也可 以利用本书强化巩固基础知识,从技术背后的数学本质出发来解决工程问题。

     

    《机器学习的数学》

    第1章介绍一元函数微积分的核心知识,包括有关基础知识、一元函数微分学、一元函数积分学,以及常微分议程,它们是理解后面各章的基础。

    第2章介绍线性代数与矩阵论的核心知识,包括向量与矩阵、行列式、线性方程组、矩阵的特征值与特征向量、二次型,以及矩阵分解,它们是学习多元函数微积分、最优化方法、概率论,以及图论等知识的基础。

    第3章介绍多元函数微积分、包括多元函数微分、多元函数积分,以及无穷级数。

    第4章介绍最优化方法,侧重于连续化优问题,包括各种数值优化算法、凸优化问题、带约束的约化问题、多目标优化问题、变分法,以及目标函数的构造,它们在机器学习中处于核心地位。

    第5章介绍概率论的核心知识,包括随机事件与概率、随机变量与概率分布、极限定理、参数估计问题、在机器学习中常用的随机算法。以及采样算法。用概率论的观点对机器学习问题进行建模是一类重要的方法。

    第6章介绍信息论的知识,包括熵、交叉熵、KL散度等,它们被广泛用于构造目标函数,对机器学习算法进行理论分析。

    第7章介绍随机过程,包括马尔可夫过程与高斯过程,以及马尔可夫链采样算法。高斯过程回归是贝叶斯优化的基础。

    第8章介绍图论的核心知识,包括基本概念。机器学习中使用的各种典型的图、图的重要算法,以及谱图理论。它们于流于学习、谱聚类、概率图模型、图神经网络等机器学习算法。

    专业评论

    从机器学习的角度讲述数学,从数学的角度讲述机器学习。语言精炼,知识点密集,学习路线清晰,是一本帮助掌握数学知识和理解机器学习算法原理的好书,可以满足不同层次读者的需求。——知名Python讲师,16本Python 系列图书作者 董付国


    数学是很多读者学习机器学习、深度学习、强化学习感到困难的最主要原因之一,只有掌握了所需的数学知识,才能理解机器学习算法的原理。本书清晰地讲述了这些数学知识的原理,精准地覆盖了所需的数学知识。是一本帮助这一领域读者奠定基础的力作。——Yi+AI联合创始人兼CTO,前阿里巴巴和百度IDL深度学习算法专家 刘彬


    掌握数学知识是学好机器学习的前提,如何精确而系统地掌握机器学习所需的数学知识,是很多读者关注的问题。本书为此问题提供了一个很好的解决方案。全书用浅显易懂的语言讲述微积分、线性代数与矩阵论、最优化方法、概率论、信息论、随机过程、图论等核心的数学知识,并介绍了它们在机器学习领域的应用,做到了理论与应用的无缝衔接。推荐机器学习领域和广大数学爱好者阅读。——前优酷首席科学家,谷歌机器学习开发者专家 李卓桓

    目录

    第1 章一元函数微积分1

    1.1 极限与连续 1

    1.1.1 可数集与不可数集 1

    1.1.2 数列的极限 3

    1.1.3 函数的极限 7

    1.1.4 函数的连续性与间断点 9

    1.1.5 上确界与下确界 11

    1.1.6 李普希茨连续性 12

    1.1.7 无穷小量 13

    1.2 导数与微分 14

    1.2.1 一阶导数 14

    1.2.2 机器学习中的常用函数 20

    1.2.3 高阶导数 22

    1.2.4 微分 24

    1.2.5 导数与函数的单调性 25

    1.2.6 极值判别法则 26

    1.2.7 导数与函数的凹凸性 28

    1.3 微分中值定理 29

    1.3.1 罗尔中值定理 29

    1.3.2 拉格朗日中值定理 29

    1.3.3 柯西中值定理 31

    1.4 泰勒公式 31

    1.5 不定积分 33

    1.5.1 不定积分的定义与性质 33

    1.5.2 换元积分法 35

    1.5.3 分部积分法 36

    1.6 定积分 37

    1.6.1 定积分的定义与性质 38

    1.6.2 牛顿-莱布尼茨公式 39

    1.6.3 定积分的计算 40

    1.6.4 变上限积分 41

    1.6.5 定积分的应用 42

    1.6.6 广义积分 44

    1.7 常微分方程 45

    1.7.1 基本概念 45

    1.7.2 一阶线性微分方程 46

    第2 章线性代数与矩阵论49

    2.1 向量及其运算 49

    2.1.1 基本概念 49

    2.1.2 基本运算 51

    2.1.3 向量的范数 53

    2.1.4 解析几何 55

    2.1.5 线性相关性 57

    2.1.6 向量空间 58

    2.1.7 应用——线性回归 61

    2.1.8 应用——线性分类器与支持

    向量机 62

    2.2 矩阵及其运算 65

    2.2.1 基本概念 65

    2.2.2 基本运算 67

    2.2.3 逆矩阵 72

    2.2.4 矩阵的范数 78

    2.2.5 应用——人工神经网络 78

    2.2.6 线性变换 81

    2.3 行列式 82

    2.3.1 行列式的定义与性质 83

    2.3.2 计算方法 91

    2.4 线性方程组 92

    2.4.1 高斯消元法 92

    2.4.2 齐次方程组 93

    2.4.3 非齐次方程组 95

    2.5 特征值与特征向量 97

    2.5.1 特征值与特征向量 97

    2.5.2 相似变换 105

    2.5.3 正交变换 106

    2.5.4 QR 算法 110

    2.5.5 广义特征值 112

    2.5.6 瑞利商 112

    2.5.7 谱范数与特征值的关系 114

    2.5.8 条件数 114

    2.5.9 应用——谱归一化与谱正则化 115

    2.6 二次型 116

    2.6.1 基本概念 116

    2.6.2 正定二次型与正定矩阵 116

    2.6.3 标准型 119

    2.7 矩阵分解 121

    2.7.1 楚列斯基分解 121

    2.7.2 QR 分解 123

    2.7.3 特征值分解 127

    2.7.4 奇异值分解 128

    第3 章多元函数微积分133

    3.1 偏导数 133

    3.1.1 一阶偏导数 133

    3.1.2 高阶偏导数 134

    3.1.3 全微分 136

    3.1.4 链式法则 136

    3.2 梯度与方向导数 138

    3.2.1 梯度 138

    3.2.2 方向导数 139

    3.2.3 应用——边缘检测与HOG

    特征 139

    3.3 黑塞矩阵 140

    3.3.1 黑塞矩阵的定义与性质 141

    3.3.2 凹凸性 141

    3.3.3 极值判别法则 143

    3.3.4 应用——最小二乘法 145

    3.4 雅可比矩阵 146

    3.4.1 雅可比矩阵的定义和性质 146

    3.4.2 链式法则的矩阵形式 148

    3.5 向量与矩阵求导 150

    3.5.1 常用求导公式 150

    3.5.2 应用——反向传播算法 154

    3.6 微分算法 156

    3.6.1 符号微分 156

    3.6.2 数值微分 157

    3.6.3 自动微分 158

    3.7 泰勒公式 159

    3.8 多重积分 161

    3.8.1 二重积分 161

    3.8.2 三重积分 164

    3.8.3 n 重积分 167

    3.9 无穷级数 170

    3.9.1 常数项级数 170

    3.9.2 函数项级数 173

    第4 章最优化方法176

    4.1 基本概念 176

    4.1.1 问题定义 177

    4.1.2 迭代法的基本思想 179

    4.2 一阶优化算法 180

    4.2.1 梯度下降法 180

    4.2.2 最速下降法 183

    4.2.3 梯度下降法的改进 184

    4.2.4 随机梯度下降法 186

    4.2.5 应用——人工神经网络 187

    4.3 二阶优化算法 188

    4.3.1 牛顿法 188

    4.3.2 拟牛顿法 189

    4.4 分治法 193

    4.4.1 坐标下降法 193

    4.4.2 SMO 算法 194

    4.4.3 分阶段优化 195

    4.4.4 应用——logistic 回归 196

    4.5 凸优化问题 198

    4.5.1 数值优化算法面临的问题 198

    4.5.2 凸集 199

    4.5.3 凸优化问题及其性质 200

    4.5.4 机器学习中的凸优化问题 201

    4.6 带约束的优化问题 202

    4.6.1 拉格朗日乘数法 202

    4.6.2 应用——线性判别分析 204

    4.6.3 拉格朗日对偶 205

    4.6.4 KKT 条件 208

    4.6.5 应用——支持向量机 209

    4.7 多目标优化问题 213

    4.7.1 基本概念 213

    4.7.2 求解算法 215

    4.7.3 应用——多目标神经结构搜

    索 215

    4.8 泛函极值与变分法 216

    4.8.1 泛函与变分 217

    4.8.2 欧拉—拉格朗日方程 218

    4.8.3 应用——证明两点之间直线

    最短 220

    4.9 目标函数的构造 221

    4.9.1 有监督学习 221

    4.9.2 无监督学习 224

    4.9.3 强化学习 225

    第5 章概率论228

    5.1 随机事件与概率 229

    5.1.1 随机事件概率 229

    5.1.2 条件概率 233

    5.1.3 全概率公式 234

    5.1.4 贝叶斯公式 235

    5.1.5 条件独立 236

    5.2 随机变量 236

    5.2.1 离散型随机变量 236

    5.2.2 连续型随机变量 237

    5.2.3 数学期望 240

    5.2.4 方差与标准差 242

    5.2.5 Jensen 不等式 243

    5.3 常用概率分布 244

    5.3.1 均匀分布 244

    5.3.2 伯努利分布 246

    5.3.3 二项分布 247

    5.3.4 多项分布 248

    5.3.5 几何分布 249

    5.3.6 正态分布 250

    5.3.7 t 分布 252

    5.3.8 应用——颜色直方图 253

    5.3.9 应用——贝叶斯分类器 254

    5.4 分布变换 254

    5.4.1 随机变量函数 254

    5.4.2 逆变换采样算法 256

    5.5 随机向量 258

    5.5.1 离散型随机向量 258

    5.5.2 连续型随机向量 260

    5.5.3 数学期望 261

    5.5.4 协方差 262

    5.5.5 常用概率分布 265

    5.5.6 分布变换 268

    5.5.7 应用——高斯混合模型 269

    5.6 极限定理 271

    5.6.1 切比雪夫不等式 271

    5.6.2 大数定律 271

    5.6.3 中心极限定理 273

    5.7 参数估计 273

    5.7.1 最大似然估计 274

    5.7.2 最大后验概率估计 276

    5.7.3 贝叶斯估计 278

    5.7.4 核密度估计 278

    5.7.5 应用——logistic 回归 280

    5.7.6 应用——EM 算法 282

    5.7.7 应用——Mean Shift 算法 286

    5.8 随机算法 288

    5.8.1 基本随机数生成算法 288

    5.8.2 遗传算法 290

    5.8.3 蒙特卡洛算法 293

    5.9 采样算法 295

    5.9.1 拒绝采样 296

    5.9.2 重要性采样 297

    第6 章信息论298

    6.1 熵与联合熵 298

    6.1.1 信息量与熵 298

    6.1.2 熵的性质 300

    6.1.3 应用——决策树 302

    6.1.4 联合熵 303

    6.2 交叉熵 305

    6.2.1 交叉熵的定义 306

    6.2.2 交叉熵的性质 306

    6.2.3 应用——softmax 回归 307

    6.3 Kullback-Leibler 散度 309

    6.3.1 KL 散度的定义 309

    6.3.2 KL 散度的性质 311

    6.3.3 与交叉熵的关系 312

    6.3.4 应用——流形降维 312

    6.3.5 应用——变分推断 313

    6.4 Jensen-Shannon 散度 316

    6.4.1 JS 散度的定义 316

    6.4.2 JS 散度的性质 316

    6.4.3 应用——生成对抗网络 317

    6.5 互信息 320

    6.5.1 互信息的定义 320

    6.5.2 互信息的性质 321

    6.5.3 与熵的关系 322

    6.5.4 应用——特征选择 323

    6.6 条件熵 324

    6.6.1 条件熵定义 324

    6.6.2 条件熵的性质 325

    6.6.3 与熵以及互信息的关系 325

    6.7 总结 326

    第7 章随机过程328

    7.1 马尔可夫过程 328

    7.1.1 马尔可夫性 329

    7.1.2 马尔可夫链的基本概念 330

    7.1.3 状态的性质与分类 333

    7.1.4 平稳分布与极限分布 337

    7.1.5 细致平衡条件 342

    7.1.6 应用——隐马尔可夫模型 343

    7.1.7 应用——强化学习 345

    7.2 马尔可夫链采样算法 348

    7.2.1 基本马尔可夫链采样 349

    7.2.2 MCMC 采样算法 349

    7.2.3 Metropolis-Hastings 算法 351

    7.2.4 Gibbs 算法 353

    7.3 高斯过程 355

    7.3.1 高斯过程性质 355

    7.3.2 高斯过程回归 355

    7.3.3 应用——贝叶斯优化 358

    第8 章图论363

    8.1 图的基本概念 363

    8.1.1 基本概念 363

    8.1.2 应用——计算图与自动微分 365

    8.1.3 应用——概率图模型 370

    8.1.4 邻接矩阵与加权度矩阵 371

    8.1.5 应用——样本集的相似度图 372

    8.2 若干特殊的图 373

    8.2.1 联通图 373

    8.2.2 二部图 374

    8.2.3 应用——受限玻尔兹曼机 374

    8.2.4 有向无环图 376

    8.2.5 应用——神经结构搜索 376

    8.3 重要的算法 380

    8.3.1 遍历算法 380

    8.3.2 最短路径算法 381

    8.3.3 拓扑排序算法 382

    8.4 谱图理论 384

    8.4.1 拉普拉斯矩阵 385

    8.4.2 归一化拉普拉斯矩阵 388

    8.4.3 应用——流形降维 390

    机器学习的数学

     

    雷明 著

    本书的目标是帮助读者全面、系统地学习机器学习所必须的数学知识。全书由8章组成,力求精准、最小地覆盖机器学习的数学知识。包括微积分,线性代数与矩阵论,最优化方法,概率论,信息论,随机过程,以及图论。本书从机器学习的角度讲授这些数学知识,对它们在该领域的应用举例说明,使读者对某些抽象的数学知识和理论的实际应用有直观、具体的认识。 本书内容紧凑,结构清晰,深入浅出,讲解详细。可用作计算机、人工智能、电子工程、自动化、数学等相关专业的教材与教学参考书。对人工智能领域的工程技术人员与产品研发人员,本书也有很强的参考价值。对于广大数学与应用的数学爱好者,本书亦为适合自学的读本。

    展开全文
  • 然而,我发现很多情况下统计分析结果不尽人意的原因是是缺乏必要的数学直觉和知识框架。 最近兴起了许多易于使用的机器学习和深度学习的安装包,如scikit-learn,weka,tensorflow,r-caret等。机器学习理论是横跨...
  • 机器学习和数据科学需要大量数学,所以为什么不使用像matlab这样语言呢?主要原因是,目前我们正在使用机器学习来开发各种产品,因此最好使用在产品中具有更好支持语言像用于为网站构建服务器语言这样开发...
  • 通常离开学校后很难有机会静下心学习数学知识,因此我们最好能通过阅读小组或读书会等形式营造环境,并专注学习那些在实践中常常需要用到的数学知识。  数学达到什么水平才可以开始机器学习?人们并不清楚,尤其是...
  • 本文来源于csdn,介绍了微积分,线性代数,概率论,最优化方法,算法和理论用到的数学知识等。...事实上,要理解和掌握绝大部分机器学习算法和理论,尤其是对做工程应用的人而言,所需要的数学知识大学数学老师
  • 数学知识 ...微积分数学基础分支。内容主要包括函数、极限、微分、积分及其应用。函数是微积分研究基本对象,极限是微积分基本概念,微分和积分是特定过程特定形式极限 微积分...
  • 研究机器学习需要什么样的数学基础? 来自: 求真 2013-07-11 13:44:22 我是小硕一枚,研究方向是机器学习。通过阅读一些机器学习的教科书,发现机器学习对于数学基础要求比较高。 我想问一下:一般研究机器学习需要...
  • 趁着最后一个暑假,总结并收集一些关于学习机器学习需要储备理论知识,持续更新 一、范数作用不多说,可以用来做回归,做损失函数等,下面传送门是关于范数理解 几种范数简单介绍 二、关于拉格朗日乘子法...
  • 数学在机器学习中非常重要,不论是在算法上理解模型代码,还是在工程上构建系统,数学都必不可少。通常离开学校后很难有机会静下心...本文的写作目的是介绍构建机器学习产品或进行相关学术研究所必需的数学背景,...
  • 很多初学者在萌生向大数据方向发展想法之后,不免产生一些疑问,...如果你想学习,那么首先你需要学会编程,其次你需要掌握数学,统计学知识,最后融合应用,就可以想在数据方向发展,笼统来说,就是这样。...
  • 机器学习系列01——机器学习需要这些数学知识 1、前言  放假在家想写写机器学习系列文章,除夕前先来开个头,后面会一直写下去,搞机器学习算法也有一年多了,体会多少还是有一些,这里记录在博客中,一来为...
  • 于是开始搜索入门机器学习需要哪些数学知识,应该怎么去,搜索结果表明,概率论统计、线性代数、高等数学这些知识都是需要。可是自己真要花很长时间一点点把这几本书给完吗?我当时就在想,如果仅...
  • 于是开始搜索入门机器学习需要哪些数学知识,应该怎么去,搜索结果表明,概率论统计、线性代数、高等数学这些知识都是需要。可是自己真要花很长时间一点点把这几本书给完吗? 我当时就在想,如果...
  • 机器学习保罗万象,在学习这门技术时,最好可以有一些速查手册之类东西在手边,它们列出了需要了解关键点。Robbie Allen整理了20多个与机器学习相关速查资料,并分享出来,或许也可以帮助其他学习这门技术人...
  • 我们都知道,现在很多知识都是离不开数学,比如说在机器学习中,数学工具是一个十分重要工具,正是因为拥有了这些数学知识,我们才能够利用机器学习解决很多问题,才能够为人工智能提供贡献。不过数学都是大家...
  • 推荐一个大数据学习群 119599574晚上20:10都有一节【免费的】大数据直播课程,专注大数据分析方法,大数据...做机器学习需要有怎样的数学基础,笔者建议大家可以先直接看一些开源模块的理论的文档 ,或者一些论文。...
  • 推荐一个正确学习路线序言写完《机器学习深度研究:机器学习高等数学/微积分及Python实现》,觉得十分对不起读者,写自己都不满意。就像前篇所说,这种极度基础知识是最难介绍,我也在思考如何转变方式,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,154
精华内容 461
关键字:

机器学习需要学的数学