# 人工智能概述和特征提取

# 人工智能概述

# 人工智能学习曲线

AI学习曲线

  • 第一阶段

    入门阶段 坡特别陡

    一定要坚持,要了解AI的思想

  • 第二阶段

    学习不同的传统模型加深理解,验证思想

  • 第三阶段

    小台阶 深度学习

  • 第四阶段

    难度下降阶段 做项目阶段 一通百通

最需要掌握的是方法论,思想是不变的,不是学个代码要把方法学会。

课程分为三级难度

  • 一级难度:必须要掌握的
  • 二级难度:搞定面试 面试之前必须看懂
  • 三级难度:70%三年AI工作经验的人不知道的东西,往专家路线走,需要掌握 反复去琢磨的

# 特征提取

# 开始AI学习

大前提:无法量化的事情,就无法优化

必须要量化

将物理世界变为数学世界

特征一定要模拟业务场景

图片向量化

例如:怎么将图片(200*200px)量化?

RGB三原色 每个都是0-255组成

200*200个像素点 每个像素点有不同的RGB3位表示

所以就是 200*200*3个数值代表一个图片

但是这种方式会带来运算量巨大所以引申出下面的方式

灰度图

将每个像素点上的RGB的三位数值 加权 (a1*R+a2*G+a3*B)=P

这样就把三位数值变为一位数值,运算量变为200*200

如果图片有个100*100的还有个200 * 200的 还有个500 * 500

把大的(500)的缩放为中的(200)把小的(100)放大为中的大小多余位置补0

这样三个图片的向量长度都是200 * 200

文字向量化

例如:怎么将文章(a,b,e,f)量化?

总词量为10个(a,b,c,d,e,f,g,h,i,j)

对应的向量表示为总词量中匹配了文章内容的位置是1(词频数) 否则是0

one-hot方法

(1,1,0,0,1,1,0,0,0,0)

但是以上方式有个弊端就是比如中文总词量为20W,这样的话向量就会很长很稀疏

而且没有记录顺序,比如词的内容我借你钱你借我钱都是这几个字但是顺序不同,语义截然不同

还有就是产生歧义,例如:苹果 都是这个内容及顺序 但是代表的意义不同

思考题

量化文字难还是量化图像难?

可以很负责的说文字难度远高于图像,现在图像相对来说已经很成熟了,有很多固定方法和模式

还有很多地方需要量化?

比如:电商里的用户画像

用户性别向量化

  1. 男[0] 女[1]
  2. 男[0,1] 女[1,0]

这两种表示方式哪个好?第2种好 因为用一位代表的话就会出现比大小的关系(女的比男的大),但是性别上不存在大小的关系,所以用第二种表示不会出现男、女大小的问题,在机器学习里一般会用第2种方式来做。

用户年龄向量化

0---100岁

  1. [0~100]

    这种方式是OK用一位来表示大小,但是有个问题比如这个电商是卖尿不湿的,那只关注[0~10]和[60~100]的人群其实没有大小的概念 这种单纯的表示大小的方式就出现弊端了

  2. 分为四个区间

    • 0~15
    • 15~40
    • 40~60
    • 60~100

    如果用户是10岁的话在第二个区间向量值为[1 0 0 0] ==>>主要是父母购买

    如果用户是35岁的话在第二个区间向量值为[0 1 0 0] ==>>主要用户

    如果用户是45岁的话在第二个区间向量值为[0 0 1 0] ==>>拼多多的主要用户 便宜的居多

    如果用户是65岁的话在第二个区间向量值为[0 0 0 1] ==>>主要是儿女购买

    问题:边界点的划分很重要,比如上面的14岁的与16岁的就差俩岁但是不同区间段内

  3. 缓和一下边界诊断还是分为四个区间

    • 0~18
    • 15~40
    • 35~60
    • 55~100

    如果是16岁的话记载第一区间也是第二区间的 [ 1 1 0 0]

    因此这个边界是由需求来划分的

又个例子:量化二手车平台车辆颜色

  1. 用三维向量表示颜色 如RGB (0~255, 0~255, 0~255)

    大部分是不能用以上方式表示颜色的,因为颜色是种状态没有大小之分,例如一辆奥迪车的颜色值(200,100,90) 一辆悍马车的颜色值(110,50,30) 直观上看奥迪车的颜色值要大于悍马车的颜色值,但是并不存在大小的关系 所以这种表示法不合理,因为业务场景里不存在大小之分所以做特征提取时就能有此差异,交给模型运算会不准

  2. 比如颜色有5种 [红、黑、白、绿、蓝] 做个5维的向量

    • 红 ==>> (1,0,0,0,0)
    • 黑 ==>> (0,1,0,0,0)
    • 白 ==>> (0,0,1,0,0)
    • 绿 ==>> (0,0,0,1,0)
    • 蓝 ==>> (0,0,0,0,1)

说回电商例子

描述用户的性别和年龄 可以用一个向量表示

例如:

  1. 男 35岁 (0, 1, 0, 1, 0, 0)
  2. 女 27岁 (1, 0, 0, 1, 0, 0)

这样可以计算俩个用户的距离

电商一般是搞组合特征

比如:女的购买能力是15 年龄段是[16~40]是10 当这两者都满足的话 购买力会提升 可能是30或40

这种就是组合特征,一般是如下做法

性别 ==>> 二维向量

年龄 ==>> 四维向量

组合特征 ==> 第七位向量 当性别是女而且年龄段是第二个的时候 该值为1

(1, 0, 0, 1, 0, 0, 1)

再举个电商例子

性别(2)

年龄(4)

地区(10)

消费能力(5)

购物时间(5)

总共26为特征 这只是大概 现在的动不动都是亿维特征

AI怎么搞?

应用场景==>>文本、视频、电商

领域知识==>>把上面的东西转化为向量

将向量交由模型

AI流程