如何高效学习AI
- 学习效率
- 学习质量 :广度+深度
- 态度+意识
- 没有章法的勤劳=白劳
- 学习强度
反思:
- 主动吃苦
- 学习方法至关重要
- 赶路时千万别忘了: 停下来,回头看看脚印,抬头看看前方
(1)学习金字塔
- 主动学习>被动学习
- 教授>总结>实践>看书
经验
- 学而不用就忘记
- 学而不思也忘记
- 理解>记忆
- 图像记忆>文字记忆
- 贪多必失,学该学的
大脑学习之道:
图谱结构+注意力+联想记忆+推理反思
¥
支付方式
请使用微信扫一扫 扫描二维码支付
请使用支付宝扫一扫 扫描二维码支付
如何高效学习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)等
传统常用图像人工特征提取方法:
卷积神经网络就是至少一层使用卷积运算的神经网络,其特性包含:
基本运算包含:
CNN的特性:
与常规神经网络不同,RNN适用于需要有前后依赖关系的情形,如:机器翻译、股票预测等场景。
类型包括:简单RNN、双向RNN
LSTM、GRU等
RNN常见应用:
《线性代数的本质》
《马同学高等数学》
对于初学者来说,良好的解释比证明重要得多。
线性空间的任意点在线性变换前后一定保持等距分布。
对一个向量做线性变换,N(A^N)次以后它会趋近于一个方向,这个方向就是矩阵分解的最大特征值对应的方向。
高斯混合模型:
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) #排序(默认升序)
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')) #替换所有