Classification
例子
首先以binary classification(二元分类)为例,我们在Training时让输入为class 1的输出为1,输入为class 2的输出为-1;那么在testing的时候,regression output是一个数值,它大于0接近1则说明它是class 1,它小于0接近-1则说明它是class 2。
Ideal Alternatives
怎么得到P(x|C1)和P(x|C2)
估测均值μ和协方差的方法就是极大似然估计法
分类问题的三步骤:
1.定义模型集合
2.定义损失函数(LOSS)来评价模型好坏
3.找到最好的模型:
Logistic Regression
Cross entropy :距离目标点越远时,目标值越大,参数更新的越快;
Square Error :距离目标远,目标函数对参数的微分值很小,参数更新速度很慢,不容易得到结果。
左边是直接去寻找W和b,而右边是先假设是高斯分布,再去找的W和b。所以可能是左右两边是不同的W和b。
判别方法:通过梯度下降,直接找到w,b。
生成方法:通过假设估计N1,N2,μ1,μ2,∑ 来得到w,b 。
生成模型在一些情况下相对判别模型是有优势的:
1、训练数据较少时。判别模型的表现受数据量影响较大,而生成模型受数据量影响较小。
2、label有噪声时。生成模型的假设(“脑补”)反而可以把数据中的问题忽视掉。
3、判别模型直接求后验概率,而生成模型将后验概率拆成先验和似然,而先验和似然可能来自不同来源。
Multi-class Classification(多分类)
如果遇到多分类问题,以三分类为例子,则需要把sigmoid函数换成softmax函数
把几个逻辑回归组合起来,其效果相当于特征变换,再加一个逻辑回归当一个分类器
个逻辑回归的输入可以来源于其他逻辑回归的输出,这个逻辑回归的输出也可以是其他逻辑回归的输入。把每个逻辑回归称为一个 Neuron(神经元),把这些神经元连接起来的网络,就叫做 Neural Network(神经网络)。
历史
假设给定了网络结构并给定了参数,那网络就是一个函数,要注意输入输出都是向量
深度学习的深度指的是包含很多隐藏层的网络
如何看待整个神经网络:将从input layer 到 output layer 之前的部分视作hidden layers,看作是一个特征提取替代了之前提到的特征工程,而output layer j就相当于一个多分类器,其中又通过softmax函数去分类。
引出了一个hidden layer 的netural 只要够多,就可以表示成任何的function,所以deep意义很大?还是越fat越好?