# 人工智能概述和特征提取
# 人工智能概述
# 人工智能学习曲线
第一阶段
入门阶段 坡特别陡
一定要坚持,要了解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,这样的话向量就会很长很稀疏
而且没有记录顺序,比如词的内容
我借你钱
和你借我钱
都是这几个字但是顺序不同,语义截然不同还有就是产生歧义,例如:苹果 都是这个内容及顺序 但是代表的意义不同
思考题
量化文字难还是量化图像难?
可以很负责的说文字难度远高于图像,现在图像相对来说已经很成熟了,有很多固定方法和模式
还有很多地方需要量化?
比如:电商里的用户画像
用户性别向量化
- 男[0] 女[1]
- 男[0,1] 女[1,0]
这两种表示方式哪个好?第2种好 因为用一位代表的话就会出现比大小的关系(女的比男的大),但是性别上不存在大小的关系,所以用第二种表示不会出现男、女大小的问题,在机器学习里一般会用第2种方式来做。
用户年龄向量化
0---100岁
[0~100]
这种方式是OK用一位来表示大小,但是有个问题比如这个电商是卖尿不湿的,那只关注[0~10]和[60~100]的人群其实没有大小的概念 这种单纯的表示大小的方式就出现弊端了
分为四个区间
- 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岁的就差俩岁但是不同区间段内
缓和一下边界诊断还是分为四个区间
- 0~18
- 15~40
- 35~60
- 55~100
如果是16岁的话记载第一区间也是第二区间的 [ 1 1 0 0]
因此这个边界是由需求来划分的
又个例子:量化二手车平台车辆颜色
用三维向量表示颜色 如RGB (0~255, 0~255, 0~255)
大部分是不能用以上方式表示颜色的,因为颜色是种状态没有大小之分,例如一辆奥迪车的颜色值(200,100,90) 一辆悍马车的颜色值(110,50,30) 直观上看奥迪车的颜色值要大于悍马车的颜色值,但是并不存在大小的关系 所以这种表示法不合理,因为业务场景里不存在大小之分所以做特征提取时就能有此差异,交给模型运算会不准
比如颜色有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)
说回电商例子
描述用户的性别和年龄 可以用一个向量表示
例如:
- 男 35岁 (0, 1, 0, 1, 0, 0)
- 女 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怎么搞?
应用场景==>>文本、视频、电商
领域知识==>>把上面的东西转化为向量
将向量交由模型