机器学习与数学基础知识(一)

2023-11-13

    最近,朋友分享给我一套“七月在线”的机器学习视频,我几经思量之后,决定从视频量最少的数学基础部分开始看起,今天学习完了第一个视频,长达2小时,感觉老师讲的挺不错的。以前自己就对机器学习很感兴趣,做了一些了解和尝试性地学习,也看了一点经典的林轩田和吴恩达系列的视频,个人觉得再经典的机器学习视频也需要一个良好的数学基础来入门。

    第一集的视频主要是系统介绍了机器学习基础与相关数学基础的一些概念,具体的内容会在以后的视频中展开。


    一 机器学习基础


    这是一张解释 计算机编程能力(左上),个人专业领域(下面)和数学统计学知识(右上)关系的图片。对于个人专业领域,是你从事的某一方向或者专业,比如图像处理,数据挖掘,语音识别等这些可以用到机器学习的领域;在当今AI的大趋势下,很多人都想转型到AI的领域分一杯羹,那么这些人大多是个人专业领域很强和编程能力很强的结合体,属于危险区域(Danger Zone),你可以直接使用机器学习的模型,简单的带入数据,让程序跑起来,解决工程问题,但是仅限于简单的机器学习算法,稍微复杂的机器学习算法,必然要以强大的数学基础为支撑,来保证你正确使用,维护和优化机器学习算法。如果你个人专业领域很强,而且数学基础也很棒,但缺乏代码能力,那么你很适合做一个研究者,去研究和开发机器学习算法,不必做过多的工程实践,类似专硕研究生和博士的区别一样。总的来说,数学统计学基础尤为重要,打好数学基础,有助于你更好的入门机器学习。


    这张图片为机器学习算法的分类,这里简单提一下监督学习和无监督学习。大家都知道,机器学习算法就跟人的大脑一样,人的大脑基于观察形成经验对事情做出判断,机器学习基于数据(样本)形成模型对目标(标签)做出预测;那么,样本分为两类,一类为目标已知的数据(样本),一类是目标未知的数据(样本),基于前者形成的模型是监督学习,基于后者的是无监督学习。(因为本文重点在于阐明机器学习中的数学基础,对于机器学习的概念不作详细介绍,这部分目的是要你知道数学对机器学习的重要性)


这个是第一部分“机器学习基础”的重点——机器学习的一般思路。举例:凤姐的女儿去和100个男人相亲,凤姐根据高,富,帅,潜,德共五方面(可以理解为自变量)来决定其成为自己女婿的概率(可以理解为因变量)。根据这五方面在凤姐心中的重要性,凤姐会选择权重w1,w2,w3,w4,w5列出一个得分函数z。而这些权重值w1,w2,w3,w4,w5是由损失函数(图中给出了两种损失函数模型,非凸函数和凸函数)得出的,即损失函数的最优化问题,这里可以将损失函数的横坐标理解为(w1,w2,w3,w4,w5)组成的向量,最优化的解即为损失函数纵坐标取最小值时对应的横坐标(w1,w2,w3,w4,w5),这样就找到了得分函数z,即该问题的机器学习算法模型

二 微积分基础

    这部分作者只是提到了一些微积分中比较重要的概念及其几何意义,并未具体展开进行讲解,相信大家在本科阶段都学过高数,并且掌握了其知识点,那么我这里做一个分条整理:

1 夹逼准则:用来求极限的一种方法。

2 导数:一阶导数表示曲线变化的快慢,即斜率,二阶导数表示斜率变化的快慢,即凹凸性。

3 方向导数:标量;可以类比一阶导数理解,只不过不是对x方向的求导,而是对某一方向的求导。

4 梯度:矢量;模值表示方向导数的最大值,方向表示方向导数取最大值时的方向。

5 凸函数:Jensen不等式f[E(x)]<=E[f(x)]要理解。

下面贴出梯度和凸函数的图片,梯度图片中,最下面有一个“梯度下降法”,主要用在损失函数的最优化中;凸函数图中,标出了Jensen不等式的几何意义,有助于大家理解。


三 概率与统计基础

这部分的知识点适合以图片的方式呈现(大家注意区分概率,统计是两个概念)。

1 概率

概率的知识点主要分两部分:概率公式和概率分布,如下图。

2 统计

统计的知识点分为三个重要的统计量:期望,方差,协方差。


3 概率与统计

“概率”是已知随机变量的分布,计算某一事件发生的概率。“统计”是对总体作抽样,得到样本,对样本进行估计,然后得到样本的分布情况后,进而得到总体的分布情况。

4 概率统计与机器学习

第一幅图展示的是机器学习的分类——监督学习算法的例子,该算法基于样本(数据)进行训练得出模型,利用模型可以预测未知的标签值。训练相当于统计过程(得出分布),而预测相当于概率的计算过程(得出标签值)。第二幅图是对样本(数据)的特征进行统计,得出其分布X1,X2...Xn,并对标签也进行统计得出分布Y,通过分别计算分布X1,X2...Xn与Y的协方差值,协方差的几何意义是线性相关程度,这样就可以把协方差值极小的分布对应的特征在训练之前排除,减小了计算量,还可以使训练的模型更为准确。
四 线性代数基础
    线性代数这块,与机器学习有关的主要是矩阵乘法的几何意义,我们在本科阶段学习了线性代数,掌握了矩阵相乘,却从未考虑过矩阵相乘的几何意义是什么,当然,老师一般也很少提及。
    举例来说:下图中(1)为一个矩阵相乘,很多人会自然想到它可以看作线性方程组 即(2),而矩阵相乘真正的几何意义在于(3)和(4),即列向量的线性叠加和欧几里得空间的向量合成与分解。
然后,对于矩阵乘法,还有如下优势:


    本文的目的,在于说明数学与机器学习的重要关系,重点提及了一些数学概念,主要是给大家留一个印象,相关的数学知识会在以后慢慢展开。这是我第一次写博客,希望与大家相互交流,共同学习;同时,深感写博客还是蛮花精力与时间的,希望自己可以坚持下去。


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

机器学习与数学基础知识(一) 的相关文章

  • JDK8 网络Net包研究(一)

    网络基础 1 国际标准化组织的OSI 开放式系统互联模型 七层模型 2 TCP IP协议 组 四层模型 3 TCP IP协议组 一组包括TCP协议和IP协议 UDP协议 ICMP协议和其他一些协议的协议组 网络层 IP协议 gt 网络互连协
  • sqlserver存储过程基本语法

    转载自 sqlserver存储过程的基本语法 1 定义变量 简单赋值 declare a int set a 5 print a 使用select语句赋值 declare user1 nvarchar 50 select user1 张三
  • ElasticSearch——全文检索

    ElasticSearch 全文检索 来源 尚硅谷 谷粒商城高级篇 一 简介 官网 https www elastic co cn what is elasticsearch 全文搜索属于最常见的需求 开源的 Elasticsearch 是

随机推荐

  • TypeScript学习(一):快速入门

    文章目录 一 TypeScript 简介 1 TypeScript 是什么 2 TypeScript 与 JavaScript 的区别 3 JavaScript 的缺点 4 为什么使用 TypeScript 二 TypeScript 开发环
  • 软件设计命名规范

    1 命名约定 Pascal和Camel命名约定 编程的命名方式主要有Pascal和Camel两种 Pascal 每个单词的首字母大写 例如ProductType Camel 首个单词的首字母小写 其余单词的首字母大写 例如productTy
  • IDA使用之旅(一)用IDA查看最简单的sys文件

    转载请标明是引用于 http blog csdn net chenyujing1234 欢迎大家拍砖 本系列内容是我根据 知其所以然论坛 博主录制的学习视频 做的笔记 使用的IDA软件版本 IDA pro 5 5 参考下载地址 http w
  • 使用Maven插件整合protocol buffer

    本来自己在网上找如何使protocol buffer在IDE 我用的是IDEA 上使用的 结果搜索出来的都不尽人意 因为都太粗略了 没有重点的去阐述 所以最后还是决定自己搜索相关的Maven插件 再慢慢地摸索 费了我好多的时间啊 本人小白
  • gojs 流程图框架-节点装饰器模板(二)

    上一章我们了解了如何使用 gojs 完成基本的节点和连接线的绘制 gojs 中还可以对节点或边进行自由拖动 编辑等功能 本章将基于上一章编写的流程图代码 为这些节点设置装饰器模板 完成后的效果图 建议下载源码 对照本文进行学习 源码地址 g
  • 【11月比赛合集】13场可报名的创新应用、数据分析和程序设计大奖赛,任君挑选!

    CompHub 实时聚合多平台的数据类 Kaggle 天池 和OJ类 Leetcode 牛客 比赛 本账号同时会推送最新的比赛消息 欢迎关注 更多比赛信息见 CompHub主页 或 点击文末阅读原文 以下信息仅供参考 以比赛官网为准 目录
  • 性能优化:虚拟列表,如何渲染10万条数据的dom,页面同时不卡顿

    最近做的一个需求 当列表大概有2万条数据 又不让做成分页 如果页面直接渲染2万条数据 在一些低配电脑上可能会照成页面卡死 基于这个需求 我们来手写一个虚拟列表 思路 列表中固定只显示少量的数据 比如60条 在列表滚动的时候不断的去插入删除d
  • GMP初探

    G Goroutine 协程 用户级的轻量级线程 M 对内核线程的封装 P 为G和M的调度对象 主要用途是用来执行goroutine 维护了一个goroutine队列 即runqueue 由来 单进程时代 这个时代不需要调度器 早起的操作系
  • PMS-adb install安装应用流程(Android L)

    第一次画流程图画的不好 通过adb install安装应用时对framework来说会首先调用Pm java的runInstall 方法 private int runInstall int installFlags 0 int userI
  • mesa调试技巧

    技术关键字 mesa log系统 环境变量 目录 前言 一 gdb或vscode的断点调试 二 mesa log 系统的使用 总结 前言 软件调试技术是要求软件开发人员必备的一项技能 不同的问题具有不同的调试手段和方法 本文从mesa库的实
  • xcode报错:Cycle inside *******

    xcode报错 Cycle inside building could produce unreliable results This usually can be resolved by moving the target s Heade
  • 基于pytorch实现的Auto-encoder模型

    最近因为在自己论文当中可能要用到Auto encoder 这个东西 学了点皮毛之后想着先按照别人的解释实现一下 然后在MNIST数据集上跑了下测试看看效果 话不多说直接贴代码 Author Media 2020 10 23 import t
  • ci/cd 流程图_如何在整个CI / CD工作流程中衡量软件的可靠性

    ci cd 流程图 克服具有持续可靠性的CI CD工作流程中保持代码质量的挑战 CI CD的做法鼓励在开发中频繁进行代码集成 加快新版本的准备工作并自动化部署 借助这种新工具 软件开发生命周期的这些部分都得到了改善和加速 同时 我们用于评估
  • Spring MVC(Boot) Servlet 3.0异步处理,DeferredResult和Callable(续篇)

    目录 背景 意外发现 结论 背景 上篇Spring MVC Boot Servlet 3 0异步处理 DeferredResult和Callable 我把WebMvcConfig 代码 继承WebMvcConfigurationSuppor
  • 搜索引擎和知识图谱那些事 (上).基础篇

    这是一篇基础性文章 主要介绍搜索引擎和知识图谱的一些原理 发展经历和应用等知识 希望文章对你有所帮助 如果有错误或不足之处 还请海涵 参考资料见后 一 搜索引擎 一 搜索引擎的四个时代 根据张俊林大神的 这就是搜索引擎 这本书中描述 推荐大
  • C++ stl容器

    1 std string string constructor include
  • 有哪些通俗易懂的例子可以解释 IaaS、PaaS、SaaS 的区别?

    首先 什么 云 很多年前 我们家住一小平房 喝水就喝院子里的井水 冬天取暖自己烧煤炉 后来经济状况好了 搬进了楼房 喝水喝上了集中供应的自来水 冬季用上了集中供应的暖气 再也不用打水和掏黑煤球 这就是 云 的基本概念 过去企业数据维护需要恒
  • 声纹识别中pooling总结

    1 Statistics Pooling http danielpovey com files 2017 interspeech embeddings pdf The statistics pooling layer calculates
  • Python手册(Standard Library)--math+random

    文章目录 math random math math import math math truck x 取整 math ceil x 天花板 math floor x 地板 math exp x math log x b math e 计算
  • 机器学习与数学基础知识(一)

    最近 朋友分享给我一套 七月在线 的机器学习视频 我几经思量之后 决定从视频量最少的数学基础部分开始看起 今天学习完了第一个视频 长达2小时 感觉老师讲的挺不错的 以前自己就对机器学习很感兴趣 做了一些了解和尝试性地学习 也看了一点经典的林