机器学习第一弹

机器学习定义:计算机程序从经验E中学习解决某一任务T,进行某一性能度量P,通过P测定再T上因经验E而提高
学习算法

  1. 监督学习:我们给的数据集,我们会告诉程序什么是正确的,什么是错误的或者数据集中包括正确答案;算法的目的是给出更多的正确答案
  2. 无监督学习:我们给的数据集,没有标记或者只有一种标记,从中找到某种结构

回归问题:预测连续值输出
分类问题:预测离散值输出。有两种显示形式(平面坐标系,数轴)

聚类问题:给定数据,并将他们分成不同的簇

符号

  • m ->训练样本的数量
  • x ->输入变量,输入样本
  • y -> 输出变量
  • (x, y) -> 训练样本
  • (x^i, y^i) -> 第i 个训练样本
  • -> 个数的缩写

  • h -> 假设函数, 引导从 x 得到 y 的函数

过程

  • 第一步:设计训练样本 Training Set
  • 第二步:通过学习算法Learning Algorithm获得假设函数h(x)
  • 第三步:输入 x 经过 h(x) 得到 y

设计单变量线性回归算法

  • 设假设函数为 h(x) = θ0 + θ1*x
  • 设代价函数(平方误差代价函数)为 J(θ0, θ1) = 1/2*m * Σ(1 - m)(h(x^i) - y^i)²
  • 优化目标 找到最合适的 θ0 和θ1 使代价函数 最小;代价函数越小,拟合越完美
  • Batch 梯度下降算法 :①首先设定θ0,θ1…为 0;
    ②更新数据θ0,θ1…,temp0 = θ0 - α/m Σ(1 - m)(h(x^i) - yi)*x0
    temp1 同理
    ③一步一步求,直到找打优化目标

矩阵版本
n ->特征值的数目
x^i -> 输入第 i 个训练样本的输入特征值
x^i,下边为 j -> 第 i 个 训练样本中第 j 个特征量的值

设h(x) = θ0 + θ1x1 +θ2x2 + θ3*x3 +…
设x0 = 1
x 列向量 = [x0 , x1, x2, x3 , …]
θ 列向量 = [θ1, θ2, θ3, θ4, …]
h(x) = θ^T * x

θj= θj - α/m Σ(1 - m)(h(x^i) - yi)*xj

特征缩放:
为什么需要特征缩放:如果 特征值的比值相差非常大的话,就会导致J(θ)的图像非常陡,迭代的次数也非常多,我们要把他们缩小,这样子可以大幅度的减少迭代次数

例如;
房子大小: x1 = (size - 平均size) / max(size)
卧室个数:x2 = (#bedrooms - 2) / 5
常见的 x1 = (x1 - 平均值)/ (max - min)

学习率:
通过改变α的值观察图像的符合度区寻找α的值,三倍寻找

正规方程
θ = (x^T * x)^-1 X^Ty
正规方程不用特征缩放

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值