线性回归

面试必备资源!程序员面试——算法工程师面试大全第二部分

泪湿孤枕 提交于 2020-02-25 10:43:30
1.逻辑回归怎么实现多分类 方式一:修改逻辑回归的损失函数,使用 softmax 函数构造模型解决多分类问题,softmax 分 类模型会有相同于类别数的输出,输出的值为对于样本属于各个类别的概率,最后对于样本进行 预测的类型为概率值最高的那个类别. 方式二:根据每个类别都建立一个二分类器,本类别的样本标签定义为 0,其它分类样本标签 定义为 1,则有多少个类别就构造多少个逻辑回归分类器 若所有类别之间有明显的互斥则使用softmax 分类器, 若所有类别不互斥有交叉的情况则构造相应类别个数的逻辑回归分类器. 2.SVM 中什么时候用线性核什么时候用高斯核? 当数据的特征提取的较好,所包含的信息量足够大,很多问题是线性可分的那么可以采用线性核.若特征数较少,样本数适中,对于时间不敏感,遇到的问题是线性不可分的时候可以使用高 斯核来达到更好的效果. 3.什么是支持向量机,SVM 与 LR 的区别? 支持向量机为一个二分类模型,它的基本模型定义为特征空间上的间隔最大的线性分类器.而它的学习策略为最大化分类间隔,最终可转化为凸二次规划问题求解. LR 是参数模型,SVM 为非参数模型.LR 采用的损失函数为 logistical loss,而 SVM 采用的是 hinge loss.在学习分类器的时候,SVM 只考虑与分类最相关的少数支持向量点.LR 的模型相对简单

《封号码罗》数据分析与人工智能之sklearn回归问题(八)

别来无恙 提交于 2020-02-22 20:50:37
第一部分 # 回归问题 回归曲线 --->预测 # 分类是有限的,回归是无限的 import numpy as np import pandas as pd from sklearn . neighbors import KNeighborsClassifier # 分类问题 from sklearn . neighbors import KNeighborsRegressor # 回归问题 import matplotlib . pyplot as plt import time # x和y之间的关系是线性的 x = np . array ( [ 0 , 1 , 2 , 3 , 4 ] ) y = np . array ( [ 1 , 3 , 5 , 7 , 9 ] ) plt . plot ( x , y ) plt . show ( ) # f = lambda x: 2 * x + 1 # f(x) = 2x + 1 # 回归要解决的问题就是解方程 # 线性回归 关键词就是最小二乘法,线性 # 普通线性回归 # 方程推导 # x + y + z = 3 # 2x + y - z = 3 # 3x -y + 4z = 6 # X = np.array([[1, 1, 1], [2, 1, 1 - 1], [3, -1, 4]]) # 方程的系数组成的数组 # w = [x,

单变量线性回归的最小二乘法公式

寵の児 提交于 2020-02-22 18:58:17
单变量线性回归的最小二乘法公式 单变量线性回归 线性回归系数的确定 导数方法 配方法 简单程序验证 单变量线性回归 假设有 n n n 个点 ( x 1 ,   y 1 ) ,   ( x 2 ,   y 2 ) , ⋯   ,   ( x n ,   y n ) (x_1, \, y_1), \, (x_2, \, y_2), \cdots, \, (x_n, \, y_n) ( x 1 ​ , y 1 ​ ) , ( x 2 ​ , y 2 ​ ) , ⋯ , ( x n ​ , y n ​ ) , 我们希望用一个线性关系 y = β 0 + β 1 x y = \beta_0 + \beta_1 x y = β 0 ​ + β 1 ​ x 来拟合这 n n n 个点。 β 0 \beta_0 β 0 ​ 与 β 1 \beta_1 β 1 ​ 的值须要通过使 RSS = ∑ i = 1 n ( y i − ( β 0 + β 1 x i ) ) 2 \displaystyle \text{RSS} = \sum_{i = 1}^n \left( y_i - (\beta_0 + \beta_1 x_i) \right)^2 RSS = i = 1 ∑ n ​ ( y i ​ − ( β 0 ​ + β 1 ​ x i ​ ) ) 2 最小来确定。这里 R S S RSS R

线回与非线回---线性回归标准方程法

廉价感情. 提交于 2020-02-21 17:21:12
前言: 解决线性回归问题不仅可以使用梯度下降法,还可以使用标准方程法,今天我将尝试用标准方程法来解决问题 正文: #老朋友就不介绍了 import numpy as np from numpy import genfromtxt import matplotlib.pyplot as plt #载入数据 data = np.genfromtxt("data.csv",delimiter = ",") #增加维度 x_data = data[:,0,np.newaxis] y_data = data[:,1,np.newaxis] #描点画图 plt.scatter(x_data,y_data) plt.show() 图片展示: #np.mat函数用来把数据转化为数组矩阵 print(np.mat(x_data).shape) print(np.mat(y_data).shape) #给样本添加偏置项 #用concatenate函数来合并项 #np.ones函数来创建全为1数组矩阵 x_data = np.concatenate((np.ones((100,1)),x_data),axis = 1) print(x_data.shape) 图片显示如下: 可以看到x_data修改后的格式 #用标准方程来求参数 def weights(xArr,yArr): #用mat函数来生成矩阵

机器学习——从线性回归到逻辑回归【附详细推导和代码】

♀尐吖头ヾ 提交于 2020-02-19 09:34:54
本文始发于个人公众号: TechFlow ,原创不易,求个关注 在之前的文章当中,我们推导了线性回归的公式,线性回归本质是线性函数,模型的原理不难,核心是求解模型参数的过程。通过对线性回归的推导和学习,我们基本上了解了机器学习模型学习的过程,这是机器学习的精髓,要比单个模型的原理重要得多。 新关注和有所遗忘的同学可以点击下方的链接回顾一下之前的线性回归和梯度下降的内容。 一文讲透梯度下降法 详细推导线性回归模型 回归与分类 在机器学习当中,模型根据预测结果的不同分为两类,如果我们希望模型预测一个或者多个连续值,这类问题被称为是回归问题。像是常见的未来股票价格的估计、未来温度估计等等都算是回归问题。还有一类呢是分类问题,模型的预测结果是一个离散值,也就是说只有固定的种类的结果。常见的有垃圾邮件识别、网页图片鉴黄等等。 我们之前介绍的逻辑回归顾名思义是一个回归问题,今天的文章讲的呢是如何将这个回归模型转化成分类模型,这个由线性回归推导得到的分类模型称为 逻辑回归 。 逻辑回归 逻辑回归这个模型很神奇,虽然它的本质也是回归,但是它是一个分类模型,并且它的名字当中又包含”回归“两个字,未免让人觉得莫名其妙。 如果是初学者,觉得头晕是正常的,没关系,让我们一点点捋清楚。 让我们先回到线性回归,我们都知道,线性回归当中 \(y=WX+b\) 。我们通过W和b可以求出X对应的y

[机器学习]第三周记录

笑着哭i 提交于 2020-02-16 21:20:57
1.线性回归不适用于分类问题。 原因:1.单个样本对于线性回归可能会造成很大的影响。    2.函数的输出值可能非常大,非常离谱。 2.逻辑回归(logistic regression):一种 分类 算法。是广义线性回归,$h(x)=g(\theta^{T}x)$,其中 $g(x)=\frac{1}{1+e^{-x}}$ 被称为logistic函数,或sigmoid函数。 3.记号:$h_{\theta}(x)=P(y=1|x;\theta)$,即在theta参数和x的条件下,y等于1的概率。 4.决策边界(decision boundary):$h(x)=0$的解集,这是 h函数、参数 的属性,而 不是数据集 的属性。 5.逻辑回归可以像以前特征缩放一样使用多项式,这样就造成其可拟合很多类型的数据集。 6.逻辑回归问题:   h函数,$h_{\theta}{(x)}=\frac{1}{1+e^{-\theta^{T}x}}$   (x (i) ,y (i) )第i样样本,输入为x,输出为y   最小化$\frac{1}{m}\sum{cost(h_{\theta}(x^{(i)}),y^{(i)})}$   可以发现,如果直接使用梯度下降法,非常容易会停留在局部最优值上,因此代价函数不能使用平方误差函数。   而我们的麻烦之处,正在于e次方上,我们便尝试使用对数函数来去掉它的影响

动手学深度学习——学习笔记(Task1)

杀马特。学长 韩版系。学妹 提交于 2020-02-16 10:06:00
作为机器学习的一类,深度学习通常基于神经网络型逐级表示越来越抽象的概念或模式。我们先从线性回归和 softmax 回归这两种单层神经网络,简要介绍机器学习中的基本概念。然后,我们由单层神经网络延伸到多层神经网络,并通多层感知机引出深度学习模型。在观察和了解了模型的过拟合现象后,我们将介绍深度学习中对过拟合的常用方法:权重衰减和丢弃法。 线性回归 线性回归输出是一个连续值,因此适用于回归问题。 线性回归模型表示形式 损失函数 优化算法 随机梯度下降方法 总结 :线性回归基本要素包括模型、训练数据、损失函数和优化算法。 Softmax回归 softmax回归适用于分类问题。 softmax表示形式 softmax运算原理 交叉熵损失函数 总结 :softmax回归是单层神经⽹络,输出个数等于分类问题中的类别个数;交叉熵适合衡量两个概率分布的差异。 多层感知机 多层感知机在单层神经网络的基础上引入了1到多个隐藏层(hidden layer)。隐藏层位于输入和输出层之间。 多层感知机表示形式 数学表达式为 激活函数 常用激活函数有: ReLu函数 sigmoid函数 tanh函数 总结: 多层感知机在输出层与输入层之间加上了1个或多个全连接隐藏层,并通过激活函数对隐藏层输出进行变换。 来源: CSDN 作者: 轻沉 链接: https://blog.csdn.net/qq_44915960

深度学习基础

你说的曾经没有我的故事 提交于 2020-02-16 04:00:38
感谢伯禹教育、Datawhale组织的活动 一、线性回归 (1)模型 为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系: (2)数据集 我们通常收集一系列的真实数据,例如多栋房屋的真实售出价格和它们对应的面积和房龄。我们希望在这个数据上面寻找模型参数来使模型的预测价格与真实价格的误差最小。在机器学习术语里,该数据集被称为训练数据集(training data set)或训练集(training set),一栋房屋被称为一个样本(sample),其真实售出价格叫作标签(label),用来预测标签的两个因素叫作特征(feature)。特征用来表征样本的特点。 (3)损失函数 在模型训练中,我们需要衡量价格预测值与真实值之间的误差。通常我们会选取一个非负数作为误差,且数值越小表示误差越小。一个常用的选择是平方函数。 它在评估索引为i的样本误差的表达式为: (4)优化函数 - 随机梯度下降 当模型和损失函数形式较为简单时,上面的误差最小化问题的解可以直接用公式表达出来。这类解叫作解析解(analytical solution)。本节使用的线性回归和平方误差刚好属于这个范畴。然而,大多数深度学习模型并没有解析解

公益AI第一次学习打卡

我只是一个虾纸丫 提交于 2020-02-16 03:18:10
Task01 线性回归;Softmax与分类模型;多层感知机 经过第一天的学习,加深了自己对于深度学习基础知识理解。虽然之前自己对于这方面的知识有过了解,但还是有不清楚的地方。下面是对自己的知识进行查漏补缺的一个总结。 线性回归 在线性回归课程中,对于两个形状相同的类做按元素运算,对于形状不同的两个类按元素运算时,可能会触发广播机制:先适当复制元素使这两个类形状相同后再按元素运算。 其中的广播机制常常在矩阵的维度不同时使用。 在线性回归中,对于损失函数中的预测值和实际值的理解是这次的收获之一。其中y _hat的形状是[n,1],而y的形状是[n],两者相减得到的结果的形状是[n,n]。在pytorch中,利用view函数,是的两者形状一致,便可以相减。 Softmax与分类模型 在这一讲的课程中,提到了梯度清零这个概念。在pytorch深度学习框架中,加入了梯度累加机制,是的模型的训练速率加快,但有时我们并不需要进行梯度累加,避免前一次训练的梯度对下一次造成影响,这时,我们可以手动清零,降低影响。 多层感知机 验证集、训练集、测试集,这三者之间的关系的区分为后续深度学习的系统学习打下了基础。训练集是模型训练时使用的数据集,而测试集是指在模型训练好后,测试模型性能的数据集;验证集是指在每一次训练完成后,对于模型进行选择的数据集。 Task02 文本预处理;语言模型;循环神经网络

线性回归

烂漫一生 提交于 2020-02-16 01:15:56
线性回归 模型 为了简单起见,这里我们假设价格只取决于房屋状况的两个因素,即面积(平方米)和房龄(年)。接下来我们希望探索价格与这两个因素的具体关系。线性回归假设输出与各个输入之间是线性关系: price=warea⋅area+wage⋅age+b 数据集 我们通常收集一系列的真实数据,例如多栋房屋的真实售出价格和它们对应的面积和房龄。我们希望在这个数据上面寻找模型参数来使模型的预测价格与真实价格的误差最小。在机器学习术语里,该数据集被称为训练数据集(training data set)或训练集(training set),一栋房屋被称为一个样本(sample),其真实售出价格叫作标签(label),用来预测标签的两个因素叫作特征(feature)。特征用来表征样本的特点。 损失函数 在模型训练中,我们需要衡量价格预测值与真实值之间的误差。通常我们会选取一个非负数作为误差,且数值越小表示误差越小。一个常用的选择是平方函数。 它在评估索引为 i 的样本误差的表达式为 l(i)(w,b)=12(y^(i)−y(i))2, L(w,b)=1n∑i=1nl(i)(w,b)=1n∑i=1n12(w⊤x(i)+b−y(i))2. 优化函数 - 随机梯度下降 当模型和损失函数形式较为简单时,上面的误差最小化问题的解可以直接用公式表达出来。这类解叫作解析解(analytical solution)