机器学习笔记-1


前言

机器学习(Machine Learning, ML)是一门让计算机通过数据来自动学习和改进的技术。它的核心理念是通过分析大量的历史数据来找到其中的规律,并利用这些规律来做出预测或决策。机器学习已经广泛应用于图像识别、语音识别、自然语言处理、推荐系统等领域。


一、How to find a function

以youtube为例
根据过往播放量数据预测次日播放量数据
在这里插入图片描述
先进行猜测:
y=b+wx₁
y是今日总共观看的人数
x₁是昨天总共观看的人数
y是要预测的东西
b和w是未知的参数,是需要通过资料找出来的

这一整个带有未知参数的函数就叫做模型
The function with unknown parameters is called Model

二、Define Loss from Training Data

定义Loss
L(b,w)

在这里插入图片描述

Loss输出的值代表把L设定某一个数值时,这个数值好还是不好。
假设
L(0.5k,1)
y=b+wx₁
y=0.5k+1x₁

在这里插入图片描述

将数据代入进行计算再将预估结果与真实值进行比对
计算出差值e₁=|y-ŷ|

最终算出平均绝对误差(Mean Absolute Error)
最终得出的L越大说明设定从参数越不好,越小越好

例:
在这里插入图片描述

等高线图
越偏红L越大
越偏蓝L越小


三、Optimization

解决最佳化问题
找到最佳的w和b使L最小
在这里插入图片描述

Gradient Descent(梯度下降法)

在这里插入图片描述

假设未知参数只有一个
L随w不同的值形成一个曲线
随机选取一个初始的点
计算w与L的微分
当斜率为正将w增大,当斜率为负w减小
增大或减小多少取决于斜率大小与η(learning rate)
learning rate自行设定,设置大学习快设置小学习慢
需要自己设置的东西叫做hyperparameters

在这里插入图片描述

两个参数时
假设初始值w⁰,b⁰
计算w⁰和b⁰的微分
不断更新最后找到最优的w和b

例:

在这里插入图片描述

总结

三个步骤
在这里插入图片描述

以下是爬取某音评论区的 Python 代码: ```python import requests import json # 设置请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'} # 模拟登录并获取cookies session = requests.session() login_url = 'https://passport.xiaomi.com/oauth2/login' session.get(login_url, headers=headers) login_api = 'https://account.xiaomi.com/pass/serviceLoginAuth2?_json=true' post_data = { 'sid': 'passport.xiaomi.com', 'callback': 'https://www.xiaomiyoupin.com/callback', 'qs': '%3FredirectUrl%3Dhttps%253A%252F%252Fm.xiaomiyoupin.com%252Fcomment%252Flist%253FgoodsId%253D118280%2526pageIndex%253D1%2526pageSize%253D10', '_sign': 'yR4M%2Fq%2BMFbqzFYjxZyJ3n9yMx7M%3D', 'serviceParam': '{"checkSafePhone":false}', 'service': 'mipay', 'loginTime': '1629805765', 'showExtra': 'true', 'callbackUrl': 'https://www.xiaomiyoupin.com/callback', 'qsStamp': 'eyJpdiI6InRnWU9pV1B0NzJQcHRoV3h1Zll1TlE9PSIsInZhbHVlIjoiWnZPRjN0bGY1QWpCQng5UWtWc1p4Zz09IiwibWFjIjoiYTJhMzg1ZjdhZjIwNmYzYzk0ZGJmMDY1ZjhhODM3YjQ0MjBhNjQ3YzhlZjM2NzczZjhiZmE5OGJjYjczMjBjZSJ9', 'sidTimeout': '1h', '_json': 'true', 'qsToken': 'eyJpdiI6IjJiNTdUZ21haE1aZzZmQ0xlQXh4dEE9PSIsInZhbHVlIjoiYStGXC9WQzBtRmZ1NU1Wb0tqT1ZUZz09IiwibWFjIjoiYzY2NTk0MjRlNDg0ZmY0ODRmNzU1ZGEyNTUzNzAzNzIzOWUyMzgyMjYzYjlkNjQ2ZDQ1MmRjZjNiNTQ2ZjEyZCJ9', 'deviceId': 'c7b4f0e9-b9da-31da-9c77-9b15a6b64a14', 'pwdMethod': 'pwd', 'user': 'your_account', # 替换成你的账号 'hash': 'your_password' # 替换成你的密码 } session.post(login_api, headers=headers, data=post_data) # 获取评论列表 comment_url = 'https://m.xiaomiyoupin.com/comment/list?goodsId=118280&pageIndex=1&pageSize=10' response = session.get(comment_url, headers=headers) if response.status_code == 200: result = json.loads(response.text) comments = result['data']['list'] for comment in comments: print(comment['content']) else: print('获取评论失败') ``` 需要注意的是,这个代码中的 `your_account` 和 `your_password` 需要替换成你自己的某音账号和密码。同时,由于某音评论区需要登录才能访问,所以在代码中我们先模拟登录并获取 cookies,然后再通过 cookies 访问评论列表。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值