Machine Learning第四讲[神经网络: 表示] --(一)动因

来源:互联网 发布:java数据结构视频 编辑:程序博客网 时间:2024/06/05 05:21

内容来自Andrew老师课程Machine Learning的第四章内容的Motivations部分。

一、Non-linear Hypotheses(非线性假设)

1、如下图,在logistic回归中,我们通过定义多项式来训练一个拟合函数,使其能够拟合较多的数据。

对于只有2个特征的多项式,这种方式可能会比较适合,但是在其他的应用中,遇到的可能是有很多个特征值,比如:

对于上述这个具有100个特征的例子来说:
(1)consideration1:
暂不说多形式,即使是二项式类似于,也大概有5000项,随着特征数的增加,其二项式的个数以O(n^2)的数量级增长。
因此,使用logistic回归可能并不是一个很好的解决方案,而且由于特征数过多,极有可能导致最后的结果是过拟合的。而且处理这么多项,也存在着计算量过大的问题。
(2)consideration2:
我们也可以只考虑,这将会使得项数大大减少,但是由于其忽略了太多的项,因此在处理图一所示数据时,不可能得到理想的结果。可能能够拟合出类似椭圆的曲线,但是类似图一的曲线是拟合不出来的。
(3)consideration3:
假设包含三次项,如:,则增长速度变为O(n^3),当n=100时,项数大约有170,000。

因此,当特征数很大时,使用附加项来建立一些分类器并不是一个很好的做法。

2、举个计算机视觉的例子,假设你想要通过设计很多特征来识别一辆车,对于人眼看到的门把柄。对于计算机来说看到的是什么呢?
计算机看到的是一个像素值矩阵,通过这个矩阵数据对应的亮度值告诉我们这是一个门把柄。

我们输入一些与汽车有关的info,也输入一些与汽车无关的info,以这些数据来训练模型。

下图是一个汽车识别的学习算法图:
这里写图片描述
对于图上所说的3 million的特征数,无论是计算成本还是计算复杂度都太高,因此线性回归和logistic回归并不适用,于是我们引入神经网络的概念。

二、Neurons and the Brain(神经元和大脑)

下面介绍一些关于神经网络的背景知识:
神经网络算法主要是用来模拟人脑的,它是之前存在的一种技术,在1980s’和1990s’被广泛使用,90年代后使用减少,而近期,作为一种比较前沿的科技,再次走入大众的视野。它能够再次流行,大概是因为它主要是用于解决计算量大的问题,而随着计算机性能的高速发展,使得它能够更好的发挥作用。

神经网络是现代机器学习中应用的比较多的技术,非常实用。

0 0
原创粉丝点击