Steven Wang's Blog
C'est la vie
rss
email
twitter
新浪微博
  • Home
  • About
  • Google Profile
  • 新浪微博

围着脖子推更新-增加同步更新Google Buzz、Facebook、豆瓣我说

23 Comments
Posted on 八月 21 2010

五天前曾说过围着脖子推最近会来带一点小惊喜,现在这个惊喜就与大家见面了:增加Google Buzz、Facebook和豆瓣我说的同步更新,更新的范围涵盖了网页版和GTalk机器人版。

此次新增的三个同步源都使用OAuth授权,您不需要向围着脖子推输入用户名和密码,但Facebook的授权仍然需要穿越功夫网。

网页版中,在同步源管理界面中绑定相应的帐号:

GTalk机器人中,新增的三个同步源的代码为:gb-Google Buzz,f-Facebook,db-豆瓣我说,这些代码只在选择同步源更新状态时使用。帐号绑定需要到OAuth授权管理页面中进行,向机器人发出"-oauth"命令,获取OAuth授权管理页面地址。

还是要感谢@小强为围着脖子推制作和调整的图片。

最后要说的是,昨天豆瓣更新了其API使用条款,其中有一条“为保证豆瓣广播对用户长远的可用性,使用豆瓣广播API的社会类应用需要保证广播信息不向多个听众平台同步发送”,不知这句话是否为禁止同步消息的意思。总之,大家低调使用豆瓣我说的同步。


Tags: 围着脖子推  twittersina  Google App Engine  GAE  gtalk  robot  twitboo 
Categories: 围着脖子推 

围着脖子推停止Twitter和新浪微博的用户名密码授权

3 Comments
Posted on 八月 16 2010

Twitter从8月16日开始限制Basic Authentication的方式使用API,到8月31日后将完全停止对Basic Authentication的支持,详情请见:http://www.countdowntooauth.com/

围着脖子推于7月29日开始支持Twitter和新浪微博的OAuth授权,详情请见:
http://blog.stevenwang.name/twittersina-oauth-252002.html

从7月29日至8月15日,围着脖子推同时支持Twitter和新浪微博的HTTP Basic授权和OAuth授权,8月16日开始,停止对HTTP Basic授权的支持,完全过度到OAuth授权。

关于Twitter和新浪微博过度到OAuth授权的说明:
1、停止使用用户名和密码方式绑定Twitter和新浪微博帐号,网页版上的相关输入框已删除,机器人版中绑定帐号时,"-t"和"-s"同步源代码不可用,但在发布消息时依然可用;
2、原先使用用户名和密码绑定的Twitter帐号将不能同步消息和接受消息;
3、原先使用用户名和密码绑定的新浪微博帐号还能继续同步消息,但绑定帐号不能修改;
4、在机器人中使用"-oauth"命令获取当前GTalk用户的OAuth授权管理页面,可进行OAuth授权帐号管理;
5、OAuth授权Twitter或新浪微博后,原用户名密码帐号不需手动删除,系统会自动覆盖;
6、机器人中OAuth授权后的Twitter账户,须重新输入"-ton"命令,以开启Twitter消息提示。

此次升级给大家造成的不便还望谅解。再过几天,围着脖子推将再给大家带来一点小小的惊喜。


Tags: 围着脖子推  twittersina  Google App Engine  GAE  gtalk  robot  twitboo 
Categories: 围着脖子推 

怎样的七月

4 Comments
Posted on 七月 31 2010

站在七月份的尾巴上,暑假已过半,这会是我学生时代最后一个暑假吗?

这是一个特殊的暑假,也是一个特殊的七月。这个暑假没有实习,这个暑假可以回家。

这个七月也过得充实,也许会是硕士阶段最重要的时期之一,因为这一个月时间里写出了第一篇Paper,虽然还没有投出去,但无论结果如何,也算是在做研究的道路上先前迈进了一步。

写论文的进度还算满意,七月的第一个星期完成了初稿,交大读博的师兄给予了一些很中肯的意见,让我意识到了很多过去不在意的细节,也让我对写论文的意义有了更深刻的理解。一个星期后,将修改后的版本再次给师兄看,这次在很多方面得到了他的肯定,并且建议我投稿《计算机科学》。按常理,这个时候我已经可以投稿了,但实验室的老师对我有更高的要求,因为文章里的一些创新点是他提供的,所以我也尊重他的建议。老师希望我继续修改文章,投一个EI收录的期刊,EI是什么概念?一篇EI的文章足以让我在两年的时间里将硕士学位拿到手。第三个星期在他的指导下,对文章的结构和一些细节进行了修改,但他没有在内容上提太多建议,这让我心里很没有低。第四个星期有改不动的趋势,暂时把它放下,开始思考下一篇文章的事情。

第一次写Paper,整个过程都充满了无知和不自信,虽然有非常充分的实验,虽然已经修改了好几个版本,但心里还是有很多不确定。文章应该会在下个月中旬投出去,还会修改成什么样,投哪个杂志,这些都掌握在实验室老师的手上,这种不能掌控自己事情的状况有点无奈。

七月份的其他小插曲。新购置的Nikon D5000还没有太多功夫来琢磨,对摄影的兴趣还是很浓厚的。和@leezhenchong两个大男人去看了场电影,《危情特工》,不是冲着片子去的,是为了看电影而看电影。月底时间充裕点的时候,修改和更新了一下围着脖子推。亲友团要来这边旅游,花了些时间与他们讨论和制定行程。

下个月先与亲友团在上海和苏州玩几天,然后回家一个礼拜,这将是整个暑假最值得期待的部分。


Tags: 生活 
Categories: MyLife 

PSO优化BP神经网络在Matlab中的实现

1 Comments
Posted on 七月 30 2010

粒子群优化算法(Particle Swarm Optimization, PSO)是在1995年由美国社会心理学家James Kennedy和电气工程师Russell Eberhart共同提出的,其基本思想是受他们早期对鸟类群体行为研究结果的启发,并利用了生物学家Frank Heppner的生物群体模型。PSO算法与遗传算法类似,是一种基于迭代的优化算法,但无交叉变异等操作,其搜索过程是通过粒子在解空间中不断更新自己的速度和位置,以追随最优粒子而进行的。

PSO算法首先随机的初始化一个粒子群体,通过迭代寻找最优解,在每一次迭代过程中,每个粒子目前所找到的最优解为pBest,整个种群目前所找到的最优解为gBest,每个粒子通过这两极值来更新自己的速度和位置,相应的公式为:

v = v + c1 * rand() * (pbest - present) + c2 * rand() * (gbest - present)
present = persent + v

其中,v为粒子的速度,present为粒子的位置(在具体应用中pBest, gBest, v, present为向量),rand()产生0到1之间的随机数,c1和c2为学习因子。在进化迭代过程中,须根据实际需要为v和present指定范围。

PSO算法可用于BP神经网络的网络权值优化中,传统的BP神经网络采用误差反向传播来调整网络连接权值,该方法容易陷入局部最优解,而PSO算法可以在更大的空间内搜索,在一定程度上避免了以上问题。

将神经网络各层的连接权值编码成粒子,适应度值则为使用该组权值时的网络输出均方误差,利用之前描述的粒子群算法,在预设的迭代次数内搜索最优的网络权值。

以下的Matlab程序演示了PSO优化BP网络的过程,程序的目的是使用BP神经网络进行正弦函数逼近,使用3层神经网络,隐含层由3个神经元组成,粒子群共包含20个粒子,每个粒子的长度为10。其中BP网络使用Matlab自带的工具箱,非工具箱的实现可参考:BP网络的函数逼近在Matlab中的实现

clear;
clc;

p = 0 : 0.01 : 2;
t = sin(pi * p);
n = 3;   %隐含层神经元个数
net = newff(p, t, n, {'tansig','purelin'}, 'trainlm');

swarmCount = 20;   %粒子数
swarmLength = 10;   %粒子长度
vMax = 20;   %粒子运动最大速度
pMax = 2;   %粒子运动最大位置
swarm = rand(swarmCount, swarmLength);   %初始粒子群,即粒子的位置
v = rand(swarmCount, swarmLength);   %粒子的速度
swarmfitness = zeros(swarmCount, 1, 'double');   %粒子的适应度值
pBest = rand(swarmCount, swarmLength);   %个体最优值
pBestfitness = zeros(swarmCount, 1, 'double');   %个体最优适应度值
pBestfitness(:, :) = 100;
gBest = rand(1, swarmLength);   %全局最优值
gBestfitness = 100;   %全局最优适应度值
c1 = 2;
c2 = 2;
maxEpoch = 2000;   %最大训练次数
errGoal = 0.01;   %期望误差最小值
epoch = 1;
while (epoch < maxEpoch && gBestfitness > errGoal)
    for i = 1 : swarmCount
        %计算粒子的适应度值
        net.iw{1, 1} = swarm(i, 1 : 3)';
        net.b{1} = swarm(i, 4 : 6)';
        net.lw{2, 1} = swarm(i, 7 : 9);
        net.b{2} = swarm(i, 10 : 10);
        tout = sim(net, p);
        sse = sum((tout - t) .^ 2) / length(t);
        swarmfitness(i, 1) = sse;
        %更新个体最优值
        if (pBestfitness(i, 1) > sse)
            pBestfitness(i, 1) = sse;
            pBest(i, :) = swarm(i, :);
            
            %更新全局最优值
            if(gBestfitness > sse)
                gBestfitness = sse;
                gBest(1, :) = swarm(i, :);
            end
        end
    end

    %更新粒子的速度和位置
    for i = 1 : swarmCount
        v(i, :) = v(i, :) + c1 * rand(1, 1) * (pBest(i, :) - swarm(i, :)) + c2 * rand(1, 1) * (gBest(1, :) - swarm(i, :));
        tmp = find(v(i, :) > vMax);
        v(i, tmp) = vMax;

        swarm(i, :) = swarm(i, :) + v(i, :);
        tmp = find(swarm(i, :) > pMax);
        swarm(i, tmp) = pMax;
    end
    
    epoch = epoch + 1;
end

net.iw{1, 1} = gBest(1, 1 : 3)';
net.b{1} = gBest(1, 4 : 6)';
net.lw{2, 1} = gBest(1, 7 : 9);
net.b{2} = gBest(1, 10 : 10);
tout = sim(net, p);

figure, plot(p, t, 'k-');
hold on;
plot(p, tout, 'b-');

针对粒子群算法的改进研究也非常多,如我们江南大学的孙俊老师提出的量子粒子群算法(Quantum-behaved Particle Swarm Optimization)在学术圈内就具有较大影响,在量子空间中,粒子可以在整个可行解空间中进行搜索,因而QPSO算法的全局搜索性能远远优于标准PSO算法。最近的研究中使用了自适应神经模糊系统(Adaptive Neuro-Fuzzy System),后续计划使用QPSO算法对模糊系统进行优化。


Tags: PSO  BP网络  Matlab  
Categories: 人工神经网络  算法 

围着脖子推开始支持Twitter和新浪微博的OAuth授权

9 Comments
Posted on 七月 29 2010

赶在八月来临之前,给围着脖子推做了次修改和更新,涵盖网页版和机器人版,主要包括:

1、增加Twitter和新浪微博的OAuth授权功能,用户不再需要提供这两个应用的密码。
2、使用新的Logo,感谢@小强的作品,也感谢@Plidezus的引荐。
3、修复了Twitter消息提醒功能。

以下是详细说明:

Twitter API将会在8月16日停止对HTTP Basic授权的支持,也就是说,第三方应用将不再能使用用户提供的用户名和密码进行相关操作,因此,围着脖子推也要提前做好准备,开始支持OAuth授权。

围着脖子推将同时支持HTTP Basic授权和OAuth授权至8月15日,随后将撤下Twitter和新浪微博的HTTP Basic授权,请大家及早做好准备。

在同时使用了HTTP Basic授权和OAuth授权的情况下,系统将优先使用OAuth授权的方式,并且在8月15日后可平滑过渡。

网页版的OAuth授权在同步源管理界面一目了然,点击按钮后会跳转到应用的授权界面,授权完成后将回到围着脖子推,完成授权。一次授权,长期有效。

此处须说明的是,Twitter OAuth授权需要翻越功夫网,有困难的朋友可以使用VPN123的免费试用VPN,注意要选连接美帝服务器的帐号。

GTalk机器人的OAuth授权稍走了点弯路,但过程并不复杂:
机器人新增了一个"-oauth"命令,输入该命令,机器人将返回一个URL地址,在浏览器中打开该地址,就来到了当前GTalk用户的OAuth授权管理页面,于是把OAuth授权过程从机器人转移到了网页上。

授权过程与网页版的类似,完成授权后,将显示授权的帐号,同时,在机器人中输入"-status",也可看到授权帐号。
后续需要修改OAuth授权时,向机器人发"-oauth"命令,然后在浏览器中打开机器人返回的地址即可。

通过OAuth授权的账户所更新的状态的来源,在Twitter中将显示“Twitboo”,在新浪微博中将显示"围着脖子推"。

@小强设计的Logo简洁有蕴意,一个围着蓝色围脖的机器人,其实还有一个受伤版的,也非常可爱!这次“新浪围脖OAuth授权”那张图也是小强帮忙制作的,这样的图片让围着脖子推的界面丰富起来。

之前的Twitter消息提醒功能由于用户量增大而无法正常使用,这次对程序进行了改进,在保证实效性的同时增强了稳定性。

此次更新也许会让期待新功能的朋友失望了,但我相信每一次小小的修改或更新都是围着脖子推发展道路上坚实的一步,感谢用户朋友的支持!


Tags: 围着脖子推  twittersina  Google App Engine  GAE  gtalk  robot  twitboo 
Categories: 围着脖子推 
« Older Entries


About Me

    Steven Wang
    Student in Computer Software and Theory
    Life@Wuxi, Jiangsu
    Study@Jiangnan University
    more...

Feeds

  • Entries (RSS)
  • Comments (RSS)
  • 订阅到 Google Reader
  • 订阅到 抓虾
  • 订阅到 鲜果
  • 订阅到 QQ

Popular Posts

  • 围着脖子推GTalk机器人V1.0发布(12895)
  • 围着脖子推V2.0 Beta1版发布 支持Twitter,新浪微博,人人网,嘀咕,做啥 同步更新(4406)
  • 围着脖子推GTalk机器人V1.0更新-增加接收Twitter更新等功能(4291)
  • 通过SSH + Chrome + Proxy Switchy!代理上网(3810)
  • 在GAE上部署Micolog博客系统(3504)
  • 在Matlab中实现Hough变换检测直线(3458)
  • 围着脖子推更新-增加同步更新网易微博、腾讯微博和搜狐微博(3179)
  • Micolog主题(theme) —— translucence(2513)

Recent Posts

  • 围着脖子推更新-增加同步更新Google Buzz、Facebook、豆瓣我说
  • 围着脖子推停止Twitter和新浪微博的用户名密码授权
  • 怎样的七月
  • PSO优化BP神经网络在Matlab中的实现
  • 围着脖子推开始支持Twitter和新浪微博的OAuth授权
  • 入手Nikon D5000
  • 国产云存储服务DBank(数据银行)
  • 在Matlab中实现RGB颜色空间转换为Lab颜色空间

Recent Comments

  • heenoor:不知道围着脖子推的twitter认证是不...
  • CJC:请问7×7的模板是怎样的?...
  • Steven Wang:@opoo, 好的,以后会考虑这个问题,...
  • opoo:@Steven Wang,呵呵,回复真快...
  • Steven Wang:@opoo, 考虑到要同步其他有140字...

Categories

  • Google App Engine(9)
  • 数字图像处理(10)
  • Micolog(7)
  • VPS(6)
  • 围着脖子推(14)
  • 人工神经网络(5)
  • 算法(9)
  • MyLife(11)
  • 媒体检索(4)
  • Others(4)
  • Python(2)

Archives

  • August 2010(2)
  • July 2010(5)
  • June 2010(4)
  • May 2010(7)
  • April 2010(5)
  • March 2010(7)
  • February 2010(6)
  • January 2010(7)
  • December 2009(11)
  • November 2009(9)
  • October 2009(7)

Blog roll

  • ~Issue
  • Fenng
  • 刘未鹏 | Mind Hacks
  • Grace Hopper
  • 林海听松
  • Yu Zheng
  • Johnny Han
  • xiang_闹闹
  • 静静的安静
  • Herei
  • Dbger
  • land of promise
  • 小龙的SEO学习之路
  • 星星
  • ISHENS|TECH
  • 天天软件园

  • Home
  • About
  • Google Profile
  • Twitter
  • 新浪微博
  • Login
Powered by Google App Engine  |   Designed by WebTreats  |   由 xuming 提供 Micolog程序