戈登(Josh Gordon)：分类器的优秀之处
只在于你所提供的各样不同特性
这意味着具备好的特性
是你在机器学习里 其中最重要的工作
但是什么是好的特性 且你怎么能知道?
如果你正在做二分类
那么一个好的特性
使它可以很容易在两个 不同的事物之间作决定
例如假设我们要撰写一个分类器
用来分辨两种类型的狗
灰猎犬及拉布拉多犬
在这里我们将使用两个特征 狗狗的身高以英寸为单位
及它们眼睛的颜色
用这个玩具作为例子 让我们做一些有关狗的假设
使事情变得简单
首先我们会说灰猎犬通常
比拉布拉多犬高
其次我们会假设狗狗的眼睛
只有两种颜色—蓝色和棕色
我们会说它们眼睛的颜色
不是取决于品种
这意味着其中的一个特点是有用的
而另一个没有告诉我们任何事
要理解其中原因 我们将建立一个玩具数据集
使其可视化
我们从身高开始
你们认为这个特点有何作用?
平均而言灰猎犬
往往比拉布拉多犬高几英寸 但并非总是如此
在世界上有很多不同的变异
当我们想到一个特性时
必须考虑它怎样在一个种群中
寻找不同的值
以Python程式为例
我创建了一个1000只狗的种群
50-50 灰猎犬-拉布拉多犬
每一只狗我也会给它一个身高
在这个例子中我们会说
灰猎犬的平均身高为28英寸 而拉布拉多犬身高为24英寸
现在所有狗狗都有点不同
身高是正态分布
然后我们会给它们加或减4英寸
我们将会得到两个数字阵列
然后利用矩形图使其可视化
我将会添加一个参数 灰猎犬是红色
拉布拉多犬为蓝色
现在我们可以运行脚本
这样显示出一个给定的身高有多少只狗
在屏幕上有很多的数据
让我们将其简化 逐个阅读
我们从最左边的狗狗开始
它们身高大约都是20英寸
想象一下 如果我请大家预测 这样身高的狗狗是一只
拉布拉多犬还是灰猎犬
你会怎么做?
你们可以断定在特定的身高
每种类型狗狗的概率
在这里它较可能是 一只拉布拉多犬
另一方面
如果我们看看柱状图的右面
看看身高35英寸的狗狗
我们相当有信心这是一只灰猎犬
现在中间的狗狗又怎么样?
你可以看到图表给我们较少信息
每种类型的狗狗的概率很接近
因此身高是一个有用的特征 但它并不完美
所以在机器学习里
你们总是需要多种的特征
否则你们只是撰写一个if语句
而不是分类器
要断定使用哪个特点
就需要做一个假想实验
假设你是一个分类器
你要弄清楚这是一只
拉布拉多犬还是灰猎犬 你还想知道什么信息呢?
你可能会问它们的头发长度
它们跑得多快 或者它们的体重是多少
到底应该使用多少特性
是一门艺术而不是一门科学
但作为一个经验法则 想想你需要多少特征
来解决问题
现在我们看另一特征 例如眼睛的颜色
在这个例子
我们假设狗狗的眼睛 只有两种颜色—蓝色和棕色
我们假定眼睛的颜色
并不取决于狗的品种
像这样的例子可以用下面矩形图表示
对于大部分数值，分布大约是50/50
所以这个特征 没有告诉我们任何有用信息
因为它跟狗狗的类型没有关联
假设训练数据内包含 一个像这样无用的特征
能破坏分类器的准确度
因为很有可能
虽然机器学习输出了准确结果 但那纯属偶然
特别在训练数据不多的情况下
你还希望各样特征是独立的
独立特征给你
不同类型的信息
试想一下我们已经有一个特征 在我们的数据集里—
身高及英寸
问问你自己 如果增加 另一个特征会有所帮助吗
例如用多少厘米表示身高?
没有用 因为它跟已有的特征
密切相关
从训练数据删除高度相关的特征
这是很好的做法
因为很多分类器
没有足够的智能明白
用厘米或英寸量度身高 是同样的事情
因此它们可能会重复 计算特征的重要性
最后你们或者希望特征很容易被理解
用一个新的例子
假如你把一封信从一个城市寄到另一个城市
你预测需要多少天
两个城市之间的距离越远 所需时间也就越长
一个有用的特征是
用英里表示两个城市之间的距离
一个较差的特征就是
使用城市的经度及纬度
去标示其位置
这就是其原因
我可以看看距离
然后猜测要多久 信件才会到达目的地
但是知道经纬度及时间之间的关联后
也很难猜测有关时间
并需要更多有关训练数据的例子
现在你需要使用不同技巧来断定
到底哪个特征为何对你有帮助
甚至哪样的组合是最好的
那么你不再需要听天由命
我们在下一节再讨论
接下来的时间我们将会继续
为监督式学习建立直觉
我们将会展示怎样使用 不同类型的分类器
来解决同样的问题
并深入了解它们怎样运作
谢谢收看 我们下次再见