04 supervised learning

Summary:

  • unspervised learning
    • clustering(聚类算法)
    • Anomaly detection(异常检测)
  • Recommender Systems(推荐系统)
  • Reinforcement Learning(强化学习)

一 、 K-means算法

1.Notion

a) K-means做的

​ k-means重复做的两件事中

​ 第一件:是分配簇质心,然后将样本点距离近的变成相关的颜色

​ 第二件:重新遍历所有相同类型的点,然后取平均值,选出新的簇质心,检测每个点距离谁最近

b) some symbol & cost function

04 supervised learning_第1张图片

2. k-means 聚类的步骤

a) Random initialization k

​ 簇质心随机选择样本中的点,然后循环多次选择不同的样本为簇质心,用于来找到 J 最小的时候的簇质心,次数如果太多也会降低效果

04 supervised learning_第2张图片

b ) how many k do we need ?

i . elbow method(肘部法则)

​ 当我们将k 从1增加到m时候,代价函数 J 的函数图像会从大到小的递减,函数会有一个从递减迅速到缓慢的点,类似于人类的肘部 (但是有时很多J都是平缓下降的 没有肘部)
04 supervised learning_第3张图片

二 、 Anomaly detection

1. notion

04 supervised learning_第4张图片
如何计算正态分布的两个变量

04 supervised learning_第5张图片

2. 计算步骤

04 supervised learning_第6张图片

  • 首先算出每一个特征的均值和方差
  • 利用每个特征的方差和均值算出某一个样本中的概率p(x)
  • 用计算出的p(x)和阈值比较,如果满足则表示有问题
  • 查看算法在交叉验证集中没能检测出的异常,然后考虑是否需要新建一个特征,使得发现这些异常
  • 原理: 算出每个样本的feature相较于所有样本中的异常大或者小的feature,然后p(x)乘出来会很小所以标记为异常
    04 supervised learning_第7张图片

3. algorithm evaluation system(异常评估系统)

04 supervised learning_第8张图片

4 . Anomaly detection VS supervised learning

a) how to choose right algorithm

  • 当有很少的正样本时,异常检测算法通常是更合适的选择,负样本用于算p(x)的参数,而正样本只用于测试集中的交叉验证集,用于参数调整和评估
  • 异常检测适用于经常出现新的异常,以前样本不包含的异常,而监督学习适用于垃圾邮件类对类型基本不变的情况

5. choose feature

​ 因为异常检测算法很难找出要忽略的特征 所以选择特征是很重要的

04 supervised learning_第9张图片

​ 首先根据plt.hist函数画出直方图,查看是否类似高斯曲线,如果是则可以直接用,如果不是则对x进行变化,变成x的函数。最后再形成高斯曲线的形式

三、Recommended systems (推荐系统)

1.notion

04 supervised learning_第10张图片

2. 协同过滤算法

		假如我们无法从样本中获取足够的特征时候,怎么才能使用线性回归来

a) cost function

04 supervised learning_第11张图片

在这里插入图片描述

​ b) gradient descent

04 supervised learning_第12张图片

3. Mean Normalization(均值归一化)

作用: 当新用户进行预测时,会直接全部都预测为0,但均值归一化会出手,使得等于已评价用户的平均值。

04 supervised learning_第13张图片

4. build collaborative filtering algorithm by tensorflow

5 . 协同过滤和基于内容的协同过滤对比

04 supervised learning_第14张图片

6 . 从大型目录中推荐

04 supervised learning_第15张图片
04 supervised learning_第16张图片

第一步:检索,找到许多大范围的可以推荐的相似电影

第二步:排名,将用户和检索到的电影的特征向量都输入到这个神经网络中去,得到用户对电影的评分预测值

四 、 Reinforcement learning

​ 做一个奖罚机制,告诉他什么时候做的好,什么时候做不好,在学习的过程中,经常会看到四个变量:状态,行动,奖励,下一个状态

1 . reward of reinforcement learning

​ 最终的奖励不仅仅是单独和目的地的值有关,还有到达的时间有关,奖励等于一步一步的时间的加权值到最后终点的值的乘积

2 . decision on reinforcement learning

​ 找到一个函数,告诉我们程序下一步需要往哪里

3 . import notation

04 supervised learning_第17张图片

4 . State action value function(状态动作价值函数)

​ **Q(state,action)**在某个状态时做出不同动作得到的奖励,如果有办法计算每一个状态的不同动作对应的Q(s,a)则可以得到最大的奖励

5 . Bellman Equation (贝尔曼方程)

a)notion

04 supervised learning_第18张图片

b) Explanation of Equation

04 supervised learning_第19张图片

c) random or stochastic environments(模拟随机的环境)

​ 因为实际的环境中,机器不能完全按照我们的思想去进行,有一定的概率犯错,所以最大化的奖励需要取好多次折扣奖励的平均值,也叫期望

6. 算法的改进

a)mini-batch

​ 既可以用于supervised learning 也可以用于强化学习

作用: 监督学习中,当数据量很大的时候,做梯度下降时,每次只看前一次的数据集的子集,所以迭代的更快

b) soft-update

​ 强化学习算法更好的收敛

a)mini-batch

​ 既可以用于supervised learning 也可以用于强化学习

作用: 监督学习中,当数据量很大的时候,做梯度下降时,每次只看前一次的数据集的子集,所以迭代的更快

b) soft-update

​ 强化学习算法更好的收敛

你可能感兴趣的:(深度学习,机器学习,目标检测,人工智能)