文章目录
人工智能
三个阶段
- 弱人工智能
只能完成特定任务(驾驶,翻译) - 通用人工智能
- 强人工智能
超越人类
机器学习
Tom Mitchel定义的过程
- 任务
- 训练过程
- 模型表现
与统计学&计量经济学关系
- 机器学习:侧重Optimization实现Prediction
- 统计学:Statistically modeling and inference
- 计量经济学:causal inference
分类
- Supervised learning
数据已经打标签 - Unsupervised learning
数据无标签,用于聚类,主成分分析 - Reinforcement Learning
属于无监督学习,与环境交互获得反馈
基本过程
- 建立模型
- 确定loss Function
- 使用训练集样本数据进行训练和优化求解(梯度下降Gradient Decent)
- 使用测试样本检验
- 模型应用
应用
- 线性回归(预测问题)
h θ ( x ) = θ 0 + θ 1 x h_θ(x)=θ_0+θ_1x hθ(x)=θ0+θ1x
损失函数
J ( θ 0 , θ 1 ) = 1 m ∑ i = 1 m ( h ( x ( i ) ) − y ( i ) ) 2 J(θ_0,θ_1)=\frac{1}{m}\sum_{i=1}^{m}(h(x^{(i)})-y^{(i)})^2 J(θ0,θ1)=m1i=1∑m(h(x(i))−y(i))2 - 逻辑回归(分类问题)
h θ ( x ) = g ( θ T x ) h_θ(x)=g(θ^Tx) hθ(x)=g(θTx)
g ( z ) = 1 1 + e − z g(z)=\frac{1}{1+e^{-z}} g(z)=1+e−z1
损失函数
C o s t ( h θ ( x ) , y ) = { − log ( h θ ( x ) ) i f y = 1 − log ( 1 − h θ ( x ) ) i f y = 0 Cost(h_θ(x),y) =\begin {cases}-\log(h_θ(x))\quad &if\quad y=1\\-\log(1-h_θ(x))\quad &if\quad y=0 \end{cases} Cost(hθ(x),y)={−log(hθ(x))−log(1−hθ(x))ify=1ify=0
准确度
结果分类
- True positives
- False positives
- False negatives
- True negateive
检验指标
如果检验结果太好还要看下样本是否均衡
- accuracy
accuracy=(TP+TN)/(P+N) - error rate
error rate=(FP+FN)/(P+N) - precision
精度 precision=TP/(TP+FP) - recall
查全率 recall=TP/(TP+FN) - F1 score
- Receiver Operating Characteristic
降维方法
- 主成分分析(PCA)
- 因子分析
- 独立成分分析
非深度学习
SVM
按监督学习方式对数据进行二元分类的广义线性分类器,其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane).SVM可以通过核方法(kernel menthod)进行非线性分类
Random Forest
利用多棵决策树对样本进行训练并预测的一种分类器,是一种通过建立多个分类器模型,各自独立学习和预测并将结果合成单一预测的集成学习方法
深度学习
深度学习的本质是降维,适应于未做任何处理的原始数据,但也有以下缺点:
- 黑盒子,不可解释性
- 受限于训练样本的局限性(由于局部样本,从而局部最优)
- 只能完成单元工作,无法通用
- 容易被反向攻击(欺骗神经网络)
- 不能使用其他领域已有的知识
- 依赖专家设计合理模型
神经网络
全连接网络每一层神经元与上一层/下一层所有神经元
激活函数
- sigmoid
σ ( a ) = 1 1 + e − a \sigma(a)=\frac{1}{1+e^{-a}} σ(a)=1+e−a1
∂ σ ( a ) ∂ a = σ ( a ) ( 1 − σ ( a ) ) \frac{\partial\sigma(a)}{\partial a}=\sigma (a)(1-\sigma(a)) ∂a∂σ(a)=σ(a)(1−σ(a))
取值范围:(0,1) - TanH
t a n h ( a ) = e a − e − a e a + e − a tanh(a)=\frac{e^a-e^{-a}}{e^a+e^{-a}} tanh(a)=ea+e−aea−e−a
∂ t a n h ( a ) ∂ a = 4 ( e a + e − a ) 2 \frac{\partial tanh(a)}{\partial a}=\frac{4}{(e^a+e^{-a})^2} ∂a∂tanh(a)=(ea+e−a)24 - ReLu
r e l u ( a ) = m a x ( 0 , a ) relu(a)=max(0,a) relu(a)=max(0,a)
∂ r e l u ( a ) ∂ a = { 0 , i f a ≤ 0 1 , i f a > 0 \frac{\partial relu(a)}{\partial a}=\begin{cases}0,if\quad a\leq0\\1,if\quad a>0\end{cases} ∂a∂relu(a)={0,ifa≤01,ifa>0 - softmax
σ i ( a ) = e a i Σ j e a j \sigma_i(a)=\frac{e^{a_i}}{\Sigma_je^{a_j}} σi(a)=Σjeajeai
∂ σ i ( a ) ∂ a j = σ i ( δ i j − σ j ( a ) ) δ i j = { 1 , i f i = j 0 , i f i ≠ j \frac{\partial\sigma_i(a)}{\partial a_j}=\sigma_i(\delta_{ij}-\sigma_j(a)) \quad \delta_{ij}=\begin{cases}1,if \quad i=j\\0,if\quad i\neq j\end{cases} ∂aj∂σi(a)=σi(δij−σj(a))δij={1,ifi=j0,ifi=j
softmax是一个多分类判定函数,输出结果为每种分类的概率,通常用于输出层
传播
- Forward propagation
- Back propagation
概念
- Hyper-parameters
超参数:神经网络训练过程中不变的参数:网络层数,每层神经元数量,学习率 - Adaptive Learning Rate
自适应学习率:训练过程中学习率不再是固定的,而是根据梯度大小,学习速度,每个参数的大小变化 - Adam
自适应惯性学习率调整:训练过程学习率自适应调整,且具有惯性特点,可以跳过局部最优点 - Stochastic Gradient Descent
随机梯度下降:SGD - Training,validation,test
训练集:训练模型
验证集:检查是否过拟合
测试集:检查是否有效
以上三者一般是8:1:1 - Epoch,Batch
全样本集:
Batch: - underfitting,ideal fit,overfitting
过拟合:
一般有以下两种方案: - Early Stopping:训练集损失函数在下降但是验证集的损失函数在上升就提前结束
- Regularization(正则化)
- 对参数值进行惩罚(参数值计入损失函数)
- 随机丢弃一些神经元(Dropout)
- One-hot
独热编码:对于一些类别信息,由于不适用加法,而是使用一个向量来表示
eg: 香蕉[1,0,0],苹果[0,1,0],橘子[0,0,1]相对于香蕉3,苹果2,橘子1(会产生香蕉=苹果+橘子)
包括年龄也应该使用独热编码