Fork me on GitHub

Coursera机器学习+deeplearning.ai+斯坦福CS231n

Coursera机器学习

Week 5: Neural Networks: Learning

  • 本来上周开始该学习这个内容,也是先提交了作业,今天才来看看具体的代码;感觉这个课程本身对基础巩固很好。没有连续学习感觉有些有点忘了,最终的目的是自己能够推导这个内容。
  • 本来想跟着学习搞个电子证书的,结果申请的到期时间是2017.3.31;然后给课题组的发了邮件,结果说课只能买了,很伤心,但是还是坚持学习;看后面能不能再次申请。

上周出差回来,开始找了一篇论文看《ScSPM》,这里有源代码,自己希望能认真看懂;毕竟这篇文章包含了dense sift特征提取+Spare coding+linear svm知识很全面,希望能看懂代码。这个过程却发现自己缺少了很多东西,他自己的sift提取方法,Sc,svm都是自己实现的;感觉看懂好难。然后周六开始实验室有“学术交流”,师兄师姐交流他们整个小论文的过程,针对梯度下降这些基本的方法,我们都没有认真的理解。发现图像和机器学习自己都没有认真的系统的学习;自己在博客上零零散散的看了很多方法;但是没有成系统。然后想跟着coursera机器学习 认真的学一下;却发现视频放不了的。但是作业还是可以提交的,想认真弄弄最后搞个证书。我在github上找了很多课程matlab的代码;今天完整了把第一次编程作业看了,其实对损失函数,参数学习,梯度下降在代码中认识了一下;感觉很不错。后续把后面的作业认真的看看。

学习资料


## 学习目录

整理学习目录,能够更系统的了解知识结构。
 
### 目录
#### Week1 机器学习介绍 
 1机器学习介绍 
 1.1什么是机器学习? 
 1.2监督学习(Supervised Learning)
 1.3非监督学习(Unsupervised Learning) 

#### Week1 单变量线性回归 

2单变量线性回归(Linear Regression with One Variable) 
2.1模型表达(Model Representation)
2.2代价函数(Cost Function) 
2.3梯度下降(Gradient Descent)
2.4对线性回归运用梯度下降法

#### Week2 多变量线性回归 

 3多变量线性回归(Linear Regression with Multiple Variables)
 3.1 多维特征(Multiple Features)  
 3.2多变量梯度下降(Gradient descent for multiple variables) 
 3.3特征缩放(feature scaling) 
 3.4学习率(Learning rate) 

#### Week2 多项式回归和正规方程

 4多项式回归和正规方程
 4.1多项式回归(Polynomial Regression)
 4.2正规方程(Normal Equation)

#### Week3 归一化

5 逻辑回归(Logistic Regression)
5.1分类问题
5.2分类问题建模.
5.3判定边界(Decision Boundary)
5.4代价函数
5.5多类分类(Multiclass Classification)

#### Week3 归一化 

 6归一化(Regularization) 
 6.1过拟合问题(The Problem of Overfitting)
 6.2归一化代价函数(Regularization Cost Function) 
 6.3归一化线性回归(Regularized Linear Regression)
 6.4归一化逻辑回归(Regularized Logistic Regression)

#### Week4 神经网络:表达 

7神经网络:表达 
7.1非线性假设(Non-Linear Hypothesis) 
7.2神经网络介绍
7.3模型表达
7.4神经网络模型表达.
7.5正向传播 (Forward Propagation)
7.6对神经网络的理解
7.7神经网络示例:二元逻辑运算符(Binary Logical Operators) 
7.8多类分类

#### Week5 神经网络:学习 

8神经网络:学习 
8.1神经网络代价函数.
8.2反向传播算法(Backpropagation Algorithm)
8.3梯度检验(Gradient Checking) 
8.4随机初始化(Random Initialization)
8.5综合起来

#### Week6 机器学习应用建议 

9机器学习应用建议
9.1决定下一步做什么
9.2假设的评估(Evaluating a Hypothesis)
9.3模型选择(交叉验证集)
9.4偏倚和偏差诊断(Diagnosis Bias vs. Variance)
9.5归一化与偏倚/偏差 
9.6学习曲线(Learning Curves) 
9.7决定下一步做什么

#### Week6 机器学习系统设计 

10机器学习系统设计
10.1首先要做什么
10.2误差分析(Error Analysis)
10.3类偏斜的误差度量(Error Metrics for Skewed Classes)                                                       
10.4查全率和查准率之间的权衡
10.5机器学习的数据   

#### Week7 支持向量机    

11 支持向量机(Support Vector Machine)                                                                                      
11.1优化目标(Optimization Objective) 
11.2支持向量机判定边界(SVM Decision Boundary)                                                                   
11.3核函数(Kernels)                                                                                                                       
11.4逻辑回归与支持向量机        
                                                                                                       
#### Week8 聚类                                                                                                                                             

12 聚类(Clustering)                                                                                                                          
12.1K-均值算法                                                                                                                                    
12.2优化目标                                                                                                                                       
12.3随机初始化                                                                                                                                   
12.4选择聚类数        
  
#### Week8 降维                                                                                                                                             

13 降维(Dimensionality Reduction)                                                                                                
13.1 动机一:数据压缩(Data Compression)                                                                                 
13.2 动机二:数据可视化(Data Visualization)                                                                              
13.3主要成分分析(Principal Component Analysis)                                                                      
13.4主要成分分析算法                                                                                                                       
13.5选择主要成分的数量                                                                                                                   
13.6应用主要成分分析                                                                                                                       

#### Week9 异常检测                                                                                                                                     

14异常检测(Anomaly Detection)                                                                                             
14.1密度估计(Density Estimation)                                                                                                 
14.2高斯分布                                                                                                                                       
14.3异常检测                                                                                                                                       
14.4评价一个异常检测系统                                                                                                               
14.5异常检测与监督学习对比                                                                                                           
14.6选择特征                                                                                                                                      
14.7多元高斯分布(Multivariate Gaussian Distribution)                                                                     

##### Week9 推荐系统                                                                                                                                    

15推荐系统(Recommender Systems)                                                                                            
15.1问题形式化                                                                                                                                   
15.2基于内容的推荐系统(Content-based Recommendations)                                                      
15.3协同过滤算法(Collaborative Filtering Algorithm)                                                                 
15.4均值归一化                                                                                                                                   

#####Week10 大规模机器学习                                                                                                                     

16大规模机器学习(Large Scale Machine Learning)                                                             
16.1大型数据集的学习                                                                                                                      
16.2随机梯度下降法(Stochastic Gradient Descent)                                                                      
16.3微型批量梯度下降(Mini-Batch Gradient Descent)                                                                
16.4随机梯度下降收敛(Stochastic Descent Convergence)                                                           
16.5在线学习(Online Learning)                                                                                                 
16.6映射化简和数据并行(Map Reduce and Data Parallelism)                                                     

#### Week10 应用示例:图像文字识别                                                                                                        

17应用实例:图像文字识别(Photo OCR)                                                                                    
17.1问题描述和流程图(Problem description and pipeline)                                                          
17.3获得大量数据个人工数据                                                                                                           
17.4上限分析( Ceiling Analysis)

##Refenece:

[COURSERA机器学习课笔记](https://wenku.baidu.com/view/f328b62b69dc5022abea0068.html)

deeplearning.ai

  • Andrew Ng's coursera_deeplearning.ai

## Course Contents

### Neural Networks and Deep Learning

- Week1 Introduction to deep learning
- Week2 Neural Networks Basics
- Week3 Shallow Neural networks
- Week4 Deep Neural Networks

### Improving Deep Neural Networks

- Week1 Practical aspects of Deep Learning(Initialization-Regularization-Gradient Checking)
- Week2 Optimization algorithms
- Week3 Hyperparameter tuning, Batch Normalization and Programming Frameworks

### Convolutional Neural Network

- Week1 Foundations of Convolutional Neural Networks
- Week2 Deep convolutional models: case studies
- Week3 Object detection
- Week4 Special applications: Face recognition & Neural style transfer

第一门课 神经网络和深度学习(Neural Networks and Deep Learning)

第一周:深度学习引言(Introduction to Deep Learning)

1.1 欢迎(Welcome) 1

1.2 什么是神经网络?(What is a Neural Network)

1.3 神经网络的监督学习(Supervised Learning with Neural Networks)

1.4 为什么神经网络会流行?(Why is Deep Learning taking off?)

1.5 关于本课程(About this Course)

1.6 课程资源(Course Resources)

1.7 Geoffery Hinton 专访(Geoffery Hinton interview)

第二周:神经网络的编程基础(Basics of Neural Network programming)

2.1 二分类(Binary Classification)

2.2 逻辑回归(Logistic Regression)

2.3 逻辑回归的代价函数(Logistic Regression Cost Function)

2.4 梯度下降(Gradient Descent)

2.5 导数(Derivatives)

2.6 更多的导数例子(More Derivative Examples)

2.7 计算图(Computation Graph)

2.8 计算图导数(Derivatives with a Computation Graph)

2.9 逻辑回归的梯度下降(Logistic Regression Gradient Descent)

2.10 梯度下降的例子(Gradient Descent on m Examples)

2.11 向量化(Vectorization)

2.12 更多的向量化例子(More Examples of Vectorization)

2.13 向量化逻辑回归(Vectorizing Logistic Regression)

2.14 向量化逻辑回归的梯度计算(Vectorizing Logistic Regression's Gradient)

2.15 Python中的广播机制(Broadcasting in Python)

2.16 关于 Python与numpy向量的使用(A note on python or numpy vectors)

2.17 Jupyter/iPython Notebooks快速入门(Quick tour of Jupyter/iPython Notebooks)

2.18 逻辑回归损失函数详解(Explanation of logistic regression cost function)

第三周:浅层神经网络(Shallow neural networks)

3.1 神经网络概述(Neural Network Overview)

3.2 神经网络的表示(Neural Network Representation)

3.3 计算一个神经网络的输出(Computing a Neural Network's output)

3.4 多样本向量化(Vectorizing across multiple examples)

3.5 向量化实现的解释(Justification for vectorized implementation)

3.6 激活函数(Activation functions)

3.7 为什么需要非线性激活函数?(why need a nonlinear activation function?)

3.8 激活函数的导数(Derivatives of activation functions)

3.9 神经网络的梯度下降(Gradient descent for neural networks)

3.10(选修)直观理解反向传播(Backpropagation intuition)

3.11 随机初始化(Random+Initialization)

第四周:深层神经网络(Deep Neural Networks)

4.1 深层神经网络(Deep L-layer neural network)

4.2 前向传播和反向传播(Forward and backward propagation)

4.3 深层网络中的前向和反向传播(Forward propagation in a Deep Network)

4.4 核对矩阵的维数(Getting your matrix dimensions right)

4.5 为什么使用深层表示?(Why deep representations?)

4.6 搭建神经网络块(Building blocks of deep neural networks)

4.7 参数VS超参数(Parameters vs Hyperparameters)

4.8 深度学习和大脑的关联性(What does this have to do with the brain?)
第二门课 改善深层神经网络:超参数调试、正则化以及优化(Improving Deep Neural Networks:Hyperparameter tuning, Regularization and Optimization)

第一周:深度学习的实用层面(Practical aspects of Deep Learning)

1.1 训练,验证,测试集(Train / Dev / Test sets)

1.2 偏差,方差(Bias /Variance)

1.3 机器学习基础(Basic Recipe for Machine Learning)

1.4 正则化(Regularization)

1.5 为什么正则化有利于预防过拟合呢?(Why regularization reduces overfitting?)

1.6 dropout 正则化(Dropout Regularization)

1.7 理解 dropout(Understanding Dropout)

1.8 其他正则化方法(Other regularization methods)

1.9 标准化输入(Normalizing inputs)

1.10 梯度消失/梯度爆炸(Vanishing / Exploding gradients)

1.11 神经网络的权重初始化(Weight Initialization for Deep NetworksVanishing /Exploding gradients)

1.12 梯度的数值逼近(Numerical approximation of gradients)

1.13 梯度检验(Gradient checking)

1.14 梯度检验应用的注意事项(Gradient Checking Implementation Notes)

第二周:优化算法 (Optimization algorithms)

2.1 Mini-batch 梯度下降(Mini-batch gradient descent)

2.2 理解Mini-batch 梯度下降(Understanding Mini-batch gradient descent)

2.3 指数加权平均(Exponentially weighted averages)

2.4 理解指数加权平均(Understanding Exponentially weighted averages)

2.5 指数加权平均的偏差修正(Bias correction in exponentially weighted averages)

2.6 momentum梯度下降(Gradient descent with momentum)

2.7 RMSprop——root mean square prop(RMSprop)

2.8 Adam优化算法(Adam optimization algorithm)

2.9 学习率衰减(Learning rate decay)

2.10 局部最优问题(The problem of local optima)

第三周超参数调试,batch正则化和程序框架(Hyperparameter tuning, Batch Normalization and Programming Frameworks)

3.1 调试处理(Tuning process)

3.2 为超参数选择和适合范围(Using an appropriate scale to pick hyperparameters)

3.3 超参数训练的实践:Pandas vs. Caviar(Hyperparameters tuning in practice: Pandas vs. Caviar)

3.4 网络中的正则化激活函数(Normalizing activations in a network)

3.5 将 Batch Norm拟合进神经网络(Fitting Batch Norm into a neural network)

3.6 为什么Batch Norm奏效?(Why does Batch Norm work?)

3.7 测试时的Batch Norm(Batch Norm at test time)

3.8 Softmax 回归(Softmax Regression)

3.9 训练一个Softmax 分类器(Training a softmax classifier)

3.10 深度学习框架(Deep learning frameworks)

3.11 TensorFlow(TensorFlow)
第三门课 结构化机器学习项目 (Structuring Machine Learning Projects)

第一周:机器学习策略(1)(ML Strategy (1))

1.1 为什么是ML策略? (Why ML Strategy)

1.2 正交化(Orthogonalization)

1.3 单一数字评估指标(Single number evaluation metric)

1.4 满足和优化指标 (Satisficing and Optimizing metric)

1.5 训练集、开发集、测试集的划分(Train/dev/test distributions)

1.6 开发集和测试集的大小 (Size of the dev and test sets)

1.7 什么时候改变开发集/测试集和评估指标(When to change dev/test sets and metrics)

1.8 为什么是人的表现 (Why human-level performance?)

1.9 可避免偏差(Avoidable bias)

1.10 理解人类的表现 (Understanding human-level performance)

1.11 超过人类的表现(Surpassing human-level performance)

1.12 改善你的模型表现 (Improving your model performance)

第二周:机器学习策略(2)(ML Strategy (2))

2.1 误差分析 (Carrying out error analysis)

2.2 清除标注错误的数据(Cleaning up incorrectly labeled data)

2.3 快速搭建你的第一个系统,并进行迭代(Build your first system quickly, then iterate)

2.4 在不同的分布上的训练集和测试集 (Training and testing on different distributions)

2.5 数据分布不匹配的偏差与方差分析 (Bias and Variance with mismatched data distributions)

2.6 处理数据不匹配问题(Addressing data mismatch)

2.7 迁移学习 (Transfer learning)

2.8 多任务学习(Multi-task learning)

2.9 什么是端到端的深度学习? (What is end-to-end deep learning?)

2.10 是否使用端到端的深度学习方法 (Whether to use end-to-end deep learning)
第四门课 卷积神经网络(Convolutional Neural Networks)

第一周 卷积神经网络(Foundations of Convolutional Neural Networks)

2.1.1 计算机视觉(Computer vision)

1.2 边缘检测示例(Edge detection example)

1.3 更多边缘检测内容(More edge detection)

1.4 Padding

1.5 卷积步长(Strided convolutions)

1.6 三维卷积(Convolutions over volumes)

1.7 单层卷积网络(One layer of a convolutional network)

1.8 简单卷积网络示例(A simple convolution network example)

1.9 池化层(Pooling layers)

1.10 卷积神经网络示例(Convolutional neural network example)

1.11 为什么使用卷积?(Why convolutions?)

第二周 深度卷积网络:实例探究(Deep convolutional models: case studies) 2.1 为什么要进行实例探究?(Why look at case studies?)

2.2 经典网络(Classic networks)

2.3 残差网络(Residual Networks (ResNets))

2.4 残差网络为什么有用?(Why ResNets work?)

2.5 网络中的网络以及 1×1 卷积(Network in Network and 1×1 convolutions)

2.6 谷歌 Inception 网络简介(Inception network motivation)

2.7 Inception 网络(Inception network)

2.8 使用开源的实现方案(Using open-source implementations)

2.9 迁移学习(Transfer Learning)

2.10 数据扩充(Data augmentation)

2.11 计算机视觉现状(The state of computer vision)

第三周 目标检测(Object detection)

3.1 目标定位(Object localization)

3.2 特征点检测(Landmark detection)

3.3 目标检测(Object detection)

3.4 卷积的滑动窗口实现(Convolutional implementation of sliding windows)

3.5 Bounding Box预测(Bounding box predictions)

3.6 交并比(Intersection over union)

3.7 非极大值抑制(Non-max suppression)

3.8 Anchor Boxes

3.9 YOLO 算法(Putting it together: YOLO algorithm)

3.10 候选区域(选修)(Region proposals (Optional))

第四周 特殊应用:人脸识别和神经风格转换(Special applications: Face recognition &Neural style transfer) 4.1 什么是人脸识别?(What is face recognition?)

4.2 One-Shot学习(One-shot learning)

4.3 Siamese 网络(Siamese network)

4.4 Triplet 损失(Triplet 损失)

4.5 面部验证与二分类(Face verification and binary classification)

4.6 什么是神经风格转换?(What is neural style transfer?)

4.7 什么是深度卷积网络?(What are deep ConvNets learning?)

4.8 代价函数(Cost function)

4.9 内容代价函数(Content cost function)

4.10 风格代价函数(Style cost function)

4.11 一维到三维推广(1D and 3D generalizations of models)

人工智能大师访谈

吴恩达采访 Geoffery Hinton

吴恩达采访 Ian Goodfellow

吴恩达采访 Ruslan Salakhutdinov

吴恩达采访 Yoshua Bengio

吴恩达采访 林元庆

吴恩达采访 Pieter Abbeel

吴恩达采访 Andrej Karpathy

Cnblog:

Reference

CS231n: Convolutional Neural Networks for Visual Recognition

posted @ 2017-04-10 20:07  ranjiewen  阅读(2699)  评论(0编辑  收藏  举报