机器学习算法(一):1. numpy从零实现线性回归

本文详细介绍了如何使用numpy从零实现线性回归,包括全向量化和非全向量化两种方法。通过理论介绍、代码实现、损失函数计算和梯度下降法,逐步解析线性回归模型。同时,作者强调了向量化的优点,并给出了两种实现方式的训练和可视化过程。
摘要由CSDN通过智能技术生成

系列文章目录

机器学习算法(一):1. numpy从零实现线性回归
机器学习算法(一):2. 线性回归之多项式回归(特征选取)


前言

最近,想将本科学过的一些机器学习算法从零开始实现一下,毕竟天天当调包侠,虽然也能够很愉快的玩耍,但对于我这个强迫症患者是很难受的,底层逻辑是怎么样的,还是需要知道的。接下来我会从最简单的多元线性回归开始,一步一步在 j u p y t e r jupyter jupyter里面实现。
【注1】:本文默认读者具有基本的机器学习基础、 n u m p y numpy numpy基础,如果没有建议看完吴恩达老师的机器学习课程在来看本文。
【注2】:本文大部分代码会采用向量化加速编程,当然部分情况下也会用到循环遍历的情况。后面有时间会再出一起循环遍历实现的。
【注3】:作者实力有限,有错在所难免,欢迎大家指出。

一、理论介绍(全向量化)

线性回归的预测函数:
y = w 1 x 1 + w 2 x 2 + . . . + w n x n + b y = w_1x_1+w_2x_2+...+w_nx_n+b y=w1x1+w2x2+...+wnxn+b
写成向量的形式: y = w T x + b y = \mathbf{w^Tx}+b y=wTx+b
其中: w = ( w 1 , . . . , w n ) T , x = ( x 1 , . . . , x n ) T \mathbf{w} = (w_1,...,w_n)^T,\mathbf{x}=(x_1,...,x_n)^T w=(w1,...,wn)T,x=(x1,...,xn)T
为了编程方便,将 b b b收缩到 w w w向量里面去,有 w = ( w 0 , w 1 , . . . , w n ) T , w 0 = b \mathbf{w} = (w_0,w_1,...,w_n)^T,w_0=b w=(w0,w1,...,wn)T,w0=b
x = ( x 0 , x 1 , . . . , x n ) T , x 0 = 1 \mathbf{x}=(x_0,x_1,...,x_n)^T,x_0=1 x=(x0,x1,...,xn)T,x

  • 23
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值