随着AlphaGo在人机大战中的胜利,人工智能成为最热门的话题。人脸识别、内容推荐、无人驾驶等人工智能产品已为大家所熟知。大家都看好人工智能的前景。那么,如果你对人工智能感兴趣,作为新手应该如何入门呢?
人工智能、机器学习、深度学习之间的关系如下图所示。在我看来,没有明显的区别。
人工智能入门我们应该学什么?我根据自己的学习经历和工作经历给大家讲几个部分。
1.基础数学部分
要学习人工智能,你需要有一定的数学基础。幸运的是,所需的数学基础是高中和大学水平。相信大家都已经学会了。即使你忘记了,寻找旧的记忆也相对容易。我把必要的知识列出来。
1.线性代数(矩阵、特征值、特征向量、秩)
2.微积分(极限、导数、拉格朗日中值、泰勒级数展开)
3.统计(相关分析、期望、方差、分布、指标)
注:很多文章讲凸优化的知识。事实上,凸优化主要用于研究领域,对于初学者来说并不是很有用。暂时不建议大家阅读。
书籍方面:只要浏览大学课程相关的教科书即可。不建议从头开始学习,非常耗时,只需过一遍上面提到的几个部分即可。如果觉得还不够,可以看吴军的《数学之美》和李航的《统计学习方法》。这两本书都很经典。
2.Python语言基础知识
如今,Python语言主要用于机器学习。如果你是一名程序员并且已经了解Python、C++和Java语言,那么这一步非常简单。如果您还不了解编程语言也没关系,Python 是一种非常简单的语言。 Python语言其实也有它的难点ai软件教程入门知识,但好在它不能用于机器学习。如果你兴奋的话,我相信你基本上一周就能应用。我会为学生列出他们应该学习哪一部分。
基础部分:我向大家推荐一个在线教程。如果这个链接无效,你也可以自己在搜索引擎上搜索关键字“Python3教程”(建议大家学习Python3,如果你已经有Python2的基础,也可以忽略)。
模块部分:Numpy、Pandas、Matplotlib。这些都是每个人都需要掌握的。每个人都自己在搜索引擎上搜索。
对于其他人,您可以查看 scikit-learn 模块。它是一个用于机器学习的 Python 库。机器学习模型有很多,使用scikit-learn可以快速实现。了解机器学习之后还可以了解更多。
3. 机器学习基础知识
这部分的内容还是很多的,讲的是一些经典的入门算法。每个人都应该感受到这些算法的精髓。
书籍:Andrew Ng — 斯坦福大学机器学习 Coursera
有了以上基础,选择一门课程由浅入深地学习。打好基础后,你对机器学习有了足够的了解,可以利用机器学习来解决实际问题。在解决实际问题时,可能会涉及到上述基本部分的扩展。相信有了以上的基础部分,继续学习会容易很多。积累实践经验后,可以考虑继续学习。这个时候有两个选择,深度学习或者继续机器学习。深度学习是目前最热门的机器学习方向。建议您选择TensorFlow框架。它是Google的开源框架。虽然不是最早,但是背后的技术和更新速度都不错。在众多开源深度学习框架中也遥遥领先。深度学习的一些方法与传统的机器学习不同,因此可以单独学习。除了深度学习之外,机器学习还包括统计学习、集成学习等实用方法。如果条件充足,可以同时学习,有些规则是两者通用的。学习之后,你已经有了很强的知识储备,可以进入更困难的实战。这时,有两个选择。业内人士可以选择查看开源项目、阅读代码,以达到更改代码的目的;学术界的人可以看特定领域的论文,想发表论文来解决问题。无论选择哪一种,都需要有良好的知识和较强的编码能力,这样很容易测试和训练你的水平。通过了这个阶段,就可以说你已经进入了AI领域。
入门后值得高兴,但距离熟练还有很长的路要走。如果你想在这个行业长久生存ai软件教程入门知识,内功的修炼比外功重要得多,否则你会活得很累。想要获得绝佳的晋升空间也很困难。开始工作后,迅速找到公司工作。您将整合在工作中学到的知识。而且你刚进公司的时候,会有一些大牌人士来指导你。这样的话,对你以后的发展会有很大的帮助。
还列出了一些面试中经常考查的知识点。
线性回归数学推导
可用性评估:获取难度、覆盖范围、准确性
功能清洗:清洗异常样本
抽样:数据不平衡、样本权重
单一特征:无量纲(标准化、归一化)、二值化、离散化、缺失值(均值)、虚拟编码(一个定性特征扩展为N个定量特征)
数据变换:对数、指数、Box-Cox降维:主成分分析PCA、线性判别分析LDA、SVD分解
特征选择:Filter(相关系数、卡方检验)、Wrapper(AUC、设计评估函数A*、Embedded(L1-Lasso、L2-Ridge、决策树、DL)
机器学习算法:LR、GBDT、XGBoost、lightGBM
深度学习基础:BP算法、dropout、BN等。
深度学习算法:CNN、RNN、LSTM、GRU、GAN等。