V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
ligiggy
V2EX  ›  程序员

学习机器学习一定要会推公式吗

  •  
  •   ligiggy · 2022-08-11 11:02:01 +08:00 · 4507 次点击
    这是一个创建于 860 天前的主题,其中的信息可能已经有所发展或是发生改变。

    不推公式可以简单上手吗,比如可以把库拿过来就用?

    然后,有无这类的上手书推荐。

    第 1 条附言  ·  2022-08-11 13:43:09 +08:00
    感谢 @albert0yyyy 推荐的书,看起来我是适用人群。

    https://tangshusen.me/Dive-into-DL-PyTorch
    35 条回复    2022-08-12 01:08:36 +08:00
    LavaC
        1
    LavaC  
       2022-08-11 11:11:06 +08:00
    可以试试 coding train 的 ml5.js 入门视频
    Jooooooooo
        2
    Jooooooooo  
       2022-08-11 11:13:25 +08:00
    这和 "编程一定要学网络技术, 操作系统之类的内容吗?" 是一样的问题.

    我看来答案是 要学.

    机器学习里一门相当重要的课是矩阵论, 先把这个学好吧.
    hlpureboy
        3
    hlpureboy  
       2022-08-11 11:16:00 +08:00
    如果只是玩玩的话,大概知道怎么回事就行惹,如果想明白具体的损失函数是怎么推出来的,那就得具体学学数学。
    ligiggy
        4
    ligiggy  
    OP
       2022-08-11 11:16:24 +08:00
    @hlpureboy 所以要怎么玩,我就只想玩玩看。
    hlpureboy
        5
    hlpureboy  
       2022-08-11 11:24:39 +08:00
    @ligiggy 你要具体做什么呀,定义好问题,找到 match 的领域,看看综述啥的,然后找一篇相关顶会论文跟着复现一下,在结合自己的具体问题调整就行惹。如果像是目标检测、图像分类这种问题很多人都讲解过了,跟着看视频就 ok 了
    jarence
        6
    jarence  
       2022-08-11 11:47:42 +08:00
    不需要公式推导的情况:要处理的问题有了非常成熟的解决方案以及大量有效的数据。现有很多 autoML 的框架,比如 AutoGluon ,只要数据够多且有效,那么基本没啥问题。
    需要公式推导的情况:没有成熟的解决方案,或者需要做一些定制,又或者遇到了一些奇奇怪怪的问题。
    czfy
        7
    czfy  
       2022-08-11 11:51:20 +08:00
    推公式是什么意思?
    ligiggy
        8
    ligiggy  
    OP
       2022-08-11 11:55:56 +08:00
    @hlpureboy
    @jarence 好的谢谢。
    ligiggy
        9
    ligiggy  
    OP
       2022-08-11 12:02:08 +08:00
    @czfy 应该是有一个复杂的机器学习公式,推公式就是从原理开始讲,建造一个公式,然后一步一步推导到结果。
    albert0yyyy
        10
    albert0yyyy  
       2022-08-11 12:03:07 +08:00
    不用吧,pytorch 框架,
    建个模型类,加载数据,前向传播函数调用,反向传播函数调用,看看准确度和损失函数输出

    当然会推肯定是锦上添花的
    ligiggy
        11
    ligiggy  
    OP
       2022-08-11 12:03:36 +08:00
    @albert0yyyy 有书籍或者教程推荐吗?想玩玩
    albert0yyyy
        12
    albert0yyyy  
       2022-08-11 12:04:53 +08:00
    @albert0yyyy 要推的公式涉及到的也不是很多应该,矩阵运算,导数偏导数求导。好像就没了
    kenvix
        13
    kenvix  
       2022-08-11 12:06:42 +08:00
    初学推啥公式啊,又不是专门研究机器学习本身的。你用 java 还要把 jdk 代码全翻一遍不成?
    albert0yyyy
        14
    albert0yyyy  
       2022-08-11 12:09:55 +08:00   ❤️ 1
    @ligiggy
    视频和书:动手学深度学习 pytorch (李沐)

    想推公式:深度学习入门( 斋藤康毅)
    pluvet
        15
    pluvet  
       2022-08-11 12:15:12 +08:00
    只是用用的话不必。但是这样肯定找不到工作。
    jmc891205
        16
    jmc891205  
       2022-08-11 12:45:14 +08:00
    Deep Learning for Coders with Fastai and PyTorch
    jmc891205
        17
    jmc891205  
       2022-08-11 12:45:35 +08:00
    nightwitch
        18
    nightwitch  
       2022-08-11 13:02:05 +08:00 via Android
    直接拿来用就叫用机器学习,不叫学习机器学习。。
    DefoliationM
        19
    DefoliationM  
       2022-08-11 13:04:39 +08:00
    只是用的话无所谓, 要自己写的话主要数学
    ligiggy
        20
    ligiggy  
    OP
       2022-08-11 13:42:14 +08:00
    @albert0yyyy 找到资料了,感谢!
    MrZhaoyx
        21
    MrZhaoyx  
       2022-08-11 14:18:23 +08:00
    推荐李航老师的《统计学习方法》
    xiang578
        22
    xiang578  
       2022-08-11 15:07:16 +08:00
    b 站上也有一个系列视频,手把手教你推公式:白板机器学习。
    ligiggy
        23
    ligiggy  
    OP
       2022-08-11 15:48:32 +08:00
    @xiang578 手把手也不喜欢推公式,过了这个年纪了。
    tfdetang
        24
    tfdetang  
       2022-08-11 16:24:57 +08:00
    机器学习从业者来回答这个问题: 一般只有要准备面试的时候才会去推公式
    当然我比较水不能代表所有从业者。 其实大部分时候看论文什么的大概能看出是怎么回事,也能看懂就行了,关键是思路,很少真的去推公式
    dabaisuv
        25
    dabaisuv  
       2022-08-11 16:38:30 +08:00
    谷歌的机器学习:
    aHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jbi9tYWNoaW5lLWxlYXJuaW5nL2NyYXNoLWNvdXJzZS9tbC1pbnRybw==
    ipwx
        26
    ipwx  
       2022-08-11 17:11:56 +08:00   ❤️ 1
    分情况。

    * 如果是用树算法处理工业数据,一般不需要推公式,调参就行。
    * 如果用神经网络处理图片数据,一部分工作者不需要推公式,用 PyTorch 搞就行。
    * 如果用神经网络处理自然语言,推公式的比重会增大。
    * 如果处理的是无监督学习,或者顶会不怎么覆盖的新领域上做深度学习,那就得会大量原理性的东西,做各种 regularization ( loss / 结构),不会公式基本寸步难行。
    ligiggy
        27
    ligiggy  
    OP
       2022-08-11 17:20:21 +08:00
    @ipwx 为啥每次问问题,基本上大佬都能知道……太强了。
    ligiggy
        28
    ligiggy  
    OP
       2022-08-11 17:20:58 +08:00
    @ipwx 暂时我还没有应用场景,仅限于去了解一下玩玩,还没想当成自己的 工作技能。
    ipwx
        29
    ipwx  
       2022-08-11 17:24:44 +08:00
    @ligiggy 其实现在 DL 比较成熟的也就 CV/NLP 。

    大量工业数据没那么规整的,各种不同量纲、不同单位、不同性质的 heterogeneous data ,一般用树算法更舒服。经典的比如 RandomForest ,新锐的比如 GBDT 。除了这些树算法,还有就是 Bagging / Boosting 算法的思想得了解一下。
    ipwx
        30
    ipwx  
       2022-08-11 17:25:44 +08:00
    @ligiggy 我上面举的这四个例子都不怎么需要推公式,工业数据上又比较万金油,投入产出比 DL 高。当然它们基本没法处理图片 /NLP ,CV/NLP 还是神经网络得天下。
    ligiggy
        31
    ligiggy  
    OP
       2022-08-11 17:27:53 +08:00
    @ipwx OK ,好的,有没有书推荐,我看了下楼上大佬推荐的 pytorch 教程,感觉挺不错的。
    ipwx
        32
    ipwx  
       2022-08-11 17:31:27 +08:00
    @ligiggy ummm 很遗憾我已经脱离教材很久了。。。(今年 phd 毕业了
    xz410236056
        33
    xz410236056  
       2022-08-11 17:33:41 +08:00
    “比如可以把库拿过来就用”
    当然可以,但是你不会相关的数据你怎么设计自己的神经网络呢?你只能用别人封装好的网络啊。

    https://mofanpy.com/learning-steps/
    推荐个学习网站。
    rpman
        34
    rpman  
       2022-08-11 19:52:46 +08:00 via iPhone
    要搭神经网络总得会推公式,不然搭出来一坨
    pkupyx
        35
    pkupyx  
       2022-08-12 01:08:36 +08:00
    一定要。未必背下来,但是至少知道分几块步骤,并且能看懂。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1061 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 22:54 · PVG 06:54 · LAX 14:54 · JFK 17:54
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.