人工智能入学指南

czsay 2020-05-29

为什么Python这么火

1. 难度
      (1) 如果有C和Java的语言基础,那么上手Python是比较快速的,主要是学习一些Python特有的关键字和Python特有的语法
      (2) Python上手快,并不说Python简单,这点要强调 

2. 实用性
      (1) 能用一行代码,何必用十行呢? 
      (2) 我们的定位通常是工程师,而非科学家,能干活更重要!

3. Python工具库:
      (1) Python有着非常庞大的第三方类库,对应各种应用场景的都有
      (2) 对于数据科学,我们常用的有: Numpy,Pandas,Matplotlib,Scikit-Learn,tensorflow

4. 大家都在使用Python
      (1) 各大公司开源工具库都有Python接口,并且都是主流,我们实际干活很大程度上都是使用这些库帮助我们完成任务

5. Python和这些库怎么配置?
      (1) 常规套路: 每一门语言刚刚入门学习都是需要遇到环境配置的问题(习惯了就非常快速)  => 个人还是建议从头使用pip一个一个的安装,这样可以加深对Python语言的理解.
      (2) 大礼包: Anaconda, 傻瓜式安装,里面集成了所有数据科学的包,而且还集成了 jupyter lab 和 jupyter notebook 这类工具
      (3) 建议使用jupyter lab 来学习,因为不光可以写代码,而且还可以做笔记.  => 尤其是像机器学习这种需要一步一步执行的,可以得到每一步的结果并保留下来,在可视化展示方面就更方便了!

6. 如何学习Python/学习一门其他的语言? 
      (1) 有其他语言基础: 简单过一遍语法,直接上手应该没什么问题 (基本一门新语言,一天两天基本可以了)
      (2) 语言只是一门工具,不需要先都学彻底了才能干活,边做事情边学习应该会更加深刻的理解这门语言,忌光看书不练习!
            1) 比如说使用PHP来写一个网站,那么其实可以首先看看TP5的框架,照着敲,最好是有讲解的(当然前提是已经简单的过一遍语法了),然后发现自己不会的地方在回过头补习,这样的效率是最高的!  边用边学,而不是学全了才用!
            2) 案例很重要!! 学再多语法,学再多的知识,不如直接来几个案例实在! 一定要动手实践案例! 然后不懂再回去补充基础知识(当然前提是已经有点基础知识了!)
      (3) Python有很多的库,有很多的函数.(其实最好背下来)
            1) 其实最基本的要求就是知道每个库能做什么,大概是哪个函数 (这个还是要非常熟悉的)
            2) 参数的话,具体还是查API吧,然后结合例子 (动手查的能力也很重要!)

从哪里开始,学什么?有什么用?

1. 人工智能我该怎么学呢?
      (1) 人工智能是一个很大的圈子,但是基础必然是机器学习
      (2) 什么是机器学习呢? 说白了就是你告诉机器你想做什么? 并且给它一堆数据让他模拟着做
            简单的例子就是,在高中,老师会告诉我们一个目标就是考高分,然后老师会给我们一堆练习册和答案,我们的目的就是让我们做的题的解和答案一致.
      (3) 机器学习需要什么? 
            算法,数据,程序,评估,应用

2. 机器学习能做什么? 
      (1) 机器学习在数据挖掘,图像识别,语言和自然语言处理中有着广泛应用
      (2) 常见的机器学习应用
            1) 模式识别 
            2) 计算机视觉 -- 人类识别
            3) 语音识别 -- 讯飞的语音输入
            4) 自然语言处理 -- 比如聊天机器人; 谷歌的机器翻译
            5) 统计学习 -- 统计学习是机器学习的基础
            6) 数据挖掘 -- 比如有价值用户的流失预测
               ....

3. 机器学习流程
      (1) 一个机器学习的常规套路
            1) 数据收集与预处理  -- 爬虫之类的手段进行数据的获取
            2) 特征选择与模型构建 -- 机器学习的重中之重
            3) 评估与预测

人工智能入学指南

算法该如何学? 数学怎么办?

1. 机器学习我该怎么学? 
      (1) 机器学习本质包含了数学原理推导与实际应用技巧
            1) 数学原理推导应该和实际应用看的同等重要,如果不理解数学原理,那么使用算法的时候是很痛苦的,参数的作用也都是一知半解
            2) 一定要跟着从头推导一次呀!! 这样才算理解了机器学习的算法
      (2) 机器学习中有很多经典算法,既然要学习,那就需要清楚一个算法是怎么来的(推导)已经该如何应用.
            1) 一定要进行一个算法推导,这对我们应用具有很大的帮助
            2) 在校的同学: 推导肯定是重中之重了,校招算法工程师的面试和笔试,算法的推导一定是重头戏
            3) 程序员兄弟: 如果要转行的,让你看到数学肯定是要疯的,重点应在于如何应用(库的使用,完整项目如何构建,从头到尾的流程)  => 转行AI的程序员其实更加看重实际的动手能力
      (3) 数学在机器学习中非常重要,大学的数学基础即可. 
            1) 注意了,首先有个对数学的基本印象就可以开始了
            2) 与其从头过一遍数学,不如边学变查,和使用一门新语言一样(前期语法过两天),最合适的做法就是哪里不会点哪里


2. 现在说的很火的深度学习是什么? 
      (1) 深度学习 是 机器学习中神经网络算法的扩展,只不过应用的比较广   
      (2) 深度学习在计算机视觉和自然语言处理中更厉害一些
      (3) 那究竟是学习机器学习还是学习深度学习呢? 
            1) 一切的基础都是机器学习!!! 人工智能领域的一切基础都是机器学习!! 记住了
            2) 一切以出都是机器学习,做任何事如果没有坚实的基础只会越来越迷茫,机器学习绝对值得你从头开始学习!

如何实际动手去做? 用什么工具?

1. 算法推导如何开始? 
      (1) 找本书, 找博客, 找视频... 都是可以的,选择你喜欢的就好! 
            1) 一般学习的过程我推荐是先选择一个视频快速入门(视频快速入门很重要)
            2) 再找本教材慢慢补充细节(推荐纸质书)
      (2) 如果有一个地方看不懂怎么办? 卡在一个地方这是非常常见的一个情况: 
            1) 如果有一个圈子,能交流的话,集思广益其实对讨论很有帮助(但是一般群里的氛围不太好)
            2) 先放着这个问题,继续前进,等回过头来再想想,没准就想通了!! 
      (3) 做笔记的习惯很重要! 当然程序员推荐的就是记录博客. 
            1) 听了之后自己需要自己记录,产出
            2) 多次练习,多次实操,多次回顾  =>  我亦无他,唯手熟耳
2. 机器学习怎么动手去做? 
      (1) 只有实际应用,才会觉得没有白学,那去哪里找案例呢? 
            Github,kaggle,还有其他更大资源分享点
      (2) 案例积累的作用很大!! 其实我们干活是怎样的呢? 本质就是在模仿! 
            1) 我们并不是科学家,能做事才有用! 
            2) 如果人家是这么做,并且做的不错,那我们去模仿出来的就是我们自己的了
      (3) 在公司工作基本很少从头去写一个项目,通常都是按照之前的某种套路照搬过来! 
            1) 很多公司都是这么做的,没有说重复造轮子的! 
            2) 建议大家积累素材, 好好先模仿大神,再去创作吧! 

3. 开始课程!
      (1) Python库的讲解,常用函数的应用
      (2) 算法原理推导: 从零开始,对一个机器学习/深度学习算法进行推导,得出其最终的解法,评估参数对结果的影响
      (3) 案例实战,基于真实数据集,结合Python工具库,从数据预处理开始一步步建模完成整个案例

相关推荐