我本科被金融专业录取了,但是喜欢人工智能。请问如何自学,需要什么知识。我可以考人工智能的研究生吗。 想要学人工智能需要学些什么python的知识
需要数学基础:高等数学,线性代数,概率论数理统计和随机过程,离散数学,数值分析。数学基础知识蕴含着处理智能问题的基本思想与方法,也是理解复杂算法的必备要素。今天的种种人工智能技术归根到底都建立在数学模型之上,要了解人工智能,首先要掌握必备的数学基础知识。线性代数将研究对象形式化,概率论描述统计规律。
需要算法的积累:人工神经网络,支持向量机,遗传算法等等算法;当然还有各个领域需要的算法,比如要让机器人自己在位置环境导航和建图就需要研究SLAM;总之算法很多需要时间的积累。
需要掌握至少一门编程语言,比如C语言,MATLAB之类。毕竟算法的实现还是要编程的;如果深入到硬件的话,一些电类基础课必不可少。
拓展资料:人工智能(Artificial Intelligence),英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
人工智能从诞生以来,理论和技术日益成熟,应用领域也不断扩大,可以设想,未来人工智能带来的科技产品,将会是人类智慧的“容器”。人工智能可以对人的意识、思维的信息过程的模拟。人工智能不是人的智能,但能像人那样思考、也可能超过人的智能。
人工智能是一门极富挑战性的科学,从事这项工作的人必须懂得计算机知识,心理学和哲学。人工智能是包括十分广泛的科学,它由不同的领域组成,如机器学习,计算机视觉等等,总的说来,人工智能研究的一个主要目标是使机器能够胜任一些通常需要人类智能才能完成的复杂工作。但不同的时代、不同的人对这种“复杂工作”的理解是不同的。2017年12月,人工智能入选“2017年度中国媒体十大流行语”。
参考资料:百度百科—人工智能:计算机科学的一个分支
Python和人工智能的关系及应用,以及想要学人工智能的你,究竟需要学些什么Python的知识,先来上两张图人工智能和Python的图。
从上图可以看出,人工智能包含常用机器学习和深度学习两个很重要的模块,而下图中Python拥有matplotlib、Numpy、sklearn、keras等大量的库,像pandas、sklearn、matplotlib这些库都是做数据处理、数据分析、数据建模和绘图的库,基本上机器学习中对数据的爬取(scrapy)、对数据的处理和分析(pandas)、对数据的绘图(matplotlib)和对数据的建模(sklearn)在Python中全都能找到对应的库来进行处理。
所以,要想学习AI而不懂Python,那就相当于想学英语而不认识单词。
如果你想要学好python最好加入一个好的学习环境,可以来这个Q群,首先是629,中间是440,最后是234,这样大家学习的话就比较方便,还能够共同交流和分享资料
那么要想学人工智能,想学Python,那些东西要学习呢,下面给大家简单介绍下:
首先,你要学Python如何爬取数据,你要做数据分析、数据建模,起码你要有数据,这些数据来源有多种方法,但是很多都来自网络,这就是爬虫。
爬虫:requests、scrapy、selenium、beautifulSoup,这些库都是写网络爬虫需要使用到的,好好掌握这些东西,数据就有了。
然后,有了数据就可以进行数据处理和分析了,这个时候,你需要用到数据处理的一些库。
数据处理:Numpy、scipy、pandas、matplotlib,这些库分别可以进行矩阵计算、科学计算、数据处理、绘图等操作,有了这些库,你就可以一步步开始把数据处理成你需要的格式。
接着,数据符合你的格式以后,你就需要利用这些数据进行建模了,这个时候你用到的库也有很多。
建模:nltk、keras、sklearn,这些库主要是用于自然语言处理、深度学习和机器学习的,把这些用好了,你的模型就构建出来了。
最后,如果你的项目是基于Python开发的线上系统,你还可以学一学Python的Web开发,这样,你做的模型还能直接用在线上系统。
Web开发:django、flask、tornado,这些库搞明白了,你Web开发也就搞定了。
不过,有句话叫“人生苦短,我用Python”,之所以这么说是因为Python在实现各个功能的时候要远比其他语言简练的多,很多功能在Python中只需要一行代码搞定,但是在Java中你可能需要写好多好多代码才能实现。
就拿一个简单的例子,读写文件来说吧:
Python读写文件:
//读文件
with open('readFile', 'r') as inFile:
for line in inFile.readlines():
print line
...
//写文件
with open('writeFile', 'w') as outFile:
outFile.write("...")
Java读写文件:
import java.io.InputStreamReader;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.BufferedWriter;
import java.io.File;
BufferedReader br1 = new BufferedReader(new InputStreamReader(new FileInputStream("read_file1")));
BufferedReader br2 = new BufferedReader(new FileReader("read_file2"));
String line = null;
while((line = br1.readLine())!=null){
System.out.println(line);
...
}
File outfile = new File("write_file");
if (!file.exists()){
file.createNewFile();
}
//true = append file
FileWriter fileWritter = new FileWriter(file.getName(),true);
BufferedWriter bufferWritter = new BufferedWriter(fileWritter);
bufferWritter.write(data);
bufferWritrer.flush();
bufferWritter.close();
各位学习人工智能的同胞们,你们看到了吧,就是一个简单的读写文件,Java的操作要比Python复杂太多太多!
在真实的工作中,我们需要做的事情是把大量的精力集中在数据上、数据分析和理解上,而不是花费30%-50%的时间去写代码,Python不光是提供了机器学习所需要的一切工具库,还能让你专注在数据处理和分析上,所以,要学习和进入人工智能行业的话,好好学习Python吧,骚年!
最后,附上一张今年语言排行榜。
至于读研的问题,想学校老师咨询,信息最准确。
要想学好金融学本科学数学