机器学习入门系列--(1)简介及线性回归模型

本文深入探讨了人工智能、机器学习和深度学习的区别与联系。机器学习作为人工智能的一个子集,依赖于大量数据进行学习,而深度学习则进一步发展,特别是通过神经网络实现对复杂问题的解决。此外,介绍了有监督学习中的线性回归,包括其目标函数、损失函数和优化方法。机器学习中的关键术语如标签、特征和模型也被详细阐述。
摘要由CSDN通过智能技术生成

 

1.人工智能、机器学习和深度学习的区别与联系

人工智能(Artificial Intelligence)

  人工智能是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门技术科学。“人工智能”是“一门技术科学”,它研究与开发的对象是“理论、技术及应用系统”,研究的目的是为了“模拟、延伸和扩展人的智能”。我们现在看到的貌似很高端的技术,如图像识别、NLP,其实依然没有脱离这个范围,就是“模拟人在看图方面的智能”和“模拟人在听话方面的智能”,本质上和“模拟人在计算方面的智能”没啥两样,虽然难度有高低,但目的是一样的——模拟、延伸和扩展人的智能。另外,人工智能在50年代就提出了。

机器学习

  随着人对计算机科学的期望越来越高,要求它解决的问题越来越复杂,已经远远不能满足人们的诉求了。于是有人提出了一个新的思路——能否不为难码农,让机器自己去学习呢?

  机器学习就是用算法解析数据,不断学习,对世界中发生的事做出判断和预测的一项技术。研究人员不会亲手编写软件、确定特殊指令集、然后让程序完成特殊任务;相反,研究人员会用大量数据和算法“训练”机器,让机器学会如何执行任务。这里有三个重要的信息:1、“机器学习”是“模拟、延伸和扩展人的智能”的一条路径,所以是人工智能的一个子集;2、“机器学习”是要基于大量数据的,也就是说它的“智能”是用大量数据喂出来的;3、正是因为要处理海量数据,所以大数据技术尤为重要;“机器学习”只是大数据技术上的一个应用。常用的10大机器学习算法有:决策树、随机森林、逻辑回归、SVM、朴素贝叶斯、K最近邻算法、K均值算法、Adaboost算法、神经网络、马尔科夫。

深度学习

  相较而言,深度学习是一个比较新的概念,严格地说是2006年提出的。深度学习是用于建立、模拟人脑进行分析学习的神经网络,并模仿人脑的机制来解释数据的一种机器学习技术。它的基本特点,是试图模仿大脑的神经元之间传递,处理信息的模式。最显著的应用是计算机视觉和自然语言处理(NLP)领域。显然,“深度学习”是与机器学习中的“神经网络”是强相关,“神经网络”也是其主要的算法和手段;或者我们可以将“深度学习”称之为“改良版的神经网络”算法。深度学习又分为卷积神经网络(Convolutional neural networks,简称CNN)和深度置信网(Deep Belief Nets,简称DBN)。其主要的思想就是模拟人的神经元,每个神经元接受到信息,处理完后传递给与之相邻的所有神经元即可。

  总结:人工智能是一个很老的概念,机器学习是人工智能的一个子集,深度学习又是机器学习的一个子集。机器学习与深度学习都是需要大量数据来“喂”的,是大数据技术上的一个应用,同时深度学习还需要更高的运算能力支撑,如GPU。

   

 2.机器学习重要术语

 什么是(有监督的)机器学习?

  • ML 系统学习如何组合输入对从未见过的数据进行有用的预测。

什么是标签? 

  •    标签就是我们要预测的东西-即在线性回归中的y,变量标签可以是小麦的未来价格、图片中显示的动物种类、音频剪辑的含义,或者几乎任何东西。

什么是特征?

  •     特征是输入可变的x,简单线性回归变量。一个简单的机器学习项目可能使用单个特征,而更复杂的机器学习项目可能使用数百万个特征 

什么是模型?   

   模型定义了特征和标签之间的关系。例如,垃圾邮件检测模型可能会将某些特征与“垃圾邮件”密切相关。让我们强调模型生命的两个阶段:

  • 训练意味着创建或学习模型。也就是说,您将模型标记为示例,并使模型能够逐步学习特征和标签之间的关系。

  • 推理意味着将经过训练的模型应用于未标记的示例。也就是说,您使用经过训练的模型进行有用的预测 ( y')

回归 vs . 分类

一个回归模型预测连续值。例如,回归模型做出的预测可以回答如下问题:

  • 加州房子的价值是多少?

  • 用户点击该广告的概率是多少?

一个分类模型预测离散值。例如,分类模型做出回答如下问题的预测:

  • 给定的电子邮件是垃圾邮件还是非垃圾邮件?

  • 这是狗、猫还是仓鼠的图像?

 线性回归

1.1 什么是回归分析

回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。通常使用曲线/线来拟合数据点,目标是使曲线到数据点的距离差异最小。

1.2 线性回归

线性回归是回归问题中的一种,线性回归假设目标值与特征之间线性相关,即满足一个多元一次方程。通过构建损失函数,来求解损失函数最小时的参数w和b。通长我们可以表达成如下公式:

 

y^为预测值,自变量x和因变量y是已知的,而我们想实现的是预测新增一个x,其对应的y是多少。因此,为了构建这个函数关系,目标是通过已知数据点,求解线性模型中w和b两个参数。

 

1.3 目标/损失函数

求解最佳参数,需要一个标准来对结果进行衡量,为此我们需要定量化一个目标函数式,使得计算机可以在求解过程中不断地优化。

针对任何模型求解问题,都是最终都是可以得到一组预测值y^ ,对比已有的真实值 y ,数据行数为 n ,可以将损失函数定义如下:

即预测值与真实值之间的平均的平方距离,统计中一般称其为MAE(mean square error)均方误差。把之前的函数式代入损失函数,并且将需要求解的参数w和b看做是函数L的自变量,可得

现在的任务是求解最小化L时w和b的值,

即核心目标优化式为

求解方式:

1)梯度下降(gradient descent)

梯度下降核心内容是对自变量进行不断的更新(针对w和b求偏导),使得目标函数不断逼近最小值的过程

 

下面是线性回归的简单代码

import * as tfvis from '@tensorflow/tfjs-vis'
import * as tf from '@tensorflow/tfjs'
window.onload = async ()=>{

    const xs = [1,2,3,4];
    const ys = [1,3,5,7]

    tfvis.render.scatterplot(
        {name:'线性回归训练集'},
        {values: xs.map((x,i)=>({x,y:ys[i]}))},
        {xAxisDomain:[0,5],yAxisDomain:[0,8]},
    )
    //初始化模型
    // 连续的模型 这一层的输入一定是上一层的输出
    const model = tf.sequential()
    //添加一层 全链接层 x乘一个再加一个
    //1个神经元 dense线性回归常用的神经网络This layer implements the operation: output = activation(dot(input, kernel) + bias)
    model.add(tf.layers.dense({units:1,inputShape:[1]}))
    //设置损失函数均方误差 设置随机梯度下降的减少损失方法
    model.compile({loss:tf.losses.meanSquaredError,optimizer:tf.train.sgd(0.1)})
   
    //1.转化为tensor
    const inputs = tf.tensor(xs);
    const labels = tf.tensor(ys);

    await model.fit(inputs,labels,{
        batchSize: 4,
        epochs:200,
        callbacks:tfvis.show.fitCallbacks(
            {name: '训练过程'},
            //想看什么的图像 损失函数的
            ['loss']
            )
    })

    const output = model.predict(tf.tensor([5]))
    //转成数字
    alert('如果x为5,那么y为'+output.dataSync()[0])



}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值