【Python使用】嘿馬推薦系統全知識和項目開發教程第2篇:1.4 案例--基于協同過濾的電影推薦,1.5 推薦系統評估【附代碼

教程總體簡介:1.1 推薦系統簡介 學習目標 1 推薦系統概念及產生背景 2 推薦系統的工作原理及作用 3 推薦系統和Web項目的區別 1.3 推薦算法 1 推薦模型構建流程 2 最經典的推薦算法:協同過濾推薦算法(Collaborative Filtering) 3 相似度計算(Similarity Calculation) 4 協同過濾推薦算法代碼實現: 二 根據用戶行為數據創建ALS模型并召回商品 2.0 用戶行為數據拆分 2.1 預處理behavior_log數據集 2.2 根據用戶對類目偏好打分訓練ALS模型 三 CTR預估數據準備 3.1 分析并預處理raw_sample數據集 1.3 Hadoop優勢 4.4 大數據產品與互聯網產品結合 4.5 大數據應用--數據分析 4.6 數據分析案例 5.3 HBase 的安裝與Shell操作 1 HBase的安裝 2.3 HDFS設計思路 4.3 Hive 函數 1 內置運算符 2 內置函數 3 Hive 自定義函數和 Transform MapReduce實戰 3.3.1 利用MRJob編寫和運行MapReduce代碼 3.3.2 運行MRJOB的不同方式 3.3.3 mrjob 實現 topN統計(實驗) spark-core RDD常用算子練習 3.1 RDD 常用操作 3.2 RDD Transformation算子 3.4 Spark RDD兩類算子執行示意 3、JSON數據的處理 3.1 介紹 3.2 實踐 3.1 靜態json數據的讀取和操作 5.4 HappyBase操作Hbase 4.4 hive綜合案例 四 LR實現CTR預估 4.1 Spark邏輯回歸(LR)訓練點擊率預測模型 4、數據清洗 5.6 HBase組件 1、sparkStreaming概述 spark-core實戰 5.1通過spark實現ip地址查詢 五 離線推薦數據緩存 5.1離線數據緩存之離線召回集 1.4 案例--基于協同過濾的電影推薦 1 User-Based CF 預測電影評分 3 spark 安裝部署及standalone模式介紹 1 spark 安裝部署 3 spark 集群相關概念 六 實時產生推薦結果 6.1 推薦任務處理 推薦系統基礎 Hadoop Hive HBase Spark SQL 1.6 推薦系統的冷啟動問題 2 處理推薦系統冷啟動問題的常用方法 一 個性化電商廣告推薦系統介紹 1.2 項目效果展示 1.3 項目實現分析 1.4 點擊率預測(CTR--Click-Through-Rate)概念 資源調度框架 YARN 3.1.1 什么是YARN 3.1.2 YARN產生背景 3.1.3 YARN的架構和執行流程 基于回歸模型的協同過濾推薦 基于矩陣分解的CF算法 基于矩陣分解的CF算法實現(二):BiasSvd 基于內容的推薦算法(Content-Based) 基于內容的電影推薦:物品畫像 基于TF-IDF的特征提取技術 基于內容的電影推薦:為用戶產生TOP-N推薦結果 2、DataFrame 分布式處理框架 MapReduce 3.2.1 什么是MapReduce

完整筆記資料代碼:https://gitee.com/yinuo112/Backend/tree/master/Python/嘿馬推薦系統全知識和項目開發教程/note.md

感興趣的小伙伴可以自取哦~


全套教程部分目錄:


部分文件圖片:

1.4 案例--基于協同過濾的電影推薦

學習目標

  • 應用基于用戶的協同過濾實現電影評分預測
  • 應用基于物品的協同過濾實現電影評分預測

1 User-Based CF 預測電影評分

  • 數據集下載

  • 下載地址:[MovieLens Latest Datasets Small](

  • 建議下載[ml-latest-small.zip](

  • 加載ratings.csv,轉換為用戶-電影評分矩陣并計算用戶之間相似度

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import osimport pandas as pd
import numpy as npDATA_PATH = "./datasets/ml-latest-small/ratings.csv"dtype = {"userId": np.int32, "movieId": np.int32, "rating": np.float32}# 加載數據,我們只用前三列數據,分別是用戶ID,電影ID,已經用戶對電影的對應評分ratings = pd.read_csv(data_path, dtype=dtype, usecols=range(3))# 透視表,將電影ID轉換為列名稱,轉換成為一個User-Movie的評分矩陣ratings_matrix = ratings.pivot_table(index=["userId"], columns=["movieId"],values="rating")#計算用戶之間相似度user_similar = ratings_matrix.T.corr()
  • 預測用戶對物品的評分 (以用戶1對電影1評分為例)

評分公式

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 1. 找出uid用戶的相似用戶similar_users = user_similar[1].drop([1]).dropna()# 相似用戶篩選規則:正相關的用戶similar_users = similar_users.where(similar_users>0).dropna()# 2. 從用戶1的近鄰相似用戶中篩選出對物品1有評分記錄的近鄰用戶ids = set(ratings_matrix[1].dropna().index)&set(similar_users.index)
finally_similar_users = similar_users.ix[list(1)]# 3. 結合uid用戶與其近鄰用戶的相似度預測uid用戶對iid物品的評分numerator = 0    # 評分預測公式的分子部分的值
denominator = 0    # 評分預測公式的分母部分的值
for sim_uid, similarity in finally_similar_users.iteritems():# 近鄰用戶的評分數據sim_user_rated_movies = ratings_matrix.ix[sim_uid].dropna()# 近鄰用戶對iid物品的評分sim_user_rating_for_item = sim_user_rated_movies[1]# 計算分子的值numerator += similarity * sim_user_rating_for_item# 計算分母的值denominator += similarity# 4 計算預測的評分值predict_rating = numerator/denominator
print("預測出用戶<%d>對電影<%d>的評分:%0.2f" % (1, 1, predict_rating))
  • 封裝成方法 預測任意用戶對任意電影的評分
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def predict(uid, iid, ratings_matrix, user_similar):
    '''
    預測給定用戶對給定物品的評分值
    :param uid: 用戶ID
    :param iid: 物品ID
    :param ratings_matrix: 用戶-物品評分矩陣
    :param user_similar: 用戶兩兩相似度矩陣
    :return: 預測的評分值
    '''print("開始預測用戶<%d>對電影<%d>的評分..."%(uid, iid))# 1. 找出uid用戶的相似用戶similar_users = user_similar[uid].drop([uid]).dropna()# 相似用戶篩選規則:正相關的用戶similar_users = similar_users.where(similar_users>0).dropna()if similar_users.empty is True:raise Exception("用戶<%d>沒有相似的用戶" % uid)# 2. 從uid用戶的近鄰相似用戶中篩選出對iid物品有評分記錄的近鄰用戶ids = set(ratings_matrix[iid].dropna().index)&set(similar_users.index)finally_similar_users = similar_users.ix[list(ids)]# 3. 結合uid用戶與其近鄰用戶的相似度預測uid用戶對iid物品的評分numerator = 0    # 評分預測公式的分子部分的值denominator = 0    # 評分預測公式的分母部分的值for sim_uid, similarity in finally_similar_users.iteritems():# 近鄰用戶的評分數據sim_user_rated_movies = ratings_matrix.ix[sim_uid].dropna()# 近鄰用戶對iid物品的評分sim_user_rating_for_item = sim_user_rated_movies[iid]# 計算分子的值numerator += similarity * sim_user_rating_for_item# 計算分母的值denominator += similarity# 計算預測的評分值并返回predict_rating = numerator/denominatorprint("預測出用戶<%d>對電影<%d>的評分:%0.2f" % (uid, iid, predict_rating))return round(predict_rating, 2)
  • 為某一用戶預測所有電影評分
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def predict_all(uid, ratings_matrix, user_similar):
    '''
    預測全部評分
    :param uid: 用戶id
    :param ratings_matrix: 用戶-物品打分矩陣
    :param user_similar: 用戶兩兩間的相似度
    :return: 生成器,逐個返回預測評分
    '''# 準備要預測的物品的id列表item_ids = ratings_matrix.columns# 逐個預測for iid in item_ids:try:rating = predict(uid, iid, ratings_matrix, user_similar)except Exception as e:print(e)else:yield uid, iid, rating
if __name__ == '__main__':for i in predict_all(1, ratings_matrix, user_similar):pass
  • 根據評分為指定用戶推薦topN個電影
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def top_k_rs_result(k):results = predict_all(1, ratings_matrix, user_similar)return sorted(results, key=lambda x: x[2], reverse=True)[:k]
if __name__ == '__main__':from pprint import pprintresult = top_k_rs_result(20)pprint(result)

2 Item-Based CF 預測電影評分

  • 加載ratings.csv,轉換為用戶-電影評分矩陣并計算用戶之間相似度
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import osimport pandas as pd
import numpy as npDATA_PATH = "./datasets/ml-latest-small/ratings.csv"dtype = {"userId": np.int32, "movieId": np.int32, "rating": np.float32}# 加載數據,我們只用前三列數據,分別是用戶ID,電影ID,已經用戶對電影的對應評分ratings = pd.read_csv(data_path, dtype=dtype, usecols=range(3))# 透視表,將電影ID轉換為列名稱,轉換成為一個User-Movie的評分矩陣ratings_matrix = ratings.pivot_table(index=["userId"], columns=["movieId"],values="rating")#計算用戶之間相似度item_similar = ratings_matrix.corr()
  • 預測用戶對物品的評分 (以用戶1對電影1評分為例)

評分公式

 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# 1. 找出iid物品的相似物品similar_items = item_similar[1].drop([1]).dropna()# 相似物品篩選規則:正相關的物品similar_items = similar_items.where(similar_items>0).dropna()# 2. 從iid物品的近鄰相似物品中篩選出uid用戶評分過的物品ids = set(ratings_matrix.ix[1].dropna().index)&set(similar_items.index)
finally_similar_items = similar_items.ix[list(ids)]# 3. 結合iid物品與其相似物品的相似度和uid用戶對其相似物品的評分,預測uid對iid的評分numerator = 0    # 評分預測公式的分子部分的值
denominator = 0    # 評分預測公式的分母部分的值
for sim_iid, similarity in finally_similar_items.iteritems():# 近鄰物品的評分數據sim_item_rated_movies = ratings_matrix[sim_iid].dropna()# 1用戶對相似物品物品的評分sim_item_rating_from_user = sim_item_rated_movies[1]# 計算分子的值numerator += similarity * sim_item_rating_from_user# 計算分母的值denominator += similarity# 計算預測的評分值并返回predict_rating = sum_up/sum_down
print("預測出用戶<%d>對電影<%d>的評分:%0.2f" % (uid, iid, predict_rating))
  • 封裝成方法 預測任意用戶對任意電影的評分
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def predict(uid, iid, ratings_matrix, user_similar):
    '''
    預測給定用戶對給定物品的評分值
    :param uid: 用戶ID
    :param iid: 物品ID
    :param ratings_matrix: 用戶-物品評分矩陣
    :param user_similar: 用戶兩兩相似度矩陣
    :return: 預測的評分值
    '''print("開始預測用戶<%d>對電影<%d>的評分..."%(uid, iid))# 1. 找出uid用戶的相似用戶similar_users = user_similar[uid].drop([uid]).dropna()# 相似用戶篩選規則:正相關的用戶similar_users = similar_users.where(similar_users>0).dropna()if similar_users.empty is True:raise Exception("用戶<%d>沒有相似的用戶" % uid)# 2. 從uid用戶的近鄰相似用戶中篩選出對iid物品有評分記錄的近鄰用戶ids = set(ratings_matrix[iid].dropna().index)&set(similar_users.index)finally_similar_users = similar_users.ix[list(ids)]# 3. 結合uid用戶與其近鄰用戶的相似度預測uid用戶對iid物品的評分numerator = 0    # 評分預測公式的分子部分的值denominator = 0    # 評分預測公式的分母部分的值for sim_uid, similarity in finally_similar_users.iteritems():# 近鄰用戶的評分數據sim_user_rated_movies = ratings_matrix.ix[sim_uid].dropna()# 近鄰用戶對iid物品的評分sim_user_rating_for_item = sim_user_rated_movies[iid]# 計算分子的值numerator += similarity * sim_user_rating_for_item# 計算分母的值denominator += similarity# 計算預測的評分值并返回predict_rating = numerator/denominatorprint("預測出用戶<%d>對電影<%d>的評分:%0.2f" % (uid, iid, predict_rating))return round(predict_rating, 2)
  • 為某一用戶預測所有電影評分
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def predict_all(uid, ratings_matrix, item_similar):
    '''
    預測全部評分
    :param uid: 用戶id
    :param ratings_matrix: 用戶-物品打分矩陣
    :param item_similar: 物品兩兩間的相似度
    :return: 生成器,逐個返回預測評分
    '''# 準備要預測的物品的id列表item_ids = ratings_matrix.columns# 逐個預測for iid in item_ids:try:rating = predict(uid, iid, ratings_matrix, item_similar)except Exception as e:print(e)else:yield uid, iid, ratingif __name__ == '__main__':for i in predict_all(1, ratings_matrix, item_similar):pass
  • 根據評分為指定用戶推薦topN個電影
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
def top_k_rs_result(k):results = predict_all(1, ratings_matrix, item_similar)return sorted(results, key=lambda x: x[2], reverse=True)[:k]
if __name__ == '__main__':from pprint import pprintresult = top_k_rs_result(20)pprint(result)

3

1.5 推薦系統評估

學習目標

  • 了解推薦系統的常用評估指標
  • 了解推薦系統的評估方法

1 推薦系統的評估指標

  • 好的推薦系統可以實現用戶, 服務提供方, 內容提供方的共贏

  • 評估數據來源顯示反饋和隱式反饋
顯式反饋隱式反饋
  • 常用評估指標

? 準確性 ? 信任度 ? 滿意度 ? 實時性 ? 覆蓋率 ? 魯棒性 ? 多樣性 ? 可擴展性 ? 新穎性 ? 商業?標 ? 驚喜度 ? ?戶留存

  • 準確性 (理論角度) Netflix 美國錄像帶租賃

    • 評分預測

      • RMSE MAE
    • topN推薦

      • 召回率 精準率
  • 準確性 (業務角度)

  • 覆蓋度

    • 信息熵 對于推薦越大越好
    • 覆蓋率
  • 多樣性&新穎性&驚喜性

    • 多樣性:推薦列表中兩兩物品的不相似性。(相似性如何度量?
    • 新穎性:未曾關注的類別、作者;推薦結果的平均流?度
    • 驚喜性:歷史不相似(驚)但很滿意(喜)
    • 往往需要犧牲準確性
    • 使?歷史?為預測?戶對某個物品的喜愛程度
    • 系統過度強調實時性
  • Exploitation & Exploration 探索與利用問題

    • Exploitation(開發 利用):選擇現在可能最佳的?案
    • Exploration(探測 搜索):選擇現在不確定的?些?案,但未來可能會有?收益的?案
    • 在做兩類決策的過程中,不斷更新對所有決策的不確定性的認知,優化 長期的?標
  • EE問題實踐

    • 興趣擴展: 相似話題, 搭配推薦
    • 人群算法: userCF 用戶聚類
    • 平衡個性化推薦和熱門推薦比例
    • 隨機丟棄用戶行為歷史
    • 隨機擾動模型參數
  • EE可能帶來的問題

    • 探索傷害用戶體驗, 可能導致用戶流失
    • 探索帶來的長期收益(留存率)評估周期長, KPI壓力大
    • 如何平衡實時興趣和長期興趣
    • 如何平衡短期產品體驗和長期系統生態
    • 如何平衡大眾口味和小眾需求

2 推薦系統評估方法

  • 評估方法

  • 問卷調查: 成本高

  • 離線評估:

    • 只能在用戶看到過的候選集上做評估, 且跟線上真實效果存在偏差
    • 只能評估少數指標
    • 速度快, 不損害用戶體驗
  • 在線評估: 灰度發布 & A/B測試 50% 全量上線

  • 實踐: 離線評估和在線評估結合, 定期做問卷調查

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/74526.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/74526.shtml
英文地址,請注明出處:http://en.pswp.cn/web/74526.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

運算放大器(五)電壓比較器

比較器在最常用的簡單集成電路中排名第二&#xff0c;僅次于排名第一的運算放大器。 電壓比較器是一種用來比較輸入信號電壓與參考電壓大小&#xff0c;并將比較結果以高電平或低電平形式輸出的一種信號處理電路&#xff0c;廣泛應用于各種非正弦波的產生和變換電路中&#xf…

Java面試黃金寶典34

1. 主鍵索引底層的實現原理 定義 主鍵索引是數據庫中用于唯一標識表中每一行記錄的索引&#xff0c;常見的底層實現是 B 樹結構。B 樹是一種平衡的多路搜索樹&#xff0c;由內部節點和葉子節點組成。內部節點只存儲索引鍵和指向下一層節點的指針&#xff0c;不存儲實際數據&am…

Educational Codeforces Round 177 (Rated for Div. 2)

Educational Codeforces Round 177 (Rated for Div. 2) A. Cloudberry Jam 思路&#xff1a; 1千克果子能生產2/3千克果醬&#xff0c;生產3千克果醬則需要2千克果醬&#xff0c;所以*2即可 code: void solve() { int x; cin >> x;cout << 2 * x << e…

ARM-外部中斷,ADC模數轉換器

根據您提供的圖片&#xff0c;我們可以看到一個S3C2440微控制器的中斷處理流程圖。這個流程圖展示了從中斷請求源到CPU的整個中斷處理過程。以下是流程圖中各個部分與您提供的寄存器之間的關系&#xff1a; 請求源&#xff08;帶sub寄存器&#xff09;&#xff1a; 這些是具體的…

23種設計模式-行為型模式-迭代器

文章目錄 簡介問題解決代碼設計關鍵點&#xff1a; 總結 簡介 迭代器是一種行為設計模式&#xff0c;讓你能在不暴露集合底層表現形式(列表、棧和樹等)的情況下遍歷集合中所有的元素。 問題 集合是編程中最常使用的數據類型之一。 大部分集合使用簡單列表存儲元素。但有些集…

Python 布爾類型

Python 布爾類型(Boolean) 布爾類型是Python中的基本數據類型之一&#xff0c;用于表示邏輯值。它只有兩個值&#xff1a; True - 表示真False - 表示假 1. 布爾值的基本使用 # 定義布爾變量 is_active True is_admin Falseprint(is_active) # 輸出: True print(is_admi…

人工智能在前端開發中的應用探索

一、人工智能在前端開發中的應用場景 人工智能&#xff08;AI&#xff09;技術的快速發展為前端開發帶來了新的機遇和挑戰。AI在前端開發中的應用主要集中在以下幾個方面&#xff1a;智能代碼生成、自動化測試、個性化推薦、智能交互設計以及性能優化。這些應用場景不僅提高了…

三維掃描助力文化遺產數字化保護

當下&#xff0c;三維掃描技術以其獨特的優勢&#xff0c;正逐漸成為文化遺產數字化保護的重要工具&#xff0c;讓珍貴的文物得以“永生”。 三維掃描在文物數字化方面的應用&#xff1a; 高精度文物存檔&#xff1a;三維掃描技術能夠實現對文物的快速、無損掃描&#xff0c;…

如何將生活場景轉換為數據模型模型仿真?

從家到公司有31公里&#xff0c;其中有一個2車道右轉立交橋匯入另外一條路&#xff0c;每次都是那個堵車&#xff0c;導致路上的行程在45分鐘到70分鐘左右&#xff1f;前面或后面路段都是3-4車道&#xff0c;足夠通行。如何解決這個難題&#xff0c;是否可搭建數學模型實現可視…

Java學習總結-io流-練習案例

將文檔的內容排序&#xff1a; public static void main(String[] args) throws IOException {File dir new File("J:\\360downloads\\wpcache\\srvsetwp\\xxx\\test.txt");BufferedReader br new BufferedReader(new FileReader(dir));//把按行讀取到的內容&#…

【C++】STL庫_stack_queue 的模擬實現

棧&#xff08;Stack&#xff09;、隊列&#xff08;Queue&#xff09;是C STL中的經典容器適配器 容器適配器特性 不是獨立容器&#xff0c;依賴底層容器&#xff08;deque/vector/list&#xff09;通過限制基礎容器接口實現特定訪問模式不支持迭代器操作&#xff08;無法遍歷…

LangChain核心解析:掌握AI開發的“鏈“式思維

0. 思維導圖 1. 引言 ?? 在人工智能快速發展的今天,如何有效地利用大語言模型(LLM)構建強大的應用成為眾多開發者關注的焦點。前面的課程中,我們學習了正則表達式以及向量數據庫的相關知識,了解了如何處理文檔并將其附加給大模型。本章我們將深入探討LangChain中的核心概…

Error:java: 程序包lombok不存在

使用Maven package打包項目發現報錯 一、Maven配置文件修改 1.找到本地 maven的配置文件settings.xml 2.修改配置文件中&#xff0c;指向本地倉庫的地址使用 ‘’ \ \ ‘’ 隔開&#xff0c; 要么使用 正斜線 / 隔開 不要使用 反斜線 \ windows OS 電腦&#xff0c;使用 \ …

WordPress 未授權本地文件包含漏洞(CVE-2025-2294)(附腳本)

免責申明: 本文所描述的漏洞及其復現步驟僅供網絡安全研究與教育目的使用。任何人不得將本文提供的信息用于非法目的或未經授權的系統測試。作者不對任何由于使用本文信息而導致的直接或間接損害承擔責任。如涉及侵權,請及時與我們聯系,我們將盡快處理并刪除相關內容。 0x0…

基于 C# 開發視覺檢測系統項目全解析

引言 在當今高度自動化的制造業領域,視覺檢測系統的重要性愈發凸顯。它憑借高速、高精度的特性,在產品外觀缺陷檢測、尺寸測量等環節發揮著關鍵作用,顯著提升了生產效率和產品質量。C# 作為一種功能強大且易于學習的編程語言,結合.NET 框架豐富的類庫以及 Windows Forms、…

GISBox:核心功能免費的一站式三維GIS處理平臺

大家好&#xff0c;今天為大家介紹的軟件是GISBox&#xff1a;一款核心功能免費的一站式三維GIS處理平臺&#xff0c;主要是適用于數字孿生。下面&#xff0c;我們將從軟件的主要功能、支持的系統、軟件官網等方面對其進行簡單的介紹。 軟件官網&#xff1a;http://www.gisbox.…

Ubuntu 24 云服務器上部署網站_詳細版_1

從零開始&#xff0c;在 Ubuntu 24 云服務器上部署一個支持登錄和權限的網站&#xff0c;用 Python Django 實現&#xff0c;適合新手跟著操作。 &#x1f527; 第一步&#xff1a;更新服務器并安裝基礎環境 請使用 SSH 登錄你的 Ubuntu 24 云服務器&#xff08;用 MobaXterm…

單片機學習之定時器

定時器是用來定時的機器&#xff0c;是存在于STM32單片機中的一個外設。STM32一般總共有8個定時器&#xff0c;分別是2個高級定時器&#xff08;TIM1、TIM8&#xff09;&#xff0c;4個通用定時器&#xff08;TIM2、TIM3、TIM4、TIM5&#xff09;和2個基本定時器&#xff08;TI…

AIGC6——AI的哲學困境:主體性、認知邊界與“天人智一“的再思考

引言&#xff1a;當機器開始"思考" 2023年&#xff0c;Google工程師Blake Lemoine聲稱對話AI LaMDA具有"自我意識"&#xff0c;引發軒然大波。這一事件將古老的哲學問題重新拋回公眾視野&#xff1a;?**機器能否擁有主體性&#xff1f;**從東方"天人…

從內核到應用層:Linux緩沖機制與語言緩沖區的協同解析

系列文章目錄 文章目錄 系列文章目錄前言一、緩沖區1.1 示例11.2 緩沖區的概念 二、緩沖區刷新方案三、緩沖區的作用及存儲 前言 上篇我們介紹了&#xff0c;文件的重定向操作以及文件描述符的概念&#xff0c;今天我們再來學習一個和文件相關的知識-----------用戶緩沖區。 在…