【机器学习】多变量线性回归

这篇具有很好参考价值的文章主要介绍了【机器学习】多变量线性回归。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Liner Regression with Multiple Variable

用向量实现的代码,单变量和多变量可以共用

多变量线性回归相当于是单变量的扩展,主要还是按照模型假设、构造代价函数和研究代价函数的最小值这样的思路展开。

与单变量线性回归不同的是,多变量线性回归还可能涉及到特征缩放的问题,主要原因是存在着不同尺度的特征变量,为了使得梯度下降能够快速地收敛,需要将这些特征变量统一尺度(类似于归一化的思想)

相比于单变量线性回归,多变量线性回归在求解代价函数的特征方程时,除了可以使用梯度下降法,还可以使用正则方程。根据特征变量的多少,灵活地选择这两种方法。

线性回归模型

数学表达式

\[f_{\vec{w}, b}(\vec{x}) = w_1x_1+…+w_nx_n+b \]

or

\[ f_{\mathbf{w},b}(\mathbf{x}) = \mathbf{w} \cdot \mathbf{x} + b \]
\[\mathbf{X} = \begin{pmatrix} x^{(0)}_0 & x^{(0)}_1 & \cdots & x^{(0)}_{n-1} \\ x^{(1)}_0 & x^{(1)}_1 & \cdots & x^{(1)}_{n-1} \\ \cdots \\ x^{(m-1)}_0 & x^{(m-1)}_1 & \cdots & x^{(m-1)}_{n-1} \end{pmatrix} \]
\[\mathbf{w} = \begin{pmatrix} w_0 \\ w_1 \\ \cdots \\ w_{n-1} \end{pmatrix} \]

Feature scaling

当参数的差距在几个数量级时或参数导致模型溢出时,需要缩放特征,以提高梯度下降的速度

数学表达式

Feature scaling Mean normalization Z-score normalization
\(x_{j, scaled} = \frac{x_j} {max},x_j \in [0,1]\) \(x_{j} = \frac{x_j - \mu_j}{max - min},x_j \in [-1, 1]\) \(x_j = \frac{x_j - \mu_j}{\sigma_j},x_j \in [-3,3]\)

代码

def zscore_normalize_features(X):
    """
    computes  X, zcore normalized by column
    
    Args:
      X (ndarray): Shape (m,n) input data, m examples, n features
      
    Returns:
      X_norm (ndarray): Shape (m,n)  input normalized by column
      mu (ndarray):     Shape (n,)   mean of each feature
      sigma (ndarray):  Shape (n,)   standard deviation of each feature
    """
    # find the mean of each column/feature
    mu     = np.mean(X, axis=0)                 # mu will have shape (n,)
    # find the standard deviation of each column/feature
    sigma  = np.std(X, axis=0)                  # sigma will have shape (n,)
    # element-wise, subtract mu for that column from each example, divide by std for that column
    X_norm = (X - mu) / sigma      

    return (X_norm, mu, sigma)

Cost Function

数学表达式

\[J(w_1,…,w_n,b) \]

Gradient Descent

数学表达式

\[\begin{align*} \text{repeat}&\text{ until convergence:} \; \lbrace \newline\; & w_j = w_j - \alpha \frac{\partial J(\mathbf{w},b)}{\partial w_j} & \text{for j = 0..n-1}\newline &b\ \ = b - \alpha \frac{\partial J(\mathbf{w},b)}{\partial b} \newline \rbrace \end{align*} \]

Normal equation

仅适用于线性回归 && 求解时不迭代文章来源地址https://www.toymoban.com/news/detail-617494.html

到了这里,关于【机器学习】多变量线性回归的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【吴恩达·机器学习】第二章:单变量线性回归模型(代价函数、梯度下降、学习率、batch)

    博主简介: 努力学习的22级计算机科学与技术本科生一枚🌸 博主主页: @Yaoyao2024 每日一言🌼: 勇敢的人,不是不落泪的人,而是愿意含着泪继续奔跑的人。 ——《朗读者》 本系列博客文章是博主本人根据吴恩达老师2022年的机器学习课程所学而写,主要包括老师的核心讲义

    2024年02月19日
    浏览(48)
  • 机器学习(六):回归分析——鸢尾花多变量回归、逻辑回归三分类只用numpy,sigmoid、实现RANSAC 线性拟合

    [ 实验1 回归分析] 一、 预备知识 使用梯度下降法求解多变量回归问题 数据集 Iris 鸢尾花数据集是一个经典数据集,在统计学习和机器学习领域都经常被用作示例。数据集内包含 3 类共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:花萼长度、花萼宽度、花瓣长度、

    2023年04月13日
    浏览(82)
  • 机器学习:逻辑回归(Logistic Regression)

    Logistic Regression. 本文目录: 逻辑回归模型 Logistic函数 交叉熵损失 梯度下降法 核逻辑回归 逻辑回归(logistic regression) 是一种二分类模型,其思想是通过引入一个函数将线性回归的输出限制在 [ 0 , 1 ] [0,1] [ 0 , 1

    2024年02月09日
    浏览(53)
  • 机器学习11:逻辑回归-Logistic Regression

    目录 1.计算概率 2.损失和正则化 2.1 逻辑回归的损失函数 2.2 逻辑回归中的正则化 3.参考文献

    2024年02月11日
    浏览(62)
  • 机器学习:基于逻辑回归(Logistic Regression)对股票客户流失预测分析

    作者:i阿极 作者简介:Python领域新星作者、多项比赛获奖者:博主个人首页 😊😊😊如果觉得文章不错或能帮助到你学习,可以点赞👍收藏📁评论📒+关注哦!👍👍👍 📜📜📜如果有小伙伴需要数据集和学习交流,文章下方有交流学习区!一起学习进步!💪 专栏案例:

    2023年04月26日
    浏览(52)
  • 吴恩达老师《机器学习》课后习题2之逻辑回归(logistic_regression)

    用于解决输出标签y为0或1的二元分类问题 判断邮件是否属于垃圾邮件? 银行卡交易是否属于诈骗? 肿瘤是否为良性? 等等。 案例:根据学生的两门学生成绩,建立一个逻辑回归模型,预测该学生是否会被大学录取 数据集:ex2data1.txt python实现逻辑回归, 目标:建立分类器(求

    2024年02月09日
    浏览(47)
  • 机器学习——线性回归/岭回归/Lasso回归

    线性回归会用到python第三方库:sklearn.linear_model中的LinearRegression 导入第三方库的方法:from sklearn.linear_model import LinearRegression 使用LinearRegression(二维数据,一维数据)进行预测,其中数据类型可以是pandas中的DataFrame或者series,也可以是numpy中的array数据,但维度一定要正确输入。

    2024年02月10日
    浏览(47)
  • 机器学习~从入门到精通(二)线性回归算法和多元线性回归

    SimpleLinearRegression.py moduel_selection.py draft.py lin_fit(x,y) lin_fit2(x,y) x.shape y.shape MSE mean squared error 均方误差 R squared error

    2024年02月01日
    浏览(71)
  • Spark-机器学习(3)回归学习之线性回归

    在之前的文章中,我们了解我们的机器学习,了解我们spark机器学习中的特征提取和我们的tf-idf,word2vec算法。想了解的朋友可以查看这篇文章。同时,希望我的文章能帮助到你,如果觉得我的文章写的不错,请留下你宝贵的点赞,谢谢。 Spark-机器学习(2)特征工程之特征提

    2024年04月22日
    浏览(44)
  • 【机器学习】线性回归模型详解

    PS:本文有一定阅读门槛,如果有不明白的地方欢迎评论询问! 接下来我们将要学习我们的第一个模型——线性回归。比如说我需要根据数据预测某个面积的房子可以卖多少钱 接下来我们会用到以下符号: m:训练样本数量 x:输入值,又称为属性值 y:输出值,是我们需要的结果

    2024年02月03日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包