网站首页 > 技术文章 正文
随着阿尔法狗人机大战的胜利,人工智能已经成为最火的话题,人脸识别,内容推荐,无人驾驶等人工智能产物被大家熟知。大家都看好人工智能的前景。那么,如果对人工智能感兴趣,作为小白该如何入门呢?
关于人工智能、机器学习、深度学习的关系如下图所示,在我看来其中并没有明显的区分。
入门人工智能我们到底该学些什么呢。我结合着自己学习经历和工作经历,给大家说几个部分。
一、数学基础部分
学习人工智能,要有一些数学基础,好在要求的数学基础都是高中及大学的层次,相信大家都学过。即使忘了,再去寻找以前的记忆也相对容易一些。我列举下必备的知识。
1.线性代数(矩阵、特征值、特征向量、秩)
2.微积分(极限、导数、拉格朗日中值、泰勒级数展开)
3.统计学 (相关性分析、期望、方差、分布、指标)
注:很多文章都说凸优化的知识,其实凸优化多数都是用在研究领域,对于刚入门作用不大,暂时不建议大家看。
书籍方面:去翻下大学相关课程教材即可。不建议从头开始学,很耗时,去翻翻上面说的几部分内容就可以。如果觉得不够可以再去看看吴军的《数学之美》和李航的《统计学习方法》。这两本书还是比较经典的。
二、Python语言基础
现在机器学习中,Python语言用的居多。如果你是程序员出身,已经有过Python,C++,Java语言的话,这一步就很简单了。如果你现在还不懂编程语言,也没关系,Python是一门很简单的语言。Python语言其实也有难点,但好在机器学习里面用不上,是不是有难以掩饰的激动,相信大家经过1周时间基本就可以应用了。我给同学们列举下该学习哪部分。
基础部分:推荐给大家一个网上的教程,如果这个链接失效了,也可以自己在搜索引擎上搜《Python3教程》关键字(这里推荐大家学习Python3,如果已经有了Python2的基础,也可以忽略) https://m.runoob.com/python3/。
模块部分:Numpy、Pandas、Matplotlib。这几个是需要大家掌握的。大家自己在搜索引擎上搜。
其他的呢,可以看下scikit-learn这个模块。他是机器学习的一个Python库。有很多机器学习方面的模型,用scikit-learn可以很快的实现。大家也可以在了解机器学习之后,再学习也可以。
三、机器学习基础
这一部分内容还是很多的,讲的都是一些经典的入门算法,大家要好好的感受下这些算法的精髓。
- 线性回归、梯度下降、逻辑回归
- 决策树和随机森林(ID3、C4.5、CART、GBDT、RandomForest)
- SVM (软间隔、损失函数、核函数、SMO算法、libSVM)
- 聚类(K-Means、聚谱类SC)
- EM算法(最大似然估计、Jensen不等式、混合高斯分布、主题模型pLSA)
- 主题模型LDA
- 隐马尔可夫模型
书籍方面:Andrew Ng — Machine Learning Coursera from Stanford
有了上面的基础,选择一门由浅入深的课程来学习。基础打下后,对机器学习已经有了充足的了解,可以用机器学习来解决一个实际的问题。解决实际问题的时候,可能涉及到上面基础部分的延伸,相信有了上面的基础部分,再继续学习起来就容易很多。通过实战经验积累以后,可以考虑继续进行学习。这时候有两个选择,深度学习或者继续机器学习。深度学习是目前最火热的机器学习方向,这里推荐大家选择TensorFlow框架。它是谷歌公司的开源框架,虽然说并不是最早的,但是无论它背后的技术沉淀,还是它的更新速度都是好的。也在开源的众多深度学习的框架中遥遥领先。深度学习其中一些方法已经跟传统的机器学习不太一样,因此可以单独学习。除了深度学习以外,机器学习还包括统计学习,集成学习等实用方法。如果条件足够,可以同时学习两者,一些规律对两者是共通的。学习完后,你已经具备了较强的知识储备,可以进入较难的实战。这时候有两个选择,工业界的可以选择看开源项目,以改代码为目的来读代码;学术界的可以看特定领域的论文,为解决问题而想发论文。无论哪者,都需要知识过硬,以及较强的编码能力,因此很能考察和锻炼水平。经过这个阶段以后,可以说是踏入AI领域的门了。
入门之后也算是值得高兴了,但是你离精通其实还有很远的一段路要走,想要在这个行业长久地活下去,内功的修炼要比外功重要得多,不然会活得很累,也很难获得一个优秀的晋升空间。入门之后,赶快找一家公司去工作。在工作中会把你学习的知识融会贯通。而且刚步入公司,也会有一些大拿级别的人带你。这样的话,对你今后的发展都有很大的帮助。
另外列举一些面试中经常考的知识点。
线性回归数学推导
可用性评估:获取难度、覆盖率、准确率
特征清洗:清洗异常样本
采样:数据不均衡、样本权重
单个特征:无量纲化(标准化、归一化)、二值化、离散化、缺失值(均值)、哑编码(一个定性特征扩展为N个定量特征)
数据变换:log、指数、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等
如果对小编的文章感兴趣,可以关注小编微信公众号:机器学习与数据挖掘
- 上一篇: 微信公众号文章质量评分算法详解 公众号文章质量怎么提高
- 下一篇: 软件架构风格 软件架构风格分类
猜你喜欢
- 2024-10-12 微信公众号文章质量评分算法详解 公众号文章质量怎么提高
- 2024-10-12 深度学习视频理解(分类识别)算法梳理
- 2024-10-12 「网易云音乐」歌单推荐算法:技术同学体验反推
- 2024-10-12 深度神经网络GRU模型实战:教你两小时打造随身AI翻译官
- 2024-10-12 基于GWO灰狼优化的CNN-GRU-Attention
- 2024-10-12 基于PSO优化的CNN-GRU-Attention的时间序列
- 2024-10-12 时域卷积网络TCN详解:使用卷积进行序列建模和预测
- 2024-10-12 计算机,通信,算法 通信算法和计算机算法
- 2024-10-12 基于GA优化的CNN-GRU-Attention的时间序列
- 2024-10-12 基于PSO粒子群优化的CNN-GRU的时间序列回归预测
你 发表评论:
欢迎- 最近发表
-
- 在 Spring Boot 项目中使用 activiti
- 开箱即用-activiti流程引擎(active 流程引擎)
- 在springBoot项目中整合使用activiti
- activiti中的网关是干什么的?(activiti包含网关)
- SpringBoot集成工作流Activiti(完整源码和配套文档)
- Activiti工作流介绍及使用(activiti工作流会签)
- SpringBoot集成工作流Activiti(实际项目演示)
- activiti工作流引擎(activiti工作流引擎怎么用)
- 工作流Activiti初体验及在数据库中生成的表
- Activiti工作流浅析(activiti6.0工作流引擎深度解析)
- 标签列表
-
- oraclesql优化 (66)
- 类的加载机制 (75)
- feignclient (62)
- 一致性hash算法 (71)
- dockfile (66)
- 锁机制 (57)
- javaresponse (60)
- 查看hive版本 (59)
- phpworkerman (57)
- spark算子 (58)
- vue双向绑定的原理 (68)
- springbootget请求 (58)
- docker网络三种模式 (67)
- spring控制反转 (71)
- data:image/jpeg (69)
- base64 (69)
- java分页 (64)
- kibanadocker (60)
- qabstracttablemodel (62)
- java生成pdf文件 (69)
- deletelater (62)
- com.aspose.words (58)
- android.mk (62)
- qopengl (73)
- epoch_millis (61)
本文暂时没有评论,来添加一个吧(●'◡'●)