首页 AI学术青年与开发者社区

从Python入门-如何成为一名AI工程师

开课时间:
开课时长:30+课时,实践项目和案例
机器学习 基础入门
会员免费
现价:¥299.00
原价:¥499.00

  开通会员,立省299元 立即开通

  当前课程,会员领券立减30元>>

该课程已关闭

如何高效学习AI

  •     学习效率
  •     学习质量 :广度+深度
  •     态度+意识
  •     没有章法的勤劳=白劳
  •     学习强度​

     反思:

  •     主动吃苦
  •     学习方法至关重要
  •     赶路时千万别忘了: 停下来,回头看看脚印,抬头看看前方

 

 

(1)学习金字塔

  • 主动学习>被动学习
  • 教授>总结>实践>看书

 经验

  • 学而不用就忘记
  • 学而不思也忘记
  • 理解>记忆
  • 图像记忆>文字记忆
  • 贪多必失,学该学的

 

 

大脑学习之道:

图谱结构+注意力+联想记忆+推理反思

[展开全文]

算法

1. 逻辑控制

分支

if-elif-else

循环

for、while

- for 循环次数固定、while 不固定

- 中止语句:continue 、break

- pass

- return、yield

- exit

异常

try-except-finally

2. 基础算法

排序(visualgo数据结构可视化网站)

- 内部排序

  - 交换排序:冒泡、快速排序

  - 插入排序:直接插入、希尔排序

  - 选择排序: 简单选择、堆排序

  - 归并排序

  - 基数排序

- 外部排序

查找

3. 简单算法

分治

递归

贪心

动态规划

回溯

分支限界

[展开全文]

AI 改变生活:

- 图像、语音、文字、游戏、无人驾驶

- NLP

DL发展历史:

神经元-->单层神经网络-->两层神经网络-->多层神经网络

三大因素:

- 海量数据

- 计算能力

- 算法突破

DL结构:

- 基础知识:

    - 线性代数、概率、信息论、数值计算

    - 机器学习

 - 深度学习算法:

    - FFN、正则化、优化

    - CNN、RNN

    - 实战、应用

- 展望:

   - 线性因子模型、自编器

   - 结构概率模型、蒙特卡洛方法

   - 深度生成模型

 

 

 

[展开全文]

神经网络的优点:

网络实质上实现了一个从输入到输出的映射功能,而数学理论已证明它具有实现任何复杂非线性映射的功能。这使得它特别适合于求解内部机制复杂的问题。

网络能通过学习带正确答案的实例集自动提取“合理的”求解规则,即具有自学习能力。

网络具有一定的推广、概括能力。

神经网络的缺点:

对初始权重非常敏感,极易收敛于局部极小。

容易 Over Fitting 和 Over Training。

如何选择隐藏层数和神经元个数没有一个科学的指导流程,有时候感觉就是靠猜。

[展开全文]

不同的生物有不同的视觉系统,相同的图片经过不同的视觉系统可能的到不同的图像,卷积神经网络本质上是模拟了人的生物视觉系统。卷积圣经网络通常用于网格结构数据,如图像、时序数据(NLP)等

传统常用图像人工特征提取方法:

  • SIFT:Scale Invariant Feature Transform
  • Hog:Histogram of Oriented Gradients

卷积神经网络就是至少一层使用卷积运算的神经网络,其特性包含:

  • 稀疏交互(Sparse interaction)
  • 参数共享(Parameter sharing)
  • 等变表示(Equivariant representation)

基本运算包含:

  • 卷积:提取特征
  • 池化:降维

CNN的特性:

  • 稀疏连接:卷积和的规模远小于图像规模,层数越深,感受野越大

  • 参数共享:在同一层中,卷积核里面的权重不变,与全连接相比,可以节省很大空间
  • 等变表示:多次变化、顺序无关。函数相互独立。f(g(x)) = g(f(x))
 

 

 

 

 

 

 

 

 

[展开全文]
流动的空气 · 2019-04-25 · CNN简介 0

与常规神经网络不同,RNN适用于需要有前后依赖关系的情形,如:机器翻译、股票预测等场景。

类型包括:简单RNN、双向RNN

LSTM、GRU等

 

RNN常见应用:

  • 聊天机器人
  • 机器翻译
  • 语音识别
  • 图像描述
聊天机器人结构示例:
一般是使用Seq2seq方法,也就是两个RNN相互编码与解码,基本算法如下图:

 
对于图像描述可考虑CNN与RNN结合的方式。
 
 
 
 
[展开全文]
流动的空气 · 2019-04-23 · 回顾+RNN 0

《线性代数的本质》

《马同学高等数学》

对于初学者来说,良好的解释比证明重要得多。

  • 线性变换 + 平移变换 = 仿射变换

线性空间的任意点在线性变换前后一定保持等距分布。

  • 特征值就是运动的速度
  • 特征向量就是运动的方向

对一个向量做线性变换,N(A^N)次以后它会趋近于一个方向,这个方向就是矩阵分解的最大特征值对应的方向。

高斯混合模型:

  • 通过简单的概率分布构造复杂的概率分布
  • 万能近似器
[展开全文]
Boylad · 2019-03-20 · 数学基础 1
x = [12, 74, 23, 43, 19]
x.append(54)
print(x)
x.extend([34, 37])
print(x)

print('Hello %$!' %('World'))
x = [12, 74, 23, 43, 19]
print(x)
x.append(54) #在list后追加一个元素
print(x)
x.extend([34, 37]) #在列表后追加列表
print(x)
print(x[1:4]) #字符串切片操作
del(x[3]) #字符串删除操作,小心使用,不要在遍历时改变list结构
print(x) 
y = x[1:4]
print(y) #切片,左闭右开
x.insert(6,6666)
print(x)
x.pop() #尾部删除
print(x)
x.remove(6666) #删除指定元素
print(x)
print(x.count(23)) #统计元素出现个数
print(x.index(23)) #查找元素,返回下标
x.reverse() #列表逆置
print(x)
x.sort()
print(x) #排序(默认升序)
  •   转义:\
  •  横向制表符:\t
  • -纵向制表符: \v
  • -换行(软回车):\n
  • -硬回车:\r\n
  • 字符串运算符:+,*,[],in,not in
a = 'hello Python'
print(a.capitalize()) #将字符串首字母大写
print(a.center(20)) #将字符串a置于20个空格字符的中间
print(a.startswith('H')) #判断字符串是否以某个字母开始
print(a.startswith('h'))
print(a.endswith('n')) #判断字符串是否以某个字母结束
print(a.lower()) #将字符串统一小写
print(a.upper()) #将字符串统一大写
print(a.islower()) #判断字符串是否小写
print(a.isupper()) #判断字符串是否大写
print(a.find('l')) #查找字符串,返回第一个查找到的字符串的首字符的索引,找不到不报错返回-1
print(a.index('P')) #查找字串,返回索引,查不到报错
print(a.replace('l', 'W')) #替换所有

 

[展开全文]
  • 数据结构 + 算法 = 程序
  • 栈: 先进后出
  • 队列: 先进先出
  •  Python数据类型:整型\浮点\字符串\布尔
  • type(x)获取x的数据类型
  • 逻辑运算: and\or\not
  • Python的数据结构:列表\元组\字典\集合 
  • 列表追加元素: list.append()
  • 列表追加列表: list.extend([...])
  • 不要在遍历时改变列表结构
  • 任意位置插入: x.insert()
  • 尾部删除: x.pop
  • 删除指定元素: x.remove()
  • 清空: x.clear()
  • 复制: x.copy()
  • 统计元素出现个数: x.count()
  • x.index()查找元素,找到返回索引,未找到返回-1
  • 逆置: x.reverse()
  • 排序(默认升序): x.sort()
  • list是顺序结构,结合数组+队列+栈
  • tuple不能修改.x = {1,2,3,4,5)
  • d['a']获取,不存在时报错
  • d.get('a',0)不存在时给默认值
  • d['c'] = 5增加
  • d.update({'c':5, 'd':8})更新
  • del d['d']删除
  • d.popitem()从尾部删除键值对
  • d.keys()获取所有key值,返回list
  • d.values()获取所有value值,返回list
  • 字典也可以有序:inport collections \n ordered_dict = collections.OrderedDict(items)
  • a = set([a,s,d,])
  • 并集: a.union(b)
  • 交集: a.intersection(b)
  • c = a - b 差集(a独有)
  • c = b - a 差集(b独有)
  • c = a ^ b 对称差集(a ,b独有)
  • a.symmetric_difference(b)
  • a.symmetric_difference_update(b)
  • 添加元素: a.add(20)
  • 用一个列表更新集合: a.update([10, 11])
  • 删除集合中的元素: a.remove(10),元素不存在时报错
  • 删除集合中的元素:a.discard(10),元素不存在时不报错
  • a.pop(10)移除尾部元素
  • 把集合变成不能变的集合: c = frozenset(a),类似tuple与list的关系
  • 两个集合判断: a == b, a != b
  • a in b 是否 $\blong$ a.issubset(b), a.issuperset(b)
  • a mot in b
  • a.isdisjoint(b), 是否存在交集
[展开全文]
Boylad · 2019-03-13 · 数据结构 5
  • python intro_raw.py——执行脚本,import部分生成pyc字节码文件。
  • 首次执行或者文件更新时才有pyc
  • 下次执行时,如果pyc时间戳跟py无差异就直接调用pyc给解释器执行,否则重新生成。
  • pyc,即PythonCodeObject,提速+代码加密
  • python -m filename.py——执行包,生成pyc。
  • python -c "print('hello')"——执行单行脚本
  • windows下生成的pyc文件在——_pycache_目录里。
  • 调试工具:IDLE的debugger、pdb、pudb。
  • python -m pdb filename.py
[展开全文]
Boylad · 2019-03-11 · Hello World 1

授课教师

资深算法工程师,曾就职于BAT,有多年企业数据挖掘/机器学习/深度学习项目经验
微信扫码分享课程