Commit d7d30198 authored by 段英荣's avatar 段英荣

modify linucb

parent 21b3863b
...@@ -102,18 +102,21 @@ class LinUCB: ...@@ -102,18 +102,21 @@ class LinUCB:
redis_key = redis_prefix + str(device_id) redis_key = redis_prefix + str(device_id)
ori_redis_tag_dict = redis_cli.hget(redis_key, tag_id) ori_redis_tag_dict = redis_cli.hget(redis_key, tag_id)
new_Aa_matrix = ori_redis_tag_dict["Aa"] + np.dot(xa, xaT) if not ori_redis_tag_dict:
new_AaI_matrix = np.linalg.solve(new_Aa_matrix, np.identity(cls.d)) LinUCB.init_device_id_linucb_info(redis_client, redis_prefix, device_id,[tag_id])
new_ba_matrix = ori_redis_tag_dict["ba"] + r*xa else:
new_Aa_matrix = ori_redis_tag_dict["Aa"] + np.dot(xa, xaT)
user_tag_dict = { new_AaI_matrix = np.linalg.solve(new_Aa_matrix, np.identity(cls.d))
"Aa": new_Aa_matrix, new_ba_matrix = ori_redis_tag_dict["ba"] + r*xa
"ba": new_ba_matrix,
"AaI": new_AaI_matrix, user_tag_dict = {
"theta": np.dot(new_AaI_matrix, new_ba_matrix) "Aa": new_Aa_matrix,
} "ba": new_ba_matrix,
"AaI": new_AaI_matrix,
redis_cli.hset(redis_key, tag_id, user_tag_dict) "theta": np.dot(new_AaI_matrix, new_ba_matrix)
}
redis_cli.hset(redis_key, tag_id, user_tag_dict)
return True return True
except: except:
logging.error("catch exception,err_msg:%s" % traceback.format_exc()) logging.error("catch exception,err_msg:%s" % traceback.format_exc())
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment