当前位置: 首页 > news >正文

B站吴恩达机器学习笔记

机器学习视频地址:

4.5 线性回归中的梯度下降_哔哩哔哩_bilibili

机器学习分类:

1. 有监督学习(Supervised Learning)

在有监督学习中,训练数据包含了输入特征和正确的输出标签,模型通过这些带有标签的数据进行学习,以预测新数据的输出。

  • 分类(Classification):目标是预测数据点属于哪个类别。例如,电子邮件是否为垃圾邮件、图片中对象的类型等。
  • 回归(Regression):用于预测一个连续值的输出。比如预测房价或股票价格。

2. 无监督学习(Unsupervised Learning)

在无监督学习中,训练数据不包含输出标签,算法试图从未标注的数据中学习出一些有用的模式或结构。

  • 聚类(Clustering):目的是发现数据中的自然分组。如将客户分成不同的市场群体。
  • 关联规则学习(Association Rule Learning):旨在挖掘变量之间的关系,例如购物篮分析中找出哪些商品经常一起被购买。
  • 降维(Dimensionality Reduction):减少数据集的变量数量,同时尽量保留原始数据的信息,用于简化数据以便于可视化或提高模型效率。

其他学习方式

除了上述两种主要的学习方式外,还有:

  • 半监督学习(Semi-supervised Learning):介于有监督学习与无监督学习之间的一种方法,使用少量带标签的数据和大量不带标签的数据进行学习。
  • 强化学习(Reinforcement Learning):通过试错机制来学习策略,以最大化某种累积奖励。它广泛应用于机器人导航、游戏AI等领域。

损失函数学习地址:

损失函数选择

选凸函数的话,会收敛到全局最小值。证明凸函数用Hessian矩阵。凸函数定义:两点连线比线上所有点都大。

batch理解:

  • 在机器学习中,指的是用于一次模型更新的所有样本的集合。当使用批处理进行训练时,每次更新模型参数是基于整个批处理内的所有样本计算得到的梯度。
  • batch设置为2的话,数据集6张图片,第一次1 2第二次3 4第三次5 6

梯度下降法学习地址:

numpy学习地址:

Python之Numpy详细教程_python numpy-CSDN博客

numpy常用函数:


np.array([1,2,3])np.array(
[1,2],
[2,3],
[3,4])
//reshape(-1, 1) 是一种便捷的方式来将任何一维数组转换为列向量,其中 -1 告诉 NumPy 自动计算合适的尺寸以匹配另一维度的大小(在这里是指定的 1)
//reshape(-1, x)可以理解为得到(?,x)的数组
np.array([1, 2, 3]).reshape(-1, 1)
//做点积操作
np.dot(w,x)

特征归一化处理:

归一化方法学习地址:

Min-Max 归一化:通过线性变换将数据映射到[0, 1]区间内。

Z-score 标准化(Standardization):这种方法将原始数据转换为均值为0、标准差为1的数据分布,即标准正态分布。

L2 正则化(也称为向量归一化):对于每个样本,将其特征向量除以其L2范数,使得每个样本的特征向量长度为1。这在文本分类等需要处理高维度稀疏数据的任务中非常有用。

Batch Normalization:不同于上述针对输入数据的归一化方法,Batch Normalization是在神经网络内部使用的一种技术,通常应用于隐藏层的输出上。它通过对每一批次的小批量数据进行归一化,保持输入到每一层的分布稳定,从而加速训练过程,并允许使用更高的学习率。

Layer Normalization:与Batch Normalization不同,Layer Normalization是基于单个训练样本而不是批次来计算均值和方差,因此不受批次大小的影响,特别适合于循环神经网络(RNN)或需要在线学习的场景。

梯度下降中如何选择\alpha

正常情况下会是这样,如果误差越来越大说明学习率大了。

停止条件:

1.看图达到最小。2.判断收敛(数分那种收敛判定)。

如何选择:

这两种说明学习率太大或者程序有bug。

常用技巧就是将学习率设置的很小。

通常来说:0.001 0.003  0.01 0.03  0.1  0.3 1 ...经常尝试扩大三倍取值。

http://www.lryc.cn/news/529512.html

相关文章:

  • Java 性能优化与新特性
  • 【计算机网络】host文件
  • 【C语言】在Windows上为可执行文件.exe添加自定义图标
  • 爬虫基础(五)爬虫基本原理
  • 力扣【1049. 最后一块石头的重量 II】Java题解(背包问题)
  • FFmpeg rtmp推流直播
  • WordPress Icegram Express插件Sql注入漏洞复现(CVE-2024-2876)(附脚本)
  • 重构字符串(767)
  • IO进程线程复习
  • 深入理解Linux内核的虚拟地址到物理地址转换机制及缓存优化
  • 2025年01月29日Github流行趋势
  • yolov11、yolov8部署的7种方法(yolov11、yolov8部署rknn的7种方法),一天一种部署方法,7天入门部署
  • 【ArcGIS遇上Python】批量提取多波段影像至单个波段
  • Node.js MySQL:深度解析与最佳实践
  • wordpress外贸独立站常用询盘软件
  • Kotlin 委托详解
  • Cursor 简介:AI 如何改变编程体验
  • Fiddler(一) - Fiddler简介_fiddler软件
  • 实测数据处理(Wk算法处理)——SAR成像算法系列(十二)
  • P1775 石子合并(弱化版)
  • 一文回顾讲解Java中的集合框架
  • 多模态论文笔记——NaViT
  • 智能小区物业管理系统推动数字化转型与提升用户居住体验
  • I2C基础知识
  • 护眼好帮手:Windows显示器调节工具
  • MongoDb user自定义 role 添加 action(collStats, EstimateDocumentCount)
  • mysql学习笔记-数据库其他调优策略
  • Office / WPS 公式、Mathtype 公式输入花体字、空心字
  • (done) MIT6.S081 2023 学习笔记 (Day6: LAB5 COW Fork)
  • SYN Flooding的攻击原理