机器学习(包括监督学习, 无监督学习, 半监督学习与强化学习)

监督学习(包括分类与线性回归)

分类(标签的值为散列的"yes"或者"no", "good"或者"bad", "have"或者"don't have", 总之是bool值)
训练集:
特征1 特征2 特征3 标签
x x x yes
x x x yes
x x x no |
| learn
|
get the sigmoid function: 机器学习最最重要的一点就是得到一个得分函数(就是机器学习的函数), 而得分函数中的未知量就是各个特征所
对应的权重(weight), 通过训练集中的特征值与标签(标签就是我们指定的3个特征通过函数得到的结果)求解出这些权重, 简单的来讲就相当于
y = kx + b, 题目已经给了我们y与x的一些值, 让我们列出方程求解k与b, 最后得出该得分函数y = kx + b. 得出这个得分函数之后, 进行测试
是必不可要的, 因为我们要测试得出最合适的权重
|
| test
|
测试集:
特征1 特征2 特征3 标签
x x x unknow
x x x unknow
x x x unknow
|
|
|
通过测试发现一开始训练得到的得分函数, 对测试集进行测试得到的标签值与我们预测的有差距, 我们将该差距记录下来, 并记录此时的权重值, 接着重复从训练集中计算权重, 再一个此得到函数, 再和我们预测的比一比, 再一次记录误差和权重, 最终我们设权重为x轴, 误差的值为y轴, 因此就得到了
一个误差与权重的函数图像, 我们称之为损失函数(名字的由来就是因为纵坐标是误差值), 例如:

这三个图都是一个凹函数, 我们只要通过求导求出它的最低点即可, 但是对于计算机来说, 有时候求导并不是像人类求导那么容易, 不行你试一试, 你怎么编写一个程序可以向我们人类一样套用公式求导, 换元什么的, 如果能力强是可以实现的, 但是终归是太麻烦了, 因此对于这类**凹函数**, **注意: 只对凹函数有效果**, 我们一般使用微积分中的梯度下降法, 从x轴的原点出发, 沿着曲线向右走, 对于曲线上的每一个点求出它的梯度, 比较他们的梯度, 找到梯度最小的点, 那个点对应的x坐标值就是我们需要的weight, 带入我们的得分函数就可以了

但是我们得出来的损失函数并不是每一次都是可以是一个凹函数的, 有可能是其他奇形怪状的函数图形, 大多数时候我们要做的就是将该函数凹函数化, 只要可以凹函数化, 我们就可以使用梯度下降的方法求出权重, 从而得出得分函数
在分类中我已经将学习大致的思路讲完了, 所以下面就不会再重复了

线性回归(标签值是连续的)


1. 训练集和测试集与之前的一样
2. 一个最常用的例子就是股票一天收盘的价格了, 将收盘的价格作为标签, 我们知道价格是连续的:-) Over
3. 其实线性回归可以转换为我们上面讲到了分类问题, 那股票收盘的价格为例, 我们规定价格在1000元以上的为good, 在1000元以下的为bad, 这样标签就是good和bad的散列了

无监督学习(与监督学习的训练集相比, 标签是unknown, 包含聚类和分类)

聚类

因为我们在训练的时候就不知道标签的值, 我们以特征1为x, 特征2为y, 得到如下的图像


我们看到, 所谓的聚类就是一些相邻的点组成一个结合:-) Over
PS: 这个图让我浑身不自在:-(
分类

嘿嘿, 你试着在上图中, 连接(0, 15), (20, 0)两个点, 聚类是不是被分成了两个类别了, 当然这个类型的划分是人为规定的

数据的降维

  • 求协方差的去均值是预处理的工程
  • 协方差的集合意义就是向量的內积
  • 去均值就是向量之间的cos(x)
  • 如果一组数据太大, 使用SVD将测试矩阵转为矩阵的乘法, 已达到数据降维

很多机器学习或者统计的算法最后都会转换为一个优化的问题, 就是求损失函数的最小值

  • 一元函数导数为0
  • 多元函数梯度为0, 梯度就是向量(对x的偏导, 对y的偏导, ...), 是竖着的矩阵n x 1
  • 琴生不等式

MachineLearningPreface的更多相关文章

随机推荐

  1. c# 创建XML文档,解析XML文档

    1.静态函数 using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...

  2. C#修饰符讲解大全

    1.修饰符是什么? 修饰符是用于限定类型以及类型成员的声明的一种符号.[百度百科] 2.修饰符分类 13种修饰符,按功能可分为三类:访问修饰符,类修饰符和成员修饰符.[百度百科] 作 用:限定类型以及 ...

  3. localStorage、sessionStorage、cookie的有效期和作用域问题

    sessionStorage,localStorage,cookie都可以实现客户端存储,三者的区别有哪些了? cookie作为最早期的被设计web浏览器存储少量数据,从底层看,它是作为http协议的 ...

  4. 【图灵学院10】高并发之java线程池源码分析

    1. 提纲 1)线程池的模块结构 2)示例&原理解析 2. 问题 1)线程池包含哪些东西 2)线程池的运作原理 3)调度线程池的运作原理 4)线程池怎么实现FixRate,FixDelay,他 ...

  5. 状压DP 【洛谷P3694】 邦邦的大合唱站队

    [洛谷P3694] 邦邦的大合唱站队 题目背景 BanG Dream!里的所有偶像乐队要一起大合唱,不过在排队上出了一些问题. 题目描述 N个偶像排成一列,他们来自M个不同的乐队.每个团队至少有一个偶 ...

  6. socket中close发生的事情,RST,pipe信号错误

    1.server端close之后,client端write,导致server端发送RST(服务器关闭套接字):对方已经关闭或者异常终止,但是client端,不知道,这个成为半打开 当server端cl ...

  7. CF352A Jeff and Digits

    Jeff's got n cards, each card contains either digit 0, or digit 5. Jeff can choose several cards and ...

  8. 模拟使用zookeeper实现master选举

    1.模拟选举机器类 package com.karat.cn.zookeeperAchieveLock.zkclient; import java.io.Serializable; /** * 选举的 ...

  9. HDU5952 Counting Cliques计算完全图的个数 巧妙构图+dfs

    题目传送门 题目大意:给出n个点,m条无向边,让你计算这幅母图中有几个大小为s的完全图. 完全图的意思是任意一个点都和其他点直接相连,完全图的大小指的就是完全图点的个数. 思路:比较巧妙的构图方式.我 ...

  10. EXCEL 导入SQL SERVER 方法

    1.注意:确认是否已安装 AccessDatabaseEngine.exe 2.可视化按提示操作.