一、机器学习
机器学习是一类强大的可以从经验中学习的技术。通常采用观测数据或与环境交互的形式,机器学习算法会积累更多的经验,其性能也会逐步提高。机器学习可分为监督学习、无监督学习和强化学习。到目前为止,不管是监督学习还是无监督学习,我们都会预先获取大量数据,然后启动模型,不再与环境交互。这⾥所有学习都是在算法与环境断开后进行的,被称为离线学习。优点是,我们可以孤⽴地进行模式识别,而不必分心于其他问题。缺点是,解决的问题相当有限。
1. 监督学习依据输入特征预测标签,像房价预测这类输出为数值的是回归问题,猫狗识别判断样本类别的属于分类问题,还有多标问题、推荐系统、序列问题等任务类型。
- 回归问题:回归是最简单的监督学习任务之一。回归是训练一个回归函数来输出一个数值。
- 分类问题:样本属于“哪一类”的问题称为分类问题。分类是训练一个分类器来输出预测的类别。
- 标注问题:学习预测不相互排斥的类别的问题称为多标签分类。
- 推荐系统:⽬标是向特定用户进行“个性化”推荐。
- 序列问题:输入和输出都是可变长度的序列。
2. 无监督学习是处理数据中不含有标签的机器学习问题。比如聚合问题、主成分分析问题、因果关系和概率图模型、生成对抗网络。
3. 强化学习则是智能体与环境不断交互,根据反馈选择动作并获得奖励。
二、深度学习
在图像分类、目标检测和分割、人脸合成、机器翻译、图像描述、自然语言文本合成等众多领域,深度学习都取得了令人瞩目的成果。
- 成功案例:图像分类、Navidia最新的人工智能软件将粗糙的涂鸦变成现实的风景、盲人用户现在可以使用微软的Seeing AI通过触摸探索照片等。
- 成功领域:图像分类、人脸合成、图像描述、自然语言文本合成
三、图灵测试:衡量机器智能的标尺
人工智能先驱艾伦·麦席森·图灵提出的图灵测试意义重大。在测试中,测试者与被测试者(人和机器)隔开,通过问答来判断对方身份。若机器能让参与者误判超30%,就被认为具有人类智能。这一测试为衡量机器智能水平提供了重要标准,推动着人工智能不断向更高水平发展。
四、线性回归
线性回归在实际生活中应用广泛,比如房产价格的估算。当我们看中一套房子并进行参观了解后,需要估计它的价格,线性回归就能帮助我们完成这一任务。它通过分析往年房价数据、房屋面积等因素,建立起价格与这些因素之间的线性关系。w称为权重,决定了每个特征对我们预测值的影响,b称为偏置。
- 给予 n 维输入,x=[x_1,x_2,…,x_n ]^T
- 线性方法有 n 个权重和偏差:w=[w_1,w_2,…,w_n ]^T,b
- 输出是输入的加权总和:y┴̂=w_1 x_1+w_2 x_2+⋯+w_n x_n+b
- 矢量化版本:y┴̂=<w,x>+b
线性回归是房价预测的有力工具
五、神经网络
在神经网络学习过程中,找到最优的参数(权重和偏置)至关重要,而这依赖于基础优化算法。神经网络优化算法是寻找最优参数。
六、梯度法
梯度法是寻找函数最小值的重要方法。梯度是由全部变量的偏导数汇总而成的向量,它指向函数值减小最多的方向,但并不一定指向函数的最小值点。
- 梯度指示的反向是各点处的函数值减小最多的方向,所以无法保证梯度所指的方向就是函数的最小值或者真正应该前进的方向。
- 在寻找函数的最小值的位置任务中,以梯度的信息为线索,决定前进的方向。随机梯度下降它通过不断的在损失函数递减的方向上更新参数来降低误差。
- 梯度:使得函数值增加最快的方向,更新权重的方向
- 学习率:步长的超参数,每次沿梯度方向一步走多远
七、选择批量值
批量值不能太小:批量值太小,难以充分利用计算资源
批量值不能太大:批量值太大,浪费计算资源。
八、回归与分类的区别
回归主要用于估计一个连续值,而分类则是预测一个离散类别。像ImageNet对自然对象进行1000类分类、MNIST对手写数字进行10类分类,以及Kaggle上将人类蛋白质显微镜图像分为28类、将维基百科恶语评论分为7类等,都是分类任务的典型例子。
- 回归:单个连续数值输出、自然区间、与真实值的区别作为损失。
- 分类:通常多个输出、输出的i表示预测为第i类的置信度。
九、Softmax回归
Softmax回归是一个多类分类模型。在从回归到多分类的转变中,输出层的神经元数量通常根据类别数量来设定。训练Softmax回归模型时,常用交叉熵损失函数来衡量预测与真实标签的差异,优化模型参数以提升分类准确性。
十、总结
人工智能的发展日新月异,不断给我们带来惊喜。无论是在改善生活品质,还是推动各行业创新发展上,都发挥着巨大作用。但同时,其发展也带来了数据隐私、算法偏见等新问题。
梯度下降通过不断的沿着反梯度方向更新参数求解。小批量随机梯度下降是深度学习默认的求解算法。两个重要的超参数是批量大小和学习率。
线性回归、Softmax回归和相关优化算法相互配合,构成了机器学习的基础框架。理解并掌握这些知识,是深入探索机器学习领域、解决各类实际问题的关键。