分类 随笔 下的文章

不得不知的TensorFlow


  随着人工智能技术的快速发展,越来越多的公司和研究人员加入到其中并诞生了一系列人工智能相关的开源项目,其中就有TensorFlow,MXNet,Caffe,Keras等,这些开源库各有各的特点,它们的出现有利于开发者掌握和开发仍智能相关产品,赋予未来更多想象力。   这里之所以更关注TensorFlow其中一个原因是这是由谷歌开发的,谷歌在这方面的实力世界领先,AlphaGo带来的冲击是巨大的,表明人工智能的时代已经越来越近。   所谓TensorFlow是基于DistBelief进行研发的第二代人工智能学习系统,其命名来源于本身的运行原理。Tensor(张量)意味着N维数组,Flow(流)意味着基于数据流图的计算,TensorFlow为张量从图象的一端流动到另一端计算过程。TensorFlow是将复杂的数据结构传输至人工智能神经网中进行分析和处理过程的系统。 TensorFlow可被用于语音识别或图像识别等多项机器深度学习领域,对2011年开发的深度学习基础架构DistBelief进行了各方面的改进,它可在小到一部智能手机、大到数千台数据中心服务器的各种设备上运行。   TensorFlow同样支持GPU,分布式,可以使运行速度大大提高。


在使用PagerAdapter时的坑


坑的源头

在fragment中使用

public void onStart() {
        super.onStart();
        mAdapter = new TrackGetFragmentPagerAdapter(getChildFragmentManager());
        tabLayout = (TabLayout) mainView.findViewById(R.id.tabs);
        viewPager = (ViewPager) mainView.findViewById(R.id.vp_view);
        viewPager.setAdapter(mAdapter);
        tabLayout.setupWithViewPager(viewPager);
        tabLayout.setTabMode(TabLayout.MODE_FIXED);
        mAdapter.notifyDataSetChanged();
    }


基于用户画像的推荐算法实现


  接上文,现代社交网站常常需要根据用户身份和偏好向他们推荐相似用户,比如微博,并且这些数据常常数据量常常十分巨大,简单的协同过滤算法已经不能满足需求了,那么该如何应用mahout更好地解决呢?当然要根据场景和数据具体分析,同时Mahout中的算法十分丰富(查看),并且依托于hadoop,可以充分发挥云端的力量。这里只是抛砖引玉,尝试用组合推荐的方法进行用户社会化推荐。   首先来看看假定的数据构成:


基于标签的推荐算法实现


  上面一篇文章说到了可以用mahout快速开发推荐算法,事实上推荐算法的应用场景已经十分广泛,最早提出的是协同过滤的推荐算法,也已经应用于各新闻,社交及电商网站。下面让我们模拟这一算法的开发过程。   首先对于每一个注册用户,网站可以根据他们对相关内容的关注程度给他们分别标上标签,例如,张三喜欢某款运动鞋等。随着网站用户数的增加,数据量也随之增长,这时候为了提高效率,网站就可以考虑使用推荐算法来向用户推荐物品。   为了更好地进行计算,首先要将数据进行清洗,例如将用户和物品按照数字编号进行表示,以一定的格式给出,例如:    23,345    12,22    45,87    ......

  然后就可以进行程序的编写了。