V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
theworldsong
V2EX  ›  程序员

Android 工作三年,开始入门机器学习。遇到瓶颈(可能姿势不对?),求助。

  •  
  •   theworldsong · 2019-01-14 12:48:41 +08:00 · 3500 次点击
    这是一个创建于 2139 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题。

    基于中年焦虑( 94 年的中年人)和前瞻,想要往机器学习靠拢。但现在遇到这几个问题:

    1:许多概念和定理都能理解,但是无法深入探讨 /自行实现:例如,我明白梯度下降 /k-means 是怎么回事,但要我从零开始实现,我做不到。这是正常的吗&该怎么办?

    2:对于已踏入工作岗位的人来说,应该试着寻求落地,后续再补充短缺的知识点,这个做法正确吗?

    目前在读书籍:DL,https://github.com/exacity/deeplearningbook-chinese 完成了第一部分“基础知识”(仍处于“理解但无法自行实现”)

    望指导,非常感谢!

    第 1 条附言  ·  2019-01-14 15:59:51 +08:00
    基础方面,线代和矩阵计算是没问题的。

    但是不熟练。积导定偏凑,不能迅速反应,导致看公式每一步都要看好久,最终导致跳过。。。
    第 2 条附言  ·  2019-01-15 16:34:48 +08:00
    感谢大家的建议和见解。我补充几点吧

    1、主业还是 android,ML 仅作为知识面的横向拓展
    2、并非因为要落地而学习,仅仅是综合实际情况,认识到自己无法太偏向学术
    3、并非焦虑推动,确实因为这东西有趣,而且能认识到它的作用域,希望要用到的时候能有所准备
    4、回去读书不太可能。。
    31 条回复    2019-01-15 16:35:22 +08:00
    closedevice
        1
    closedevice  
       2019-01-14 13:07:45 +08:00
    当感觉遇到瓶颈的时候,就把基础加深一点,再回过头来看.
    zouzou
        2
    zouzou  
       2019-01-14 13:45:04 +08:00   ❤️ 1
    1.机器学习门槛挺高的,调低期望值,3 个月内把“ Deep Learning ”这本书快速过一遍,不懂的就跳过去。
    2.这是个人决策问题,当爱好是无所谓,从工作的利益看,android 开发有几个关联的方向,a.向其他客户端拓展如 ios,web 前端; b.计算机网络,算法; c.全栈工程师; d.其他。机器学习是个完全不同的领域,是否要 all in ~~~
    LinSP
        3
    LinSP  
       2019-01-14 14:10:37 +08:00
    先学线性代数
    VoidChen
        4
    VoidChen  
       2019-01-14 14:13:23 +08:00
    94 已经中年了吗。。。
    ballshapesdsd
        5
    ballshapesdsd  
       2019-01-14 14:15:07 +08:00
    90 还在吭哧吭哧啃机器学习大部头的路过,不要太浮躁了
    gaby2018
        6
    gaby2018  
       2019-01-14 15:10:55 +08:00
    机器学习,好好补补数学问题应该不大
    RoyL
        7
    RoyL  
       2019-01-14 15:16:22 +08:00
    @VoidChen
    25 了已经
    ryougifujino
        8
    ryougifujino  
       2019-01-14 15:31:24 +08:00
    搞这个应该读研吧,自己当兴趣还行,转行不靠谱
    takato
        9
    takato  
       2019-01-14 15:49:34 +08:00
    基于焦虑建议不要入坑。。
    如果基于兴趣,可以考虑。。
    claymore94
        10
    claymore94  
       2019-01-14 15:53:07 +08:00
    94 的中年人的呐。。
    jiangnanyanyu
        11
    jiangnanyanyu  
       2019-01-14 15:58:58 +08:00 via Android
    我是没发现机器学习有什么好玩的。。。
    necomancer
        12
    necomancer  
       2019-01-14 16:03:04 +08:00
    正常,正常理解了用现成工具就成。想更进一步,无论是研究还是实现,需要更多数学(计算数学?)知识。比如梯度法的数值实现时的具体方法以及该方法的误差等等,学会这些自然什么都会了。简单的例子:微分方程很好列,比如弹簧或者串并联的弹簧组或者一些简单动力学体系,但如果希望用计算机做数值解,不是简单地做个差分就行的,许多算法 /分析手段(比如算子裂分)应运而生,懂这些自然懂实现。至于 k-means 一类的算法涉及的是其他数学领域,同样,能用数学语言写出推倒 /证明,实现就简单很多,如果停留在“我理解了这个东西的思想以及说明中提到的公式……”层面,自然很难实现。

    具体看需求吧,如果工作需求偏数据向,学好统计 /概率 /信息论 /随机过程之类的才是硬道理,实现甚至很多算法本身只要做到知道个原理,知道个思想然后用一些工具比如 tensorflow/mathematica/matplotlib 撸出来……不过多学东西总是好的,先学最用得着最重要的比较现实。
    008px
        13
    008px  
       2019-01-14 16:03:52 +08:00 via Android
    94 年工作三年??我才毕业一年半…
    XOXO360
        14
    XOXO360  
       2019-01-14 16:17:57 +08:00 via iPhone
    先考个研?没学历,哪怕你会了也不会要你的……机器学习其实就是数学……
    XOXO360
        15
    XOXO360  
       2019-01-14 16:20:11 +08:00 via iPhone
    补充下,有的时候自己觉得理解不是真的理解……打开书我都会,关上书…总之先考个数学系研究生…做算法不是解题……
    duvalier
        16
    duvalier  
       2019-01-14 16:21:04 +08:00 via iPhone
    我看到 94 中年人就不想看下去了
    kuhung
        17
    kuhung  
       2019-01-14 16:27:45 +08:00
    建议撸比赛(项目)。这个东西归根到底还是实践层面的事。想想你怎么学写 Android 的,照着模式做。不过我感觉这波泡沫快到头了...
    behanga
        18
    behanga  
       2019-01-14 16:49:46 +08:00
    自学的机器学习的最大问题在于 就算相关概念和算法看懂了 没有特定的数据集训练 空有理论 无处发挥 这是很蛋疼的 这个和开发 android 一样 没有大体量的工程实践在里面 很多人觉得开发 app 很容易就到头了
    ducklyl
        19
    ducklyl  
       2019-01-14 17:49:42 +08:00
    94 中年人,8 开头的我不是老年人了吗
    ltux
        20
    ltux  
       2019-01-14 17:52:06 +08:00
    大部分程序员工作只需增删查改就行了,但机器学习只会增删查改屁用都没有,一般人玩儿玩儿就行了,没数学基础搞不了。
    ashCloud
        21
    ashCloud  
       2019-01-14 17:54:46 +08:00 via Android
    可以先读个北美 master
    miscnote
        22
    miscnote  
       2019-01-14 18:40:03 +08:00
    我在 AI 行业。这行还是重视基础,梯度下降、反向传递、线性回归,这些是最基本的了。了解基本概念后,可以先从框架开始,比如用熟悉 pytorch,然后回过头来再看底层库的实现。当然,往应用方向走,经典的模型,比如 CV 的 resnet 之类,是必须了解的。
    lychnis
        23
    lychnis  
       2019-01-14 19:01:34 +08:00 via Android
    94 中年人!? 现在什么风气了。 等你三十四十叫什么?
    shm7
        24
    shm7  
       2019-01-14 19:07:07 +08:00 via iPhone
    这些知识假如不能为企业解决实际问题的话,那充其量就是基础的作用。你懂这么一点理论知识,在理论上都不算多,你还没看 sklearn pandas numpy seaborn 吧 深度学习前面讲的东西深挖可以多了去了 你看了 dropout l2 怎么用吗 learning rate 网络结构怎么调么?

    1w hours
    HankAviator
        25
    HankAviator  
       2019-01-14 19:07:28 +08:00
    1. 灾难式排版,发表前如果能预览下就好了。
    2. 学机器学习感觉像在 ubuntu 上装软件,一个软件包依赖 N 个,上游又依赖 N 个…然后 ML 是属于很靠下游的,每学一点就发现缺一些依赖…基础不牢其实确实挺难学下去的。而且出结果和搞算法又是两个分支,前者说不定职位还更多一点,也不需要研究太深。
    stop9125
        26
    stop9125  
       2019-01-14 19:31:20 +08:00
    94 年是怎么工作三年的,不是本科么
    yunxiyinzhe
        27
    yunxiyinzhe  
       2019-01-14 20:02:05 +08:00 via Android
    没个相关专业硕士学历就别强迫自己了。
    imgode
        28
    imgode  
       2019-01-14 20:18:35 +08:00 via Android   ❤️ 1
    看到 94 中年,就觉得这是个矫情比
    yuduxyz
        29
    yuduxyz  
       2019-01-14 20:27:29 +08:00
    看书的同时多动手会更有效率,自己还不能从头实现算法就先当调包侠,用 python 也好 matlab 也好,先参加几个简单的 kaggle 项目,多套用不同的算法,找找感觉。然后再尝试自己实现之。

    再然后。。。你可能会发现,还是 Android 好玩。哈哈
    theworldsong
        30
    theworldsong  
    OP
       2019-01-15 16:35:05 +08:00
    @HankAviator 一个软件包依赖 N 个,上游又依赖 N 个
    theworldsong
        31
    theworldsong  
    OP
       2019-01-15 16:35:22 +08:00
    @HankAviator 一个软件包依赖 N 个,上游又依赖 N 个

    就是这种感觉
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5686 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 06:11 · PVG 14:11 · LAX 22:11 · JFK 01:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.