机器学习入门-线性回归算法(原理)

数据:工资和年龄(2个特征)

目标:预测银行会贷款多少钱(标签)

考虑: 工资和年龄影响银行贷款,它们各自的影响大小(参数)

x1, x2 表示的是两个特征(年龄, 工资)

y 是银行最终会借我们多少钱

找到一条最合适线(一些高维点)来最好拟合我们的数据点

假设theta1是年龄的参数, theta2是工资的参数

h0 = theta0 + theta1 * x1 + theta2 * x2  # 目标函数np.dot(X, theta.T)

y = h0 + error  # 真实值与预测值的误差

error = y - h0

由于大多数误差概率都符合高斯分布

p(error) = 1/(sqrt(2pi)*mean) * exp(-(y-h0)^2/2*mean^2)

计算所有x的误差,也就是似然函数

L(theta) =p(error)***

化解为对数似然

loglL(theta) = p(error) ++

化简为了使得对数似然的值越大,即

J(theta) = 0.5sum(y - h0) / len(h0)  最小, 这就是最小二乘法

对J(theta) 依据 theta进行求导操作

最后解得:

求最小值使得偏导等于0, 线性回归是唯一一个可以直接求解的函数

theta = np.dot(x.T * x) ^-1 * x.T * y

原文地址:https://www.cnblogs.com/my-love-is-python/p/10260236.html

时间: 2024-10-14 23:41:26

机器学习入门-线性回归算法(原理)的相关文章

机器学习——简单线性回归(原理推导+算法描述+代码实现)

实验环境:Python 3.6 编辑器:Jupyter Notebook 6.0.1 实验要求:可以调用numpy.pandas基础拓展程序包,不可以调用sklearn机器学 ——————————————————我是分割线喵———————————————————— ————————————(如果想要代码可以直接下拉到最后)———————————— 线性模型的一般形式:   向量形式: 线性模型的优点: 1.形式简单.易于建模 2.可解释性 3.是非线性模型的基础,可以在线性模型的基础上引入层级结

Andrew Ng机器学习入门——线性回归

本人从2017年起,开始涉猎机器学习.作为入门,首先学习的是斯坦福大学Andrew Ng(吴恩达)教授的Coursera课程 2 单变量线性回归 线性回归属于监督学习(Supervise Learning),就是Right answer is given. 课程中,举了一个估计房产价格的例子,在此,我就直接使用两组数据去作为例子使用线性回归,拟合出效果最好的曲线. 2.1 单变量线性回归算法的思路 根据数据的分布,确定模型其中,h(x)是假设函数(Hypothesis Fuction),θ1和θ

通过机器学习的线性回归算法预测股票走势(用Python实现)

在本人的新书里,将通过股票案例讲述Python知识点,让大家在学习Python的同时还能掌握相关的股票知识,所谓一举两得.这里给出以线性回归算法预测股票的案例,以此讲述通过Python的sklearn库实现线性回归预测的技巧. 本文先讲以波士顿房价数据为例,讲述线性回归预测模型的搭建方式,随后将再这个基础上,讲述以线性预测模型预测股票的实现代码.本博文是从本人的新书里摘取的,新书预计今年年底前出版,敬请大家关注. 正文开始(长文预警) ------------------------------

机器学习之Adaboost算法原理

转自:http://www.cnblogs.com/pinard/p/6133937.html 在集成学习原理小结中,我们讲到了集成学习按照个体学习器之间是否存在依赖关系可以分为两类,第一个是个体学习器之间存在强依赖关系,另一类是个体学习器之间不存在强依赖关系.前者的代表算法就是是boosting系列算法.在boosting系列算法中, Adaboost是最著名的算法之一.Adaboost既可以用作分类,也可以用作回归.本文就对Adaboost算法做一个总结. 1. 回顾boosting算法的基

机器学习入门-集成算法(bagging, boosting, stacking)

目的:为了让训练效果更好 bagging:是一种并行的算法,训练多个分类器,取最终结果的平均值 f(x) = 1/M∑fm(x) boosting: 是一种串行的算法,根据前一次的结果,进行加权来提高训练效果 stacking; 是一种堆叠算法,第一步使用多个算法求出结果,再将结果作为特征输入到下一个算法中训练出最终的预测结果 1.Bagging:全程boostap aggregation(说白了是并行训练一堆分类器) 最典型的算法就是随机森林 随机森林的意思就是特征随机抽取,即每一棵数使用60

机器学习入门-K-means算法

无监督问题,我们手里没有标签 聚类:相似的东西聚在一起 难点:如何进行调参 K-means算法 需要制定k值,用来获得到底有几个簇,即几种类型 质心:均值,即向量各维取平均值 距离的度量: 欧式距离和余弦相似度 优化目标: min∑∑dist(ci, xi)   即每种类别的数据到该类别质心距离的之和最小 1-k x 根据上述的工作流程: 第一步:随机选择两个初始点,类别的质心点(图二) 第二步: 根据所选的质心点,根据欧式距离对数据进行分类(图三) 第三步:求得分类后的每个类别的质心(图四)

【机器学习】k-means算法原理自实现

1 import pandas as pd 2 import numpy as np 3 import matplotlib.pyplot as plt 4 from sklearn.cluster import KMeans # 导入k-means 5 6 7 def build_data(): 8 """ 9 构建数据 10 :return:data 11 """ 12 # (1)加载数据 13 data = pd.read_table(&q

线性回归算法原理推导

原文地址:https://www.cnblogs.com/Kctrina/p/9901961.html

机器学习--线性回归算法的原理及优缺点

一.线性回归算法的原理 回归是基于已有数据对新的数据进行预测,比如预测股票走势.这里我们主要讲简单线性回归.基于标准的线性回归,可以扩展出更多的线性回归算法. 假设我们找到了最佳拟合的直线方程 : , 则对每一个样本点    ,根据我们的直线方程,预测值为:,其对应的真值为   . 我们希望    和   的差距尽量小,这里我们用   表达   和  的距离, 考虑所有样本则为: 我们的目标是使   尽可能小,而    ,所以我们要找到  a .b  ,使得  尽可能小. 被称为损失函数或效用函