机器学习概述自用笔记(李宏毅)

机器学习概述

机器学习即找一个复杂的人类写不出来的函数,把输入(向量,矩阵,序列)转换为输出。

regression:输出是一个数值(预测PM2.5的数值)

classification:选择设置好的类别(是否为垃圾邮件)

structured Lenrning:生成一个有结构的东西

机器学习的三步

假设求今天视频订阅的人数和昨天视频订阅的人数之间有什么关系。

第一步 Function:先设置一个y=wx+b叫做模型

第二步 Define Loss:误差损失L(b,w)

y=wx+b

频道订阅L(0.5k,1)y=1x+0.5k计算出预测值和label的差值e

第三步 optimization(最佳化)看看代入哪个数值可以使Loss最小

gradient descent : Loss-w曲线选取一个随机的w0,计算出w=w0时L对W微分,如果为负数增加W,如果为正数减少W,η走的步长自己设置(hyperparameter)W1=W0-η*L对W微分

最大的问题时微分为0的时候即看作找到了最佳的点,但是容易为Local minima ,找不到global minima(这种方法为假义的)

这三部叫做Training,只是在已知的数据集合上面去预测,统计2017年到2020年的频道订阅有周期性的原因,只考虑前一天的误差L=0.48k,考虑七天的误差L=0.38k

w为斜率,b为截距,这个函数恒为直线,但是现实情况下不一定是直线,这种限制叫Model Bias, 我们需要更复杂的方程来做模型,用多条曲线相加去拟合原来的直线

但是很多情况下原来的变化曲线很复杂,要用多条曲线去拟合相加,导致模型很复杂。甚至是原来的完美数据变化图是曲线,要用Sigmoid Function去拟合。

所以原来的相加拟合可以用这个来表示

用θ表示所有的未知数,然后去一个θ0求出η,计算出θ1,然后利用batch不断迭代,

Sigmoid---->ReLU:

两个ReLU叠起来可以代替一个Hard Sigmoid

用很多Sigmoid和ReLU即可构成Neuron,多个Neuron可以构成Neuron Netw(神经元网络),这一整套技术叫做Deep Learning

层数过多会发生Overfitting,在测试数据上表现好,在预测数据上表述的差

相关推荐
凡人的AI工具箱5 分钟前
PyTorch深度学习框架60天进阶学习计划 - 第41天:生成对抗网络进阶(一)
人工智能·pytorch·python·深度学习·学习·生成对抗网络
爱的叹息7 分钟前
人工智能应用开发中常见的 工具、框架、平台 的分类、详细介绍及对比
人工智能·分类·数据挖掘
LIUDAN'S WORLD7 分钟前
YOLOv3实践教程:使用预训练模型进行目标检测
人工智能·深度学习·yolo·计算机视觉
OpenCSG9 分钟前
Kimi-VL:开源多模态视觉语言模型的崭新突破
人工智能·语言模型·自然语言处理
LIUDAN'S WORLD12 分钟前
YOLOv2 快速入门与核心概念:更快、更准的目标检测利器
人工智能·yolo·目标检测
zhaoyqcsdn13 分钟前
C++对象池设计:从高频`new/delete`到性能飞跃的工业级解决方案
c++·经验分享·笔记
_一条咸鱼_19 分钟前
AI 大模型的数据标注原理
人工智能·深度学习·面试
__Benco20 分钟前
OpenHarmony - 小型系统内核(LiteOS-A)(一)
人工智能·harmonyos
果冻人工智能23 分钟前
当AI开始相信其他AI的幻觉时,我们就完蛋了
人工智能
苏卫苏卫苏卫28 分钟前
【Vue】案例——To do list:
开发语言·前端·javascript·vue.js·笔记·list