频道栏目
首页 > 资讯 > 云计算 > 正文

[GoogleDeepLearning笔记]LogisticClassification

16-08-16        来源:[db:作者]  
收藏   我要投稿

About

simple but important classifier

Train your first simple model entirely end to end 下载、预处理一些图片以分类 Run an actual logistic classifier on images data Connect bit of math and code

Detail

Linear Classifier

 

 

之所以这样建模,是因为线性公式是最简单的数学模型,仅此而已。

Input: X (e.g. the pixels in an image) Apply a linear function to X

Giant matrix multiply Take inputs as a big vector Multiply input vector with a matrix, W means weights b means biased term Machine learning adjust weights and bias for the best prediction

Output: Y, predictions for per output class

Y is a vector, represents the probability of each label 好的预测中,正确的label的概率应当更接近1 往往得到的Y一开始不是概率,而是一些具体值(scores/logits),所以需要转换,by:

Softmax回归模型:Wikipedia

 

 

Softmax

代码 soft_max.py:Softmax实现与应用 input的score差异越大(可以全部乘10试试),则输出的各项label概率差异越大,反之差异越小 Softmax只关心几个label之间的概率,不关心具体值机器学习是一个让预测成功率升高的事情,因此是一个让score之间差异增大的过程

One hot encoding

 

 

正确预测结果应当是只有一个label成立,其他label不成立。这种情况下,预测概率最大的则是最可能的结果。

Example: take this test

one hot encoding在label很多的情况下not work well,因为output vector到处都是0,很稀疏,因此效率低

solved by embeddings

好处:可以measure我们与理想情况之间的距离(compare two vectors)

分类器输出:[0.7 0.2 0.1] \<=> 与label对应的真实情况:[1 0 0]

Compare two vectors: cross-entropy

 

 

D(S, L) != D(L, S)

Remember: Label don’t log, for label zero

小结

 

 

 

 

找到合适的W和b,使得S和L的距离D的平均值,在整个数据集n中最小。

最小化cross-entropy

 

 

D的平均值即是Training loss,求和和矩阵相乘是个大数据的活。

 

 

两个参数的误差导致一个呈圆形的loss,所以我们要做的就是找到尽量靠近圆心的weight

机器学习问题变成了一个数值优化

- 解决方法之一:Gradient descent,求导

 

 

修改参数,检查误差是否变大,往变小的方向修改,直到抵达bottom。

图中weight是二维的,但事实上可能有极多的weight

下一节实践

如果觉得我的文章对您有帮助,请随意打赏~

相关TAG标签
上一篇:Spark定制版2:通过案例对SparkStreaming透彻理解三板斧之二
下一篇:地铁译:Sparkforpythondevelopers---搭建Spark虚拟环境3
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站