通常情况下,实际的机器学习问题需要抽象表示为数学矩阵的方式,才可以用数学优化理论对模型进行优化,得出理想的hypothesis,简单介绍一些原始数据表示为数学矩阵方式的形式。
原始数据为样本数据的属性值形式:
有三个已知样本数据,分别为:
张强,男,178cm, 65kg, 爱好:游泳,足球;
李向阳,男,172cm, 65kg, 爱好:电影,足球;
韩梅梅,女,163cm, 53kg, 爱好:跳舞,唱歌;
图标形式:
姓名,性别,身高,体重,爱好
张强,男,178cm, 65kg, 爱好:游泳,足球;
李向阳,男,172cm, 65kg, 爱好:电影,足球;
韩梅梅,女,163cm, 53kg, 爱好:跳舞,唱歌;
显然上述图标形式无法用数学模型处理,在此需要将非数值数据转换为数值形式,采用one hot encoder将非数值属性转换为数值属性,转换后的图标为:姓名,性别-男,性别-女,身高,体重,爱好-游泳,爱好-足球,爱好-电影,爱好-跳舞,爱好-唱歌
张强, 1, 0, 178, 65, 1, 1, 0, 0, 0
李向阳, 1, 0, 172, 65, 0, 1, 1, 0, 0
韩梅梅, 0, 1, 163, 53, 0, 1, 0 1, 1文本数据
文本数据表示为向量形式包括词的向量形式表示、句子的向量形式表式等。- 词的向量表示
- 词袋模型(Bow)
样本1:我爱北京天安门。
样本2:你在北京过得怎么样?
样本3:天安门前天安门广场好大啊。
在一种分词情况下:
样本1分词:我/爱/北京/天安门。
样本2分词:你/在/北京/过得/怎么样?
样本3分词:天安门/前/天安门/广场/好/大/啊。
向量表示为:
我,爱,北京,天安门,你,在,过得,怎么样,前,广场,好,大,啊
样本1:1, 1, 1, , 1, 0, 0, 0, 0, 0, 0, 0, 0, 0
样本2:0, 0, 1, , 1, 1, 1, 0, 1, 0, 0, 0, 0, 0
样本3:0, 0, 1, , 1, 0, 0, 0, 0, 1, 1, 1, 1, 1
在上述向量表示过程中,并没有考虑分词过程中加入停用词等情况的影响(停用词去掉虚词、助词等等)。上述表示仅仅表示出词是否存在,除此之外,还有计算词汇出现次数、以及将词对文档的影响考虑在内的TF-idf表示等。词袋模型并没有考虑句子中词的位置对语义的影响,在文档搜索或文档分类方面还可以应用。 - 词嵌入模型
为了使词表示具有语义信息,将上下文信息与词向量表示关联起来。一种是采用一个窗口模式n-gram模式来将词的前后词与词本身关联在一起。还有一种采用稠密向量表示词,相似语义的词的向量距离近。常用的为word2vec训练词向量模型。
- 词袋模型(Bow)
- 词的向量表示
- 图像数据
最直观的图像数据表示模式即在空间表示上为位图模式,在色彩表示上采用RGB模式等。在之前进行数字图像处理时在进行特征表示时是比较痛苦的过程,有灰度变化、直方图统计、高通低通滤波等等、以及各种小波变换、傅里叶变换等;后来随着深度学习的出现,卷积神经网络开始在图像特征提取方面呈现出一统江湖的趋势。