基于机器学习的服装搭配问题分析

跟風遠走 提交于 2020-01-06 17:05:07

目前,市面上也有很多关于用户行为进行推荐的软件,这些软件虽然会根据用户的购买行为进行产品推荐,不过推荐的效果不是很好,特别是在搭配推荐领域,就显得十分的粗糙。对于时尚而言,没有百分百的时尚界限,每个人对时尚的理解以及自己的喜好都会对搭配是否成功产生影响,那么怎么判定服装智能搭配算法的可行度呢?在国外会有很多关于时尚的网站,这些都是现在市面上认可的多家时尚公司,而他们的服装搭配就可以代表当前的服装流行程度和较好的搭配样式[1]。我们可以通过爬取这些网站的数据,建立专家知识库和评判标准,使服装智能推荐得到的效果更好。我们对服装图像的处理,会提取很多不同类型的语义特征,比如说图像的颜色,纹理,拉链等。我们就可以通过属性融合的方式对其进行描述:一件蓝色的牛仔裤,膝盖处有两道开口纹理[4]。
目前针对时尚服装的数据集很多都是服装的单品,从之前到现在对服装搭配这一方向的市场研究还远没有到成熟的位置,所以在这一方面的数据集和算法,并没有统一和绝对,所以对这一方向的研究是很有必要的。而在目前的用户市场中,单一物品的推荐和top-k推荐已经无法很好的满足用户了,所以对上下服装和整体的搭配推荐是目前需要解决的关键[2]。
根据TPO规则(有关服饰礼仪的基本原则之一)生成服装搭配规则建立专家系统知识库。近年来,神经网络得到了很好的发展,而神经网络也运用到越来越多的场景中,而在图像处理方面,也有了很好的效果。神经网路利用多层结构来模仿人体的神经学习网络,在图像识别的任务上取得了很好的成果,在机器学习方面[5],特征工程是模式识别任务的基础,它直接决定了机器学习的上限,而特征提取又是特征工程中的第一步,因此特征提取十分重要。
目前对服装智能推荐领域的研究并不成熟,各大电商对智能推荐都有涉及,但是并没有很好的从用户的实际需要角度分析,所以对服装智能推荐的研究也就十分必要了,对于智能服装推荐,具有很大的的优势和特点:
1)用户的基数大。随着人们的生活水平的提高,对审美也提出了很高的要求,特别是在服装推荐方面,一般人对搭配都是一无所知,这时智能服装推荐就显得尤为重要了。
2)智能服装搭配就是依靠各种智能化的手段,借助各种高端的技术和模型对服装进行搭配,给用户较好的体验并且促进用户的消费。
1 服装智能搭配研究
科技日益发展的今天,时尚似乎也被盖上了一层科技的面纱,服装如何智能的搭配在现代社会中也被提出了需求,根据目前神经网络和算法的发展,服装搭配的智能系统方面可以分为监督学习和非监督学习两类。基于监督学习的智能服装搭配系统是根据算法提取服装的特征,根据提取的服装特征对服装进行分类,最后在通过搭配算法将服装搭配起来。基于无监督学习的智能服装搭配系统则是通过大量的服装搭配数据,如搭配文字标签、服装搭配图片等,来建立一个搭配模型[3]。
1.1 基于监督学习的智能服装搭配
1)把服装分为6个风格大类,利用将图片转化为文字语义进行搭配
2)根据用户信息和用户购买偏好信息建立偏好系统,根据偏好进行推荐。
3)就对一种类型服装进行评分机制,对用户进行top-k推荐
1.2 基于非监督学习的智能服装搭配
1)利用k-means算法(k均值聚类算法)通过对不同服装的的聚类中心,在通过聚类中心进行服装推荐
2)挖掘学习规则,找出top-k的服装搭配并推荐给用户。
2 服装搭配智能推荐和常用算法分析
2.1 服装智能推荐方法
在服装搭配相关的算法和研究也有很长的时间了,但是在之前的研究过程中,技术的不先进和数据集的不完整,都导致在服装搭配领域的研究没有很大的突破。其中单一的算法应用较多。
1)协同过滤推荐
a.找到与目标用户相似的用户集合
b.找到这个集合中匹配距离较近的用户的喜好对目标用户进行推荐
2)基于内容的推荐
根据用户的上网记录,寻找有相似记录的用户,为目标用户进行推荐
3)基于关联规则的推荐
以购买相同物品作为关联规则,寻找购买了相同物品的用户,根据这些用户的行为为目标用户进行推荐。利用专家系统和层次分析法实现智能推荐系统的设计智能服装推荐系统
另外两个传统的推荐算法:
4)混合推荐
通过多个推荐系统的结合,以得到更好的推荐模型算法
5)基于人口统计信息的推荐
简单的根据用户的基本信息发现用户的相关程度,然后将相似用户喜爱的其他物品推荐给当前用户。比如说同为25岁的女性属于相似群体。
2.2 服装智能搭配常用算法
1.贪心算法
贪心算法的基本思路就是从问题的某一个初始解出发一步一步地进行,根据某个优化测试,每一步都要确保可以获得局部最优解。每一步只考虑一个数据,它的选取应该满足局部最优的条件下。若下一个数据和部分最优解连在一起不再是可行解时,就不把该数据添加到部分解中,知道把所有数据枚举完,或者不能再添加算法停止。
贪心选择是指所求问题的整体最优解可以通过一系列局部最优的选择,即贪心选择来达到。这是贪心算法可行的第一个基本要素,也是贪心算法与动态规划算法的主要区别。贪心选择是采用从顶向下、以迭代的方法做出相继选择,每做一次贪心选择就将所求问题简化为一个规模更小的子问题。对于一个具体问题,要确定它是否具有贪心选择的性质,我们必须证明每一步所作的贪心选择最终能得到问题的最优解。通常可以首先证明问题的一个整体最优解,是从贪心选择开始的,而且作了贪心选择后,原问题简化为一个规模更小的类似子问题。然后,用数学归纳法证明,通过每一步贪心选择,最终可得到问题的一个整体最优解[4]。
值得注意的是,贪心算法并不是在任何问题中可以使用,贪心策略一旦经过证明成立后,它就是一种高效的算法。贪心算法还是很常见的算法之一,这是由于它简单易行,构造贪心策略不是很困难。可惜的是,它需要证明后才能真正运用到题目的算法中。一般来说,贪心算法的证明围绕着:整个问题的最优解一定由在贪心策略中存在的子问题的最优解得来的。
图1 函数的最小值问题
2.模拟退火
模拟退火其实也是一种Greedy算法,但是它的搜索过程引入了随机因素。模拟退火算法以一定的概率来接受一个比当前解要差的解,因此有可能会跳出这个局部的最优解,达到全局的最优解。以上图为例,模拟退火算法在搜索到局部最优解B后,会以一定的概率接受向右继续移动。也许经过几次这样的不是局部最优的移动后会到达B 和C之间的峰点,于是就跳出了局部最小值B[9]。
3.集束搜索
集束搜索又名定向搜索,是一种启发式图搜索算法,通常用在图的解空间比较大的情况下,为了减少搜索所占用的空间和时间,在每一步深度扩展的时候,剪掉一些质量比较差的结点,保留下一些质量较高的结点。这样减少了空间消耗,并提高了时间效率。
使用广度优先策略建立搜索树,在树的每一层,按照启发代价对节点进行排序,然后仅留下预先确定的个数(Beam Width-集束宽度)的节点,仅这些节点在下一层次继续扩展,其他节点就被剪掉了[6]。
4.遗传算法-Genetic Algorithm
遗传算法是模拟达尔文生物进化论的自然选择和遗传学机理的生物进化过程的计算模型,是一种通过模拟自然进化过程搜索最优解的方法。遗传算法是从代表问题可能潜在的解集的一个种群开始的,而一个种群则由经过基因编码的一定数目的个体组成。每个个体实际上是染色体带有特征的实体。染色体作为遗传物质的主要载体,即多个基因的集合,其内部表现(即基因型)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从表现型到基因型的映射即编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代演化产生出越来越好的近似解,在每一代,根据问题域中个体的适应度大小选择个体,并借助于自然遗传学的遗传算子进行组合交叉和变异,产生出代表新的解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解码,可以作为问题近似最优解。
5.孪生神经网络
孪生神经网络使一种包含多个分支网络,最后将各个分支结合到一起的网络架构,一般来说,各个分支具有相同的配置,也就是说各个分支的参数和权重都是相同的,参数的更新使多个共同进行的,孪生神经网络往往用于判断物体的相似性。与孪生神经网络对应的还有一种伪孪生神经网络,它的分支可以是不同的模型,这样就可以应用到很多场景中,解决很多问题。
3 总结和展望
本文的工作是围绕人们日常生活中服装搭配问题展开的。这些年来,电子商务和新零售的革新给服装行业带来了很大的冲击,但是人们怎么可以买到自己的心仪搭配的衣服是一个很值得探究的问题, 手工搭配会受到个人主观意愿的影响,而且效率较低,不可能在互联网如此发达的今天普及,因此,怎么给用户推荐相应服装搭配是研究的重点,目前针对时尚服装的数据集很多都是服装的单品,从之前到现在对服装搭配这一方向的市场研究还远没有到成熟的位置,所以在这一方面的数据集和算法,并没有统一和绝对,所以对这一方向的研究是很有必要的。而在目前的用户市场中,单一物品的推荐和top-k推荐已经无法很好的满足用户了,所以对上下服装和整体的搭配推荐是目前需要解决的关键。
本文通过对自己看到的智能搭配推荐和算法的总结,可以让我理清服装智能搭配的整个过程,对之后的服装智能搭配的研究有很大的帮助。上诉的总结是基于自己看了部分论文之后的总结,在推荐邻域和机器学习领域的模型和算法其实有很多,这里的推荐和算法也不是最好的关于服装搭配方面的模型,寻找更好的算法和模型是服装推荐更加准确,更加有意义是我今后研究的重点。算法和代码只是实现功能的工具,更重要的是需要把服装智能推荐的整个流程理清楚,在根据自己的知识积累,对思路进行实现优化。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!