至少,你需要一个数学基础:
高等数学、线性代数、概率论、数理统计与随机过程、离散数学、数值分析。数学基础知识包含了处理智能问题的基本思想和方法,也是理解复杂算法必不可少的要素。现在的各种人工智能技术,归根结底都是基于数学模型的。要了解人工智能,首先要掌握必要的数学基础知识。线性代数将研究对象形式化,概率论描述统计规律。
需要算法的积累:
人工神经网络、支持向量机、遗传算法等;当然,各种领域都需要算法。比如要学习slam为了让机器人在定位环境中导航和建立地图。总之很多算法是需要时间积累的。
需要掌握至少一门编程语言:
比如c语言,matlab等等。毕竟算法的实现还是需要编程的;如果深入硬件,一些电学基础课程必不可少。
你不人工智能不一定要学python,但是掌握python会帮助你最高效地学习人工智能相关知识。为什么这么说?
编程语言只是工具。python最简单的编程语言只是一个编程工具。编程的本质是算法和数据结构。python是目前学习成本最低的编程语言,简单易学。还支持跨平台开发,你写的代码不需要太大改动就可以在windows、linux、macos操作系统上运行,非常方便。python语言是一种解释性的脚本语言,不需要编译就可以边写代码边调试,非常有利于理解代码本身的逻辑。其他静态编程语言就麻烦多了。
人工智能教材多以python讲解。目前无论是市面上的人工智能相关教材,还是网络上的开源框架,基本都是用python作为相应的开发语言来讲解。人工智能本身就涉及到很多数学相关的知识。pyhon有丰富的与数值计算相关的包,比如numpy,pandas等。基于这样的第三方包,我们可以在学习过程中把全部精力投入到对相关知识本身的理解上,而不会被如何实现某个矩阵计算所困扰。
至于其他语言是否也可以用来学习,那这是肯定的。目前主流的人工智能开源框架都提供了多种语言的sdk,比如c,java等等。不过这两种语言的学习成本要高很多。请记住,我们学的是人工智能,不是编程语言。希望我的回答对你有帮助!