<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Qin_Mio_Chaos的博客]]></title><description><![CDATA[算法+机器学习+leecode]]></description><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Qin_Mio_Chaos]]></copyright><item><title><![CDATA[N—Queen 生成排列+O（n）判断]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/48161627</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/48161627</guid><author>Qin_Mio_Chaos</author><pubDate>Tue, 01 Sep 2015 18:45:23 +0800</pubDate><description><![CDATA[生成排列可以保证非同行同列如：vec=0，1，2，3，4
时间复杂度O（n！）


接着判断所给排列不在同对角线（以5-Queen为例）：
step1 顺序读元素，分别加上0，1，2，3，4
判断得到的数字是否重复
step2 顺序读元素，分别加上4，3，2，1，0
判断得到的数字是否重复]]></description><category></category></item><item><title><![CDATA[50种遍历树的方法]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/48160941</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/48160941</guid><author>Qin_Mio_Chaos</author><pubDate>Tue, 01 Sep 2015 17:37:23 +0800</pubDate><description><![CDATA[推荐一首歌50ways to leave your lover
50当然是虚指，包括遍历的方法和实现的方法


常见遍历顺序：前序、中序、后序
常见实现方法：递归、栈、队列


遍历树的核心在于“遍历”，输出所有节点，并对一个节点只输出一次
换个角度，对每个节点，确定该节点相对于相连接点的优先级，优先级定了，按优先级访问，就能达到目的


递归：左节点优先、右节点优先、父节]]></description><category></category></item><item><title><![CDATA[adaboost：  0%正确率=100%正确率]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/48158969</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/48158969</guid><author>Qin_Mio_Chaos</author><pubDate>Tue, 01 Sep 2015 16:00:23 +0800</pubDate><description><![CDATA[adaboost是二分类算法
二分类器有个很好的性质：若sign（f）em>1/2，将分类器改为 -sign（f）即可


对于adaboost，其系数能自适应em>1/2的情况


子分类器Gm（x）系数 am=1/2 log(
(1-em)/em )
为负 am
对应的加权子分类器：amGm（x）取负，则该子分类器等价于em


另一方面，数据集的权值更新：Wm+1,]]></description><category></category></item><item><title><![CDATA[cart剪枝，罚项系数a讨论]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47447419</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47447419</guid><author>Qin_Mio_Chaos</author><pubDate>Wed, 12 Aug 2015 17:21:27 +0800</pubDate><description><![CDATA[损失函数：
Ca(T)=C(T)+a|T|
C(T)：训练误差

a|T|：罚项，树的大小


《统计学习方法》一书提到，计算各节点的a阈值，当a超过某节点阈值，则选择对该节点剪枝。


a= C（t）-C(Tt)
/
|Tt|-1


可见a由届时的树计算决定




首先：每次只能计算叶节点的父节点 所对应的a值？？？


如上图，直接计算C节点的]]></description><category></category></item><item><title><![CDATA[二分类——多分类：一点思考]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47442681</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47442681</guid><author>Qin_Mio_Chaos</author><pubDate>Wed, 12 Aug 2015 12:52:12 +0800</pubDate><description><![CDATA[将多分类归结为二分类，有两种简单方法：
1、类A——非类A 
单类别与补集分类
2、类A——类B 
单类别与单类别分类


举个简单线性分类例子：




对于左图，可使用方法1，因为类别与补集直接线性可分


对于右图，每个类别都不可与其补集线性分割，
但两类之间线性可分


可见“两类间线性可分”这一命题弱于“类别与补集线性可分”


特别地，对于未]]></description><category></category></item><item><title><![CDATA[二叉搜索树修改]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47440269</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47440269</guid><author>Qin_Mio_Chaos</author><pubDate>Wed, 12 Aug 2015 10:18:16 +0800</pubDate><description><![CDATA[如果有一个方法，每迭代一步都能从数据中选出一部分“高纯度”的特定类，
那么即使每步只能分别出1%的类别，只需100步即可完成漂亮的分类规则。


ID3算法、C4.5等算法使用熵作为评价标准，导致一个问题：树细分到一个样本一个节点，熵为0。
为应付这个情况，通常选择固定子树数量上限等方法。


相对应的，cart树直接定义为二叉树，保证了每次划分的结果是，从总体而言把不同类尽可能分]]></description><category></category></item><item><title><![CDATA[kd树修改：BBF简析]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47398811</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47398811</guid><author>Qin_Mio_Chaos</author><pubDate>Mon, 10 Aug 2015 15:02:52 +0800</pubDate><description><![CDATA[bbf是一个近似算法，凭借决定算法执行步数，限定了搜索次数。
bbf是我在v july v博客里看到的，里面提到“算法执行至队列为空”，应该是不当的说法，若真实行至此，则完成了所有点的扫描。


下面简单图示：


对于任意一棵树，可以通过对节点的谓词取反，得到交换左右子树的效果，最终得到上图。
红色节点为搜索路径（作为初始解），将蓝色节点加入优先队列（优先级为与点A的距离），然后]]></description><category></category></item><item><title><![CDATA[kd树简析]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47398077</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47398077</guid><author>Qin_Mio_Chaos</author><pubDate>Mon, 10 Aug 2015 14:52:28 +0800</pubDate><description><![CDATA[一言蔽之，kd树的想法为：
对于目标点A，若点B较之其他点，每个纬度都更接近A，则猜测B接近该点。


kd树构造算法：
方法：共n个纬度，轮次选择纬度作为划分依据（纬度1、纬度2……），重复直至训练样本用完。
结果：将每个空间一分为二，重复划分。最终每个子空间附着一个点。


kd树寻找1-临近：
方法：将点A所划分到的空间k对应点Xk作为初始解，连接两点，以A为球心做球，寻]]></description><category></category></item><item><title><![CDATA[排序算法_链表实现]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47358819</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47358819</guid><author>Qin_Mio_Chaos</author><pubDate>Sat, 08 Aug 2015 15:35:16 +0800</pubDate><description><![CDATA[数组的高效体现于随机访问，插排、快排等排序算法未用到这一特点，
故这两种排序算法可基于链表实现


插入排序：
迭代器 
p 顺序访问链表
迭代器 
i 顺序访问前 p 个元素
主要的操作为 当
p>i && p.value
删除原位置的 p 将p插入 i-1 与 i 之间
若为单向链表，保存 i-1 与 p-1
算法复杂度为比较的次数O（n^2），减少了移动数组导致的开]]></description><category></category></item><item><title><![CDATA[快排最劣情况]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47358557</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47358557</guid><author>Qin_Mio_Chaos</author><pubDate>Sat, 08 Aug 2015 15:17:25 +0800</pubDate><description><![CDATA[将数组排序，一次从头部或尾部获取元素，加入空队列p
则对于构造出的队列，使用快排效率退化为O（n^2）


即保证了尾端的元素无法对数组划分（0-n划分）]]></description><category></category></item><item><title><![CDATA[快排partition过程——索引小修改]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47358407</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47358407</guid><author>Qin_Mio_Chaos</author><pubDate>Sat, 08 Aug 2015 15:08:52 +0800</pubDate><description><![CDATA[原伪代码：
1 partition(A,p,r)
2 x=A[r]
3 i=p-1
4 for j=p:r-1
5 if A[j]
6 i++
7 exchange A[i].A[j]
8 exchange A[i+1],A[r]
9 return i+1


索引i指向
包括《剑指offer》中也是这样实现索引，
其实很不方便，一开始指向了数组前（外部）的元素，第8、]]></description><category></category></item><item><title><![CDATA[O(n)冒泡排序]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47099403</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47099403</guid><author>Qin_Mio_Chaos</author><pubDate>Tue, 28 Jul 2015 08:10:27 +0800</pubDate><description><![CDATA[数据访问策略：顺序访问
且两步迭代间独立（独立是指顺序执行不由状态变量控制）


每个计算机负责冒一个泡，第一个泡访问元素[0]结束后，第二个泡即可开始访问元素[0]
不严格说：第一个泡访问末尾元素时，第二个泡访问倒数第二个元素，
所以第一个泡冒泡结束时
，产生了所有的泡泡，算法结束
时间复杂度O（n）]]></description><category></category></item><item><title><![CDATA[pagerank收敛原因]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47099157</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47099157</guid><author>Qin_Mio_Chaos</author><pubDate>Tue, 28 Jul 2015 07:59:44 +0800</pubDate><description><![CDATA[迭代公式 X=(1-a) x E+axRxX
其中a:衰减系数
E：nx1单位向量
R：nxn状态转移概率矩阵
X：nx1状态矩阵，（i,1）表示网站i得票数，总票数为1


展开迭代式，得到
X=（1-a）E+(1-a)axRxE+(1-a)a^2 xR^2xE+...(1-a)a^(n-1)xR^(n-1)xE
整理易得
X= 

随着n增长，常数项（1-a）x a^i]]></description><category></category></item><item><title><![CDATA[插排O[n]无缝实现：顺序读写迭代器访问+两步迭代间独立性]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47066981</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47066981</guid><author>Qin_Mio_Chaos</author><pubDate>Sun, 26 Jul 2015 12:13:51 +0800</pubDate><description><![CDATA[插排O【n】无缝实现：顺序读写迭代器访问+两步迭代间独立性]]></description><category></category></item><item><title><![CDATA[插排最优情况]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47066371</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47066371</guid><author>Qin_Mio_Chaos</author><pubDate>Sun, 26 Jul 2015 11:16:29 +0800</pubDate><description><![CDATA[心得：利用数组本身先验特点，决定比较顺序。考虑重复元素情况，减少常数因子。
结论：插排有序数组（包括部分或全部重复）
比较顺序自右向左，比较操作O（n），插入操作O（0）；
比较顺序自左向右，比较操作O（n^2）, 插入操作O（0）

测试用例1：012，345，678
测试用例2：000，000，000


插排（数组实现）
主要策略：顺次遍历数组元素（i=0：size），维]]></description><category></category></item><item><title><![CDATA[海上钢琴师]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47065523</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47065523</guid><author>Qin_Mio_Chaos</author><pubDate>Sun, 26 Jul 2015 09:50:46 +0800</pubDate><description><![CDATA[MS收购了MC，这好像是去年的新闻，不知道这款被玩坏了的游戏会被微软怎么折腾。
我是大学时接触的MC，一开始对方块画面无爱，但最后我被游戏自身极度的自由所征服，没事喜欢玩玩水玩玩岩浆。
MC中有些资源是不可再生的，如矿石资源，这让玩家不得不选择合理运用资源。
另外一个决定我游戏体验的就是MC没有地图（科技低），作为路痴的我生存空间一般不超过一个操场。


开始聊海上钢琴师。
几乎所有]]></description><category></category></item><item><title><![CDATA[为什么写博客]]></title><link>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47065263</link><guid>https://blog.youkuaiyun.com/Qin_Mio_Chaos/article/details/47065263</guid><author>Qin_Mio_Chaos</author><pubDate>Sun, 26 Jul 2015 09:11:05 +0800</pubDate><description><![CDATA[我不愿意人云亦云，也不愿意拾人牙慧，也许我不是第一个持有相关观点的人，但我所记录的，都是我思考时所经历的。


本人西电本科生，意向算法工程师，欢迎提供offer]]></description><category></category></item></channel></rss>