<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[soullines的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/soullines</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; soullines]]></copyright><item><title><![CDATA[浅谈Attention注意力机制]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/104110745</link><guid>https://blog.youkuaiyun.com/soullines/article/details/104110745</guid><author>soullines</author><pubDate>Wed, 29 Jan 2020 21:59:25 +0800</pubDate><description><![CDATA[Attention注意力机制


注意力机制模仿了生物观察行为的内部过程，即一种将内部经验和外部感觉对齐从而增加部分区域的观察精细度的机制。例如人的视觉在处理一张图片时，会通过快速扫描全局图像，获得需要重点关注的目标区域，也就是注意力焦点。然后对这一区域投入更多的注意力资源，以获得更多所需要关注的目标的细节信息，并抑制其它无用信息。

这种机制普遍使用与cv和nlp的相关领域,事实证明确实有很大的...]]></description><category></category></item><item><title><![CDATA[集成学习 (投票分类器 & bagging/pasting & RandomForest & Boosting)]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/103994749</link><guid>https://blog.youkuaiyun.com/soullines/article/details/103994749</guid><author>soullines</author><pubDate>Wed, 15 Jan 2020 19:39:11 +0800</pubDate><description><![CDATA[集成学习

本文主要介绍

voting (投票学习器)
bagging / pasting
3.随机森林
boosting



1.集成学习概述
1.1 概述
集成学习通过结合多个单一学习器,并聚合其预测结果的学习任务,也可以称作多分类系统等,下面是集成学习的概要图:


单一的学习器可以被称为个体学习器,聚合的过程对应结合模块
根据学习器是否一致可以分为 同质 和 异质
同质集成中的个体学习...]]></description><category></category></item><item><title><![CDATA[决策树原理解析]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/103930349</link><guid>https://blog.youkuaiyun.com/soullines/article/details/103930349</guid><author>soullines</author><pubDate>Fri, 10 Jan 2020 20:39:06 +0800</pubDate><description><![CDATA[决策树原理解析

1.决策树算法以及基本流程
决策树是基于树结构进行决策的,其机制就是通过判定每个属性分类的纯度来进行自上而下决策分类
决策树包含 根结点  ,内部结点, 叶结点; 根结点和内部结点对应与分类的属性(也就是分类的基准),叶结点对应决策结果(也就是纯度很高且不需要继续分裂的类别);从根结点到某一个叶结点的路径便是当前叶结点对应类的整个决策过程,下面来看决策树的算法流程:

可以看到决...]]></description><category></category></item><item><title><![CDATA[协同过滤推荐 -- 基于行为相似的召回]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/103881054</link><guid>https://blog.youkuaiyun.com/soullines/article/details/103881054</guid><author>soullines</author><pubDate>Tue, 07 Jan 2020 20:32:20 +0800</pubDate><description><![CDATA[1.推荐计算 — UserCF &amp; ItemCF
源码代地址:
Movielens_Recommend
1.1 基于用户的协同过滤(UserCF)
中心思想:基于用户对物品的偏好找到相邻用户,然后将相邻用户喜欢的物品推荐给当前用户

1.1 计算向量: 将一个用户对所有物品的偏好作为一个向量来计算用户之间的相似度
1.2  根据相似度找到K个相邻用户之后,根据相邻用户的相似度权重以及他们对...]]></description><category></category></item><item><title><![CDATA[贝叶斯分类 & 朴素贝叶斯分类]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/103145740</link><guid>https://blog.youkuaiyun.com/soullines/article/details/103145740</guid><author>soullines</author><pubDate>Tue, 19 Nov 2019 16:45:15 +0800</pubDate><description><![CDATA[该博客摘自周志华-机器学习,有加入自己的感悟,一方面作为学习的笔记,再者有基于此做一些实际的思考
1. 贝叶斯分类
贝叶斯策论是概率框架下实施决策的基本方法,适用于各种分类任务;
简单聊一下  先验 和 后验 概率:

条件: 今天风大/小(用A表示该事件)
结果:是否可以骑行(用B表示该事件)

那么:  先验概率就是   P(A)P(A)P(A),后验概率就是  P(A∣B)P(A|B)P(A...]]></description><category></category></item><item><title><![CDATA[python中张量的广播机制详解 -- 附实例]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/103054192</link><guid>https://blog.youkuaiyun.com/soullines/article/details/103054192</guid><author>soullines</author><pubDate>Wed, 13 Nov 2019 17:50:12 +0800</pubDate><description><![CDATA[python中张量运算的广播机制
在python中,尤其是深度学习方向,在构建网络过程中,初始化参数会频繁用到

下面来看下广播的原理:

如果两个数组的后缘维度(从末尾开始算起的维度)的轴长度相符或其中一方的维度长度为1(但是其他维度必须相同)，则认为它们是广播兼容的。广播会在缺失维度和(或)轴长度为1的维度上进行。

1.后缘纬度相同进行广播(后缘纬度就是从后开始对比矩阵维度,要求相同)
	...]]></description><category></category></item><item><title><![CDATA[深度学习--- GAN网络原理解析]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/102593950</link><guid>https://blog.youkuaiyun.com/soullines/article/details/102593950</guid><author>soullines</author><pubDate>Wed, 16 Oct 2019 20:32:45 +0800</pubDate><description><![CDATA[Generative Adversarial Network对抗生成网络,这是当下机器视觉比较热门的一个技术,由两部分组成生成器(GnetG_{net}Gnet​)和判别器(D_{net})组成

GAN区别与传统的生成网络,生成的图片还原度高,主要缘于D网络基于数据相对位置和数据本身对realrealreal数据奖励,对fakefakefake数据惩罚的缘故
1.GAN思想 &amp; 与单个...]]></description><category></category></item><item><title><![CDATA[深层神经网络前馈 && 反向传播]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/98890409</link><guid>https://blog.youkuaiyun.com/soullines/article/details/98890409</guid><author>soullines</author><pubDate>Fri, 09 Aug 2019 18:14:41 +0800</pubDate><description><![CDATA[学习深度学习,深层神经网络是一个绕不过的话题,包括其前向以及反向的计算过程是很有必要搞清楚,这样对于之后的调参,以及梯度消失 &amp; 爆炸的处理会很有帮助;
所以立足于此,尽可能详细的阐述其前向 &amp; 后向的计算过程:
1.为什么使用深层神经网络
2.深层神经网络的 前向 &amp; 反向 计算过程详解
1.为什么使用深层神经网络
1.1 神经网络
神经网络,顾名思义就是模拟大脑皮层,从...]]></description><category></category></item><item><title><![CDATA[深度学习计算图&计算图求导过程&向量化]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/97968011</link><guid>https://blog.youkuaiyun.com/soullines/article/details/97968011</guid><author>soullines</author><pubDate>Wed, 31 Jul 2019 22:04:47 +0800</pubDate><description><![CDATA[深度学习中,计算是核心部分,所以一直在致力于提供算法网络的计算能力,比较基础的两种优化形式有:

1.将计算过程做为一个计算图来进行运算,每个计算过程用节点来模拟,这样的好处可以分割运算,甚至可以多线程,多gpu开session来进行运算
2.向量化:以tensorflow为例,进行向量化的运算,由于python独有的广播机制,向量化运算不需要显式的for循环,可以大大提高运算速度

下面具体来看...]]></description><category></category></item><item><title><![CDATA[Logistic逻辑回归(sigmod二分类)成本函数推导  && 及其梯度下降]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/97966399</link><guid>https://blog.youkuaiyun.com/soullines/article/details/97966399</guid><author>soullines</author><pubDate>Wed, 31 Jul 2019 21:54:51 +0800</pubDate><description><![CDATA[logistic逻辑回归是比较常用的二分分类,其激活函数适用于各种二分类场景,但是其函数在t极大或者极小的时候趋于饱和会引发梯度消失,进入影响网络调参使得函数不能很好的收敛
有兴趣的同学可以参阅我的上一篇博客,来参看梯度消失&amp;爆炸的原理:
https://blog.youkuaiyun.com/soullines/article/details/94399187
下面来看基于sigmod激活函数的og...]]></description><category></category></item><item><title><![CDATA[信息论和交叉熵损失函数]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/96317037</link><guid>https://blog.youkuaiyun.com/soullines/article/details/96317037</guid><author>soullines</author><pubDate>Wed, 17 Jul 2019 19:06:07 +0800</pubDate><description><![CDATA[在机器学习和深度学习中,很多时候需要进行分类,这时会涉及到决策边界,比如sigmod激活函数;
但是当面对多分类的时候(比如经典的MNIST),我们需要预测每一个种类output的概率,比如softmax,这时候我们需要对:
信息论和交叉熵有一个清晰的认识
那么我们的文章将会对 信息论和交叉熵损失函数 进行一个讲解;
1.信息论
2.自信息
3.香农熵
4.交叉熵
 1.信息论
1.1 信息论是从...]]></description><category></category></item><item><title><![CDATA[梯度消失 & 梯度爆炸]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/94399187</link><guid>https://blog.youkuaiyun.com/soullines/article/details/94399187</guid><author>soullines</author><pubDate>Mon, 01 Jul 2019 23:46:51 +0800</pubDate><description><![CDATA[神经网络(DNN)其实就是人工神经网络(ANN)的多层实现,一个ANN有2个或者2个以上的隐藏层,则被称为深度神经网络(DNN),下面的内容我们会针对神经网络反向微分过程中产生的梯度爆炸和梯度消失,以及当前有效的缓和方法做一些具体的论述;

**当然有兴趣的同学建议自己去推导神经网络反向传播BP算法的推导 **
1.神经网络
2.梯度消失  &amp;  梯度爆炸
3.缓和梯度消失  &amp;...]]></description><category></category></item><item><title><![CDATA[从标准方程,梯度下降窥探机器学习训练原理]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/92833050</link><guid>https://blog.youkuaiyun.com/soullines/article/details/92833050</guid><author>soullines</author><pubDate>Wed, 19 Jun 2019 15:32:40 +0800</pubDate><description><![CDATA[机器学习的学习不应该仅仅停留在对scikit-learn or tensorflow(deep learning)框架的调用,而应该着眼于内部的世界,学习机器学习有一段时间了,有必要回头整理一下,下面我们基于线性模型来看

标准方程
梯度下降
进而来看基于以上两者如何实现模型的训练,基本思想一致,不同的模型大家可以触类旁通


下面我们分布阐述
1.标准方程
2.梯度下降
3.机器学习模型训练过...]]></description><category></category></item><item><title><![CDATA[Machine Learning & 概率 & 随机变量 & 概率分布 & 事件的独立性]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/90923780</link><guid>https://blog.youkuaiyun.com/soullines/article/details/90923780</guid><author>soullines</author><pubDate>Wed, 05 Jun 2019 19:29:01 +0800</pubDate><description><![CDATA[概率于Machine Learning而言还是比较重要的,但是概率的难点在于,其不够直观,那么换一个视角,我们称之为"上帝视角",将概率转化为面积,这样便会变的直观;

1.概率的定义

概率,顾名思义就是某事件发生可能性的一种量化,这是我们最直观的感受;
下面从一个比较经典的案例来作为引入 — 蒙提霍尔问题:

有ABC三扇门,其中有一扇是正确的门,打开有一辆豪车,其余两扇,门为错误的门,门内...]]></description><category></category></item><item><title><![CDATA[TypeError: sequence item 2: expected str instance, tuple found]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/88320108</link><guid>https://blog.youkuaiyun.com/soullines/article/details/88320108</guid><author>soullines</author><pubDate>Thu, 07 Mar 2019 20:42:51 +0800</pubDate><description><![CDATA[学python大概有一段时间了,今天准备通过博客来记录一些bug

error:TypeError: sequence item 2: expected str instance, tuple found
下面看代码
L = []
L.append(r'&amp;lt;?xml version=&quot;1.0&quot;?&amp;gt;')
L.append(r'&amp;lt;root&amp;gt;')
L.append(encode(...]]></description><category></category></item><item><title><![CDATA[Android组件化 -- 完全解耦实践方案]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/83826076</link><guid>https://blog.youkuaiyun.com/soullines/article/details/83826076</guid><author>soullines</author><pubDate>Wed, 07 Nov 2018 16:15:29 +0800</pubDate><description><![CDATA[首先粘贴源码地址,欢迎frok,欢迎start
源码地址

目前,Android 组件化普遍使用于移动开发,但是组件化的初衷是为了解耦代码,并行开发效率;小型app似乎会care不到,完全解耦的组件化会在app越来越臃肿的时候带来很大的提升;
####1.组件化介绍
ok,那么我们需要知道完全解耦的组件化框架应该注意哪些点:


主app只加载业务组件,不可调用组件;组件与组件之间不存在调用关系;...]]></description><category></category></item><item><title><![CDATA[android中的binder机制]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/80901973</link><guid>https://blog.youkuaiyun.com/soullines/article/details/80901973</guid><author>soullines</author><pubDate>Tue, 03 Jul 2018 17:42:37 +0800</pubDate><description><![CDATA[
  在android跨进程通信中binder必不可少,从Activty的启动源码就可以看到Activity的周期控制就是ActivityThread和AMS之间的binder跨进程通信,谈到binder机制就绕不过AIDL;下面开始介绍;


1.AIDL代码实例

2.AIDL源码

3.AIDL图解

1.AIDL代码实例

项目地址

首先要了解binder机制,b必然绕不开AIDL;那么...]]></description><category></category></item><item><title><![CDATA[android分发机制---- 源码解析]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/80808917</link><guid>https://blog.youkuaiyun.com/soullines/article/details/80808917</guid><author>soullines</author><pubDate>Mon, 25 Jun 2018 23:25:19 +0800</pubDate><description><![CDATA[
  android中分发机制在自定义的View中尤为重要,贯穿android Activity – ViewGroup – View的Event传递;




为了提高理解,我们分部阐述

1.android分发机制概述 
2.图解 
3.android源码

1.android分发机制


在android中Event是自上而下分发的:Activity —-&amp;amp;gt; ViewGroup —-&amp;amp;...]]></description><category></category></item><item><title><![CDATA[java中枚举优先使用]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/80762062</link><guid>https://blog.youkuaiyun.com/soullines/article/details/80762062</guid><author>soullines</author><pubDate>Thu, 21 Jun 2018 16:08:51 +0800</pubDate><description><![CDATA[
  java 1.5之后出现枚举类型,枚举类型的出现为开发者提供类型安全的检测和提高可读性;当然枚举的使用有一个缺点就是相比于int定义的标志位,装载和初始化枚举时会有空间和时间成本;所以除了小型终端,实践中不必太在意这个问题;




1.int枚举模式和String枚举模式的局限性:



1.1 int枚举


在java开发中,经常会使用常量来定义一些标志位之类的情况;比如在下面程序中,...]]></description><category></category></item><item><title><![CDATA[java中优先考虑泛型----禁止数组类型的未受检转换和禁止标量类型(Effective java  code)]]></title><link>https://blog.youkuaiyun.com/soullines/article/details/80694494</link><guid>https://blog.youkuaiyun.com/soullines/article/details/80694494</guid><author>soullines</author><pubDate>Thu, 14 Jun 2018 16:18:44 +0800</pubDate><description><![CDATA[
  Effective第26条中有提到优先考虑泛型,但是由于java会设计到数组所以会有泛型兼容数组的问题;首先泛型不应该与数组复用,但是java的历史原因,泛型的问世比较晚,必须兼容旧版本代码!所以有些情况必须拒绝受检!!!!


我们以stack为例: 
在泛型没有问世之前是这样的:



public class Stack {  
    private Object[] element...]]></description><category></category></item></channel></rss>