吴恩达 Machine Learning(Class 3)

Week 1

1.1 K-means

Cluster centroid

  • K-means 是无监督学习中聚类算法的一种,核心在于更新聚类质心;
  • 首先将每个点分配给几个聚类质心,取决于那些点离哪个质心更近;然后将几个聚类质心移动到分配给他的所有点的平均值,不断重复,直到没有点更改类别;

K-means algorithm

  • 如果一个簇里面没有点分配给他,最常见的方法就是消除一个簇;
  • 总的来说,减少 cost 的两步:就近分配中心点,中心点移动到平均点;
  • 对于没有很好分离的样本族群:

Optimization objective

  • 指的每个点, 指的每个点被分配给的簇, 是簇质心位置, 所属簇的质心位置;
  • 损失 J = 每个数据到其最近质心的距离平方的平均值;
  • 这个损失函数还有一个别名:失真函数(distortion funtion);

Initializing K-means

  • 更常见的初始化质心位置的方法:将质心分配到几个训练数据的位置上;
  • 在经过多次的随机初始化后,选取 J 最低的初始化方式;

Choosing the value of K

  • 如何选择聚类的数量 K,需要平衡 K 与 J 的关系,但是一般不会为了降低 J 而增加 K;
  • 最合适的选择还是和实际情况相结合:

1.2 Anomaly Detection

Example and Solution

  • 这里记录的数据为飞机引擎温度与振动强度,越接近密集区的数据越正常,越偏离越异常;
  • 一种最常见的方法是密度估计:

Gaussion/Normal Distribution

  • 正态分布:
  • 越接近中间的数据越正常:

Algorithm

  • 概率密度函数不表示概率,但是概率密度函数的值可以表示取这个值附近的点的概率;
  • 计算每个特征的概率密度,然后累乘,最后比较;
  • 二维的正态分布如果是独立的,那么联合概率分布就等于两个相乘;
  • 将计算出的概率密度与预先设定好的 相比较,如果小于它,则为异常;

Evaluating system

  • 评估系统:设立交叉验证集和测试集,或者只保留交叉验证集,训练集不包含异常数据;
  • 相当于用无标注的训练集训练出一个特定均值和方差的正态分布,并默认两端的极值是不正常的。再通过测试集来调整阈值,使得阈值之上的都是正常的,阈值之外的都是不正常的。
  • 利用交叉验证集和倾斜数据集里的F1 score计算出最合适的

Compared with supervised learning

  • 异常检测面对未知异常情况,监督学习面对已知异常的所有可能;
  • 本质区别:一个反向排除,一个正向学习;

Choosing featrues

  • 选择更接近高斯分布的特征集,或者将其转化为类似高斯分布的特征集;
  • 如果已有特征无法分辨该数据是否异常(计算得出是异常,但与其他示例又十分接近),则试图找出是什么让我认为是一个异常,由此识别出新特征;
  • 组合原有特征合成新的特征:

Week 2

2.1 Recommender System

Making recommendations

  • 电影评分:r(i, j) 表示用户 j 是否对电影 i 进行评分,y(i, j) 表示用户 j 对电影 i 的评分;
  • 为用户数, 为电影数;

Using featrues

  • n 为特征数,这里为每个用户构建一个线性模型:
  • 表示用户 j 有评分的电影数量,注意这里求和的是 r = 1 的用户,就是有评分的数据;;
  • 计算损失:

Collaborative filtering algorithm

  • 协同过滤算法:特征向量未知,但是参数 w, b 已知;
  • 也就是说我们可以通过用户对电影的评分然后计算出参数 w 和 b。然后计算出 w 和 b 后,就可以通过数据来预测对未知电影特征进行评分;
  • 计算损失:注意这里的正则化是用 x 而不是 w;
  • 结合两个损失公式,得到总体成本函数(类似线性回归,但是包含三个变量):
  • 这里的求和项只是变了一种形式而已。第一个表示先对列求和,在对行求和。第二个则表示先对行求和,再对列求和。最后这个再形式上化简了,没有行和列的概念。直接对每个(i,j)对求和;

Binary labels

  • 二进制标签应用:1代表看到了且参与,0代表看到了但是未参与,?代表没有看到;
  • 计算损失(类似 logistic 回归,只是包含三个参数):

2.2 Mean Normalization

  • 均值归一化:一个新用户,没有任何信息,但是我们不能不给TA推东西,所以要靠取均值来进行冷启动;这里做的是行归一化,参数初始化为 0;
  • 行归一是对于新用户的预测更加合理,列归一是对于新电影的预测更加合理;
  • 通过计算两个特征向量间的差平方和,从而判断两者是否相似:

Cold start

  • 协同过滤的限制:1.冷启动问题(初始数据不足)2.难以利用其他信息;

2.4 Content-based filtering

Compared with Collborative filtering

  • 基于内容过滤:通过用户和电影的特征,计算两者间的匹配度;
  • 分别代表用户,电影的特征向量:

Learning to match

  • 通过 计算出 ,并且两者大小需要相同,然后进行点积计算得到用户对某电影的预估分数:

Neural network

  • 利用神经网络将特征向量变换为 ,可以做点积得到电影预估分数,也可以再利用一次 logistic 回归计算喜欢概率:
  • 计算损失:
  • 还可以利用这个方法区找到相似电影:

2.5 Large catalogue

Retrieval

  • 第一步是检索:按照计算出的最相似的电影、常看题材的Top10、总榜单Top20,并且删除已经看过的,可以先得到一个粗略的较大列表;

Ranking

  • 第二步:将检索的电影带入模型计算预测分数,按照分数进行排名推荐;

Week 3

3.1 Reinforcement Learning

  • 强化学习:核心在于指定一个奖励函数,告诉它什么时候做得好,什么时候做的不好,算法的工作是自动找出如何选择好的动作;

Mars Rover Example

  • 火星探测器:这里的(s,a,R(s),s')表示(状态,动作,当前状态的奖励,下一个状态);

Return

  • 强化学习的回报:每走一步都要乘以一个折扣因子,由此计算回报;
  • 这里是几种不同的选择:一直向左、右,还有根据计算结果选择方向;

Policy

  • 强化学习中的策略: 表示在 s 处的行动是 a;

Markov Decision Process

  • 马尔科夫决策过程:未来只取决于你现在在哪里,而不管你是怎么到这里的;

3.2 State-action value function

  • 状态 - 动作价值函数:Q(s,a)表示在 s 处做出动作 a 得到的回报;
  • 注意这里第一个计算的是先向右一步,再掉头的策略;

Picking actions

  • 如何采取行动:需要选择 Q 函数最大的策略;

Bellman Equation

  • 贝尔曼方程:原理就是递归方程,注意终端状态下计算没有第二项;

3.3 Continuous State

  • 连续状态空间应用:

Lunar Lander Problem

  • 登月器问题 - 奖励函数:

Algorithm

  • DQN算法(Deep Q-Network):
  • 算法改进:输出值设为 4 个,方便选择最大值;

Epsilon - greedy policy

相关推荐
山烛5 小时前
矿物分类系统开发笔记(一):数据预处理
人工智能·python·机器学习·矿物分类
admiraldeworm5 小时前
Spring Boot + Spring AI 最小可运行 Demo
java·人工智能·ai
算法_小学生6 小时前
长短期记忆网络(LSTM)
人工智能·rnn·lstm
Virgil1396 小时前
【TrOCR】模型预训练权重各个文件解读
人工智能·pytorch·计算机视觉·自然语言处理·ocr·transformer
MaxCode-16 小时前
【机器学习 / 深度学习】基础教程
人工智能·深度学习·机器学习
wjt1020206 小时前
机器学习--续
算法·机器学习
先做个垃圾出来………6 小时前
神经网络(Neural Network, NN)
人工智能·深度学习·神经网络
我希望的一路生花7 小时前
Nik Collection 6.2全新版Nik降噪锐化调色PS/LR插件
人工智能·计算机视觉·设计模式·stable diffusion·aigc
.银河系.7 小时前
819 机器学习-决策树2
人工智能·决策树·机器学习